@@ -25,9 +25,26 @@ const processArray = (value, arrayFormattingRule = false) => {
2525 }
2626 return stringArray ;
2727} ;
28+ const wrapValue = value => {
29+ let resultValue = '\'' ;
30+
31+ for ( let i = 0 ; i < value . length ; i ++ ) {
32+ const char = value [ i ] ;
33+ if ( char === '\'' ) {
34+ resultValue += char + char ;
35+ } else if ( char === '\\' ) {
36+ resultValue += char + char ;
37+ } else {
38+ resultValue += char ;
39+ }
40+ }
41+
42+ resultValue += '\'' ;
43+ return resultValue ;
44+ } ;
2845
2946const escapeValue = ( value , type ) => {
30- let literal = '' ;
47+ let strVal = '' ;
3148
3249 if ( value === undefined || value === null ) { // eslint-disable-line no-undefined
3350 return 'NULL' ;
@@ -42,28 +59,12 @@ const escapeValue = (value, type) => {
4259 } else if ( Array . isArray ( value ) === true ) {
4360 return processArray ( value , type ) ;
4461 } else if ( value === Object ( value ) ) {
45- literal = JSON . stringify ( value ) ;
62+ strVal = JSON . stringify ( value ) ;
4663 } else {
47- // create copy
48- literal = value . toString ( ) . slice ( 0 ) ;
64+ strVal = value . toString ( ) . slice ( 0 ) ;
4965 }
5066
51- let resultValue = '\'' ;
52-
53- for ( let i = 0 ; i < literal . length ; i ++ ) {
54- const char = literal [ i ] ;
55- if ( char === '\'' ) {
56- resultValue += char + char ;
57- } else if ( char === '\\' ) {
58- resultValue += char + char ;
59- } else {
60- resultValue += char ;
61- }
62- }
63-
64- resultValue += '\'' ;
65-
66- return resultValue ;
67+ return wrapValue ( strVal ) ;
6768} ;
6869
6970module . exports = ( query , params ) => {
0 commit comments