Merge pull request #501 from lalitkapoor/GH-452
improve support for int arrays and float arrays
This commit is contained in:
commit
ff8fb616f6
@ -89,9 +89,24 @@ var parseIntegerArray = function(val) {
|
|||||||
return p.parse();
|
return p.parse();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var parseBigIntegerArray = function(val) {
|
||||||
|
if(!val) { return null; }
|
||||||
|
var p = arrayParser.create(val, function(entry){
|
||||||
|
if(entry !== null) {
|
||||||
|
entry = parseBigInteger(entry).trim();
|
||||||
|
}
|
||||||
|
return entry;
|
||||||
|
});
|
||||||
|
|
||||||
|
return p.parse();
|
||||||
|
};
|
||||||
|
|
||||||
var parseFloatArray = function(val) {
|
var parseFloatArray = function(val) {
|
||||||
if(!val) { return null; }
|
if(!val) { return null; }
|
||||||
var p = arrayParser.create(val, function(entry) {
|
var p = arrayParser.create(val, function(entry) {
|
||||||
|
if(entry !== null) {
|
||||||
|
entry = parseFloat(entry);
|
||||||
|
}
|
||||||
return entry;
|
return entry;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -202,7 +217,7 @@ var init = function(register) {
|
|||||||
register(1184, parseDate); // timestamp
|
register(1184, parseDate); // timestamp
|
||||||
register(1005, parseIntegerArray); // _int2
|
register(1005, parseIntegerArray); // _int2
|
||||||
register(1007, parseIntegerArray); // _int4
|
register(1007, parseIntegerArray); // _int4
|
||||||
register(1016, parseIntegerArray); // _int8
|
register(1016, parseBigIntegerArray); // _int8
|
||||||
register(1021, parseFloatArray); // _float4
|
register(1021, parseFloatArray); // _float4
|
||||||
register(1022, parseFloatArray); // _float8
|
register(1022, parseFloatArray); // _float8
|
||||||
register(1231, parseFloatArray); // _numeric
|
register(1231, parseFloatArray); // _numeric
|
||||||
|
@ -197,6 +197,51 @@ test('typed results', function() {
|
|||||||
expected :function(val){
|
expected :function(val){
|
||||||
assert.deepEqual(val, [1.2,3.4]);
|
assert.deepEqual(val, [1.2,3.4]);
|
||||||
}
|
}
|
||||||
|
},{
|
||||||
|
name : 'array/int2',
|
||||||
|
format : 'text',
|
||||||
|
dataTypeID: 1005,
|
||||||
|
actual: '{-32768, -32767, 32766, 32767}',
|
||||||
|
expected :function(val){
|
||||||
|
assert.deepEqual(val, [-32768, -32767, 32766, 32767]);
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
name : 'array/int4',
|
||||||
|
format : 'text',
|
||||||
|
dataTypeID: 1007,
|
||||||
|
actual: '{-2147483648, -2147483647, 2147483646, 2147483647}',
|
||||||
|
expected :function(val){
|
||||||
|
assert.deepEqual(val, [-2147483648, -2147483647, 2147483646, 2147483647]);
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
name : 'array/int8',
|
||||||
|
format : 'text',
|
||||||
|
dataTypeID: 1016,
|
||||||
|
actual: '{-9223372036854775808, -9223372036854775807, 9223372036854775806, 9223372036854775807}',
|
||||||
|
expected :function(val){
|
||||||
|
assert.deepEqual(val, [
|
||||||
|
'-9223372036854775808',
|
||||||
|
'-9223372036854775807',
|
||||||
|
'9223372036854775806',
|
||||||
|
'9223372036854775807'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
name : 'array/float4',
|
||||||
|
format : 'text',
|
||||||
|
dataTypeID: 1021,
|
||||||
|
actual: '{1.2, 3.4}',
|
||||||
|
expected :function(val){
|
||||||
|
assert.deepEqual(val, [1.2, 3.4]);
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
name : 'array/float8',
|
||||||
|
format : 'text',
|
||||||
|
dataTypeID: 1022,
|
||||||
|
actual: '{-12345678.1234567, 12345678.12345678}',
|
||||||
|
expected :function(val){
|
||||||
|
assert.deepEqual(val, [-12345678.1234567, 12345678.12345678]);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user