diff --git a/lib/textParsers.js b/lib/textParsers.js index 85e60f86..bfb23bab 100644 --- a/lib/textParsers.js +++ b/lib/textParsers.js @@ -3,7 +3,8 @@ var arrayParser = require(__dirname + "/arrayParser.js"); //parses PostgreSQL server formatted date strings into javascript date objects var parseDate = function(isoDate) { //TODO this could do w/ a refactor - var dateMatcher = /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})(\.\d{1,})?/; + var dateMatcher = + /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})(\.\d{1,})?/; var match = dateMatcher.exec(isoDate); //could not parse date @@ -37,7 +38,8 @@ var parseDate = function(isoDate) { if(tZone) { var type = tZone[1]; switch(type) { - case 'Z': break; + case 'Z': + break; case '-': tzAdjust = -(((parseInt(tZone[2],10)*60)+(parseInt(tZone[3]||0,10)))); break; @@ -69,7 +71,7 @@ var parseIntegerArray = function(val) { } return entry; }); - + return p.parse(); }; @@ -81,13 +83,13 @@ var parseFloatArray = function(val) { } return entry; }); - + return p.parse(); }; var parseStringArray = function(val) { if(!val) { return null; } - + var p = arrayParser.create(val); return p.parse(); }; @@ -98,7 +100,9 @@ var YEAR = NUM + '\\s+years?'; var MON = NUM + '\\s+mons?'; var DAY = NUM + '\\s+days?'; var TIME = '([+-])?(\\d\\d):(\\d\\d):(\\d\\d)'; -var INTERVAL = [YEAR,MON,DAY,TIME].map(function(p){ return "("+p+")?"; }).join('\\s*'); +var INTERVAL = [YEAR,MON,DAY,TIME].map(function(p){ + return "("+p+")?"; +}).join('\\s*'); var parseInterval = function(val) { if (!val) { return {}; } @@ -111,14 +115,14 @@ var parseInterval = function(val) { if (m[10]) { i.minutes = parseInt(m[10], 10); } if (m[11]) { i.seconds = parseInt(m[11], 10); } if (m[8] == '-'){ - if (i.hours) { i.hours *= -1; } - if (i.minutes) { i.minutes *= -1; } - if (i.seconds) { i.seconds *= -1; } + if (i.hours) { i.hours *= -1; } + if (i.minutes) { i.minutes *= -1; } + if (i.seconds) { i.seconds *= -1; } } for (var field in i){ - if (i[field] === 0) { - delete i[field]; - } + if (i[field] === 0) { + delete i[field]; + } } return i; }; @@ -159,36 +163,38 @@ var parseInteger = function(val) { }; var init = function(register) { - register(20, parseInteger); - register(21, parseInteger); - register(23, parseInteger); - register(26, parseInteger); - register(1700, function(val){ - if(val.length > maxLen) { - console.warn('WARNING: value %s is longer than max supported numeric value in javascript. Possible data loss', val); - } - return parseFloat(val); - }); - register(700, parseFloat); - register(701, parseFloat); - register(16, parseBool); - register(1082, parseDate); // date - register(1114, parseDate); // timestamp without timezone - register(1184, parseDate); // timestamp - register(1005, parseIntegerArray); // _int2 - register(1007, parseIntegerArray); // _int4 - register(1016, parseIntegerArray); // _int8 - register(1021, parseFloatArray); // _float4 - register(1022, parseFloatArray); // _float8 - register(1231, parseIntegerArray); // _numeric - register(1014, parseStringArray); //char - register(1015, parseStringArray); //varchar - register(1008, parseStringArray); - register(1009, parseStringArray); - register(1186, parseInterval); - register(17, parseByteA); + register(20, parseInteger); + register(21, parseInteger); + register(23, parseInteger); + register(26, parseInteger); + register(1700, function(val){ + if(val.length > maxLen) { + console.warn( + 'WARNING: value %s is longer than max supported numeric value in ' + + 'javascript. Possible data loss', val); + } + return parseFloat(val); + }); + register(700, parseFloat); + register(701, parseFloat); + register(16, parseBool); + register(1082, parseDate); // date + register(1114, parseDate); // timestamp without timezone + register(1184, parseDate); // timestamp + register(1005, parseIntegerArray); // _int2 + register(1007, parseIntegerArray); // _int4 + register(1016, parseIntegerArray); // _int8 + register(1021, parseFloatArray); // _float4 + register(1022, parseFloatArray); // _float8 + register(1231, parseIntegerArray); // _numeric + register(1014, parseStringArray); //char + register(1015, parseStringArray); //varchar + register(1008, parseStringArray); + register(1009, parseStringArray); + register(1186, parseInterval); + register(17, parseByteA); }; module.exports = { - init: init + init: init };