@@ -40,19 +40,18 @@ SqlString.escape = function escape(val, stringifyObjects, timeZone) {
40
40
case 'number' : return val + '' ;
41
41
case 'object' :
42
42
if ( val instanceof Date ) {
43
- val = SqlString . dateToString ( val , timeZone || 'local' ) ;
43
+ return SqlString . dateToString ( val , timeZone || 'local' ) ;
44
44
} else if ( Array . isArray ( val ) ) {
45
45
return SqlString . arrayToList ( val , timeZone ) ;
46
46
} else if ( Buffer . isBuffer ( val ) ) {
47
47
return SqlString . bufferToString ( val ) ;
48
48
} else if ( stringifyObjects ) {
49
- val = val . toString ( ) ;
49
+ return escapeString ( val . toString ( ) ) ;
50
50
} else {
51
51
return SqlString . objectToValues ( val , timeZone ) ;
52
52
}
53
+ default : return escapeString ( val ) ;
53
54
}
54
-
55
- return escapeString ( val ) ;
56
55
} ;
57
56
58
57
SqlString . arrayToList = function arrayToList ( array , timeZone ) {
@@ -111,6 +110,10 @@ SqlString.format = function format(sql, values, stringifyObjects, timeZone) {
111
110
SqlString . dateToString = function dateToString ( date , timeZone ) {
112
111
var dt = new Date ( date ) ;
113
112
113
+ if ( isNaN ( dt . getTime ( ) ) ) {
114
+ return 'NULL' ;
115
+ }
116
+
114
117
var year ;
115
118
var month ;
116
119
var day ;
@@ -144,9 +147,11 @@ SqlString.dateToString = function dateToString(date, timeZone) {
144
147
}
145
148
146
149
// YYYY-MM-DD HH:mm:ss.mmm
147
- return zeroPad ( year , 4 ) + '-' + zeroPad ( month , 2 ) + '-' + zeroPad ( day , 2 ) + ' ' +
150
+ var str = zeroPad ( year , 4 ) + '-' + zeroPad ( month , 2 ) + '-' + zeroPad ( day , 2 ) + ' ' +
148
151
zeroPad ( hour , 2 ) + ':' + zeroPad ( minute , 2 ) + ':' + zeroPad ( second , 2 ) + '.' +
149
152
zeroPad ( millisecond , 3 ) ;
153
+
154
+ return escapeString ( str ) ;
150
155
} ;
151
156
152
157
SqlString . bufferToString = function bufferToString ( buffer ) {
0 commit comments