@@ -3,7 +3,8 @@ var arrayParser = require(__dirname + "/arrayParser.js");
3
3
//parses PostgreSQL server formatted date strings into javascript date objects
4
4
var parseDate = function ( isoDate ) {
5
5
//TODO this could do w/ a refactor
6
- var dateMatcher = / ( \d { 4 } ) - ( \d { 2 } ) - ( \d { 2 } ) ( \d { 2 } ) : ( \d { 2 } ) : ( \d { 2 } ) ( \. \d { 1 , } ) ? / ;
6
+ var dateMatcher =
7
+ / ( \d { 4 } ) - ( \d { 2 } ) - ( \d { 2 } ) ( \d { 2 } ) : ( \d { 2 } ) : ( \d { 2 } ) ( \. \d { 1 , } ) ? / ;
7
8
8
9
var match = dateMatcher . exec ( isoDate ) ;
9
10
//could not parse date
@@ -37,7 +38,8 @@ var parseDate = function(isoDate) {
37
38
if ( tZone ) {
38
39
var type = tZone [ 1 ] ;
39
40
switch ( type ) {
40
- case 'Z' : break ;
41
+ case 'Z' :
42
+ break ;
41
43
case '-' :
42
44
tzAdjust = - ( ( ( parseInt ( tZone [ 2 ] , 10 ) * 60 ) + ( parseInt ( tZone [ 3 ] || 0 , 10 ) ) ) ) ;
43
45
break ;
@@ -69,7 +71,7 @@ var parseIntegerArray = function(val) {
69
71
}
70
72
return entry ;
71
73
} ) ;
72
-
74
+
73
75
return p . parse ( ) ;
74
76
} ;
75
77
@@ -81,13 +83,13 @@ var parseFloatArray = function(val) {
81
83
}
82
84
return entry ;
83
85
} ) ;
84
-
86
+
85
87
return p . parse ( ) ;
86
88
} ;
87
89
88
90
var parseStringArray = function ( val ) {
89
91
if ( ! val ) { return null ; }
90
-
92
+
91
93
var p = arrayParser . create ( val ) ;
92
94
return p . parse ( ) ;
93
95
} ;
@@ -98,7 +100,9 @@ var YEAR = NUM + '\\s+years?';
98
100
var MON = NUM + '\\s+mons?' ;
99
101
var DAY = NUM + '\\s+days?' ;
100
102
var TIME = '([+-])?(\\d\\d):(\\d\\d):(\\d\\d)' ;
101
- var INTERVAL = [ YEAR , MON , DAY , TIME ] . map ( function ( p ) { return "(" + p + ")?" ; } ) . join ( '\\s*' ) ;
103
+ var INTERVAL = [ YEAR , MON , DAY , TIME ] . map ( function ( p ) {
104
+ return "(" + p + ")?" ;
105
+ } ) . join ( '\\s*' ) ;
102
106
103
107
var parseInterval = function ( val ) {
104
108
if ( ! val ) { return { } ; }
@@ -111,14 +115,14 @@ var parseInterval = function(val) {
111
115
if ( m [ 10 ] ) { i . minutes = parseInt ( m [ 10 ] , 10 ) ; }
112
116
if ( m [ 11 ] ) { i . seconds = parseInt ( m [ 11 ] , 10 ) ; }
113
117
if ( m [ 8 ] == '-' ) {
114
- if ( i . hours ) { i . hours *= - 1 ; }
115
- if ( i . minutes ) { i . minutes *= - 1 ; }
116
- if ( i . seconds ) { i . seconds *= - 1 ; }
118
+ if ( i . hours ) { i . hours *= - 1 ; }
119
+ if ( i . minutes ) { i . minutes *= - 1 ; }
120
+ if ( i . seconds ) { i . seconds *= - 1 ; }
117
121
}
118
122
for ( var field in i ) {
119
- if ( i [ field ] === 0 ) {
120
- delete i [ field ] ;
121
- }
123
+ if ( i [ field ] === 0 ) {
124
+ delete i [ field ] ;
125
+ }
122
126
}
123
127
return i ;
124
128
} ;
@@ -159,36 +163,38 @@ var parseInteger = function(val) {
159
163
} ;
160
164
161
165
var init = function ( register ) {
162
- register ( 20 , parseInteger ) ;
163
- register ( 21 , parseInteger ) ;
164
- register ( 23 , parseInteger ) ;
165
- register ( 26 , parseInteger ) ;
166
- register ( 1700 , function ( val ) {
167
- if ( val . length > maxLen ) {
168
- console . warn ( 'WARNING: value %s is longer than max supported numeric value in javascript. Possible data loss' , val ) ;
169
- }
170
- return parseFloat ( val ) ;
171
- } ) ;
172
- register ( 700 , parseFloat ) ;
173
- register ( 701 , parseFloat ) ;
174
- register ( 16 , parseBool ) ;
175
- register ( 1082 , parseDate ) ; // date
176
- register ( 1114 , parseDate ) ; // timestamp without timezone
177
- register ( 1184 , parseDate ) ; // timestamp
178
- register ( 1005 , parseIntegerArray ) ; // _int2
179
- register ( 1007 , parseIntegerArray ) ; // _int4
180
- register ( 1016 , parseIntegerArray ) ; // _int8
181
- register ( 1021 , parseFloatArray ) ; // _float4
182
- register ( 1022 , parseFloatArray ) ; // _float8
183
- register ( 1231 , parseIntegerArray ) ; // _numeric
184
- register ( 1014 , parseStringArray ) ; //char
185
- register ( 1015 , parseStringArray ) ; //varchar
186
- register ( 1008 , parseStringArray ) ;
187
- register ( 1009 , parseStringArray ) ;
188
- register ( 1186 , parseInterval ) ;
189
- register ( 17 , parseByteA ) ;
166
+ register ( 20 , parseInteger ) ;
167
+ register ( 21 , parseInteger ) ;
168
+ register ( 23 , parseInteger ) ;
169
+ register ( 26 , parseInteger ) ;
170
+ register ( 1700 , function ( val ) {
171
+ if ( val . length > maxLen ) {
172
+ console . warn (
173
+ 'WARNING: value %s is longer than max supported numeric value in ' +
174
+ 'javascript. Possible data loss' , val ) ;
175
+ }
176
+ return parseFloat ( val ) ;
177
+ } ) ;
178
+ register ( 700 , parseFloat ) ;
179
+ register ( 701 , parseFloat ) ;
180
+ register ( 16 , parseBool ) ;
181
+ register ( 1082 , parseDate ) ; // date
182
+ register ( 1114 , parseDate ) ; // timestamp without timezone
183
+ register ( 1184 , parseDate ) ; // timestamp
184
+ register ( 1005 , parseIntegerArray ) ; // _int2
185
+ register ( 1007 , parseIntegerArray ) ; // _int4
186
+ register ( 1016 , parseIntegerArray ) ; // _int8
187
+ register ( 1021 , parseFloatArray ) ; // _float4
188
+ register ( 1022 , parseFloatArray ) ; // _float8
189
+ register ( 1231 , parseIntegerArray ) ; // _numeric
190
+ register ( 1014 , parseStringArray ) ; //char
191
+ register ( 1015 , parseStringArray ) ; //varchar
192
+ register ( 1008 , parseStringArray ) ;
193
+ register ( 1009 , parseStringArray ) ;
194
+ register ( 1186 , parseInterval ) ;
195
+ register ( 17 , parseByteA ) ;
190
196
} ;
191
197
192
198
module . exports = {
193
- init : init
199
+ init : init
194
200
} ;
0 commit comments