postgrejs
Version:
Professional PostgreSQL client NodeJS
26 lines (25 loc) • 646 B
JavaScript
import { DataTypeOIDs } from '../constants.js';
import { fastParseInt } from '../util/fast-parseint.js';
export const Int4Type = {
name: 'int4',
oid: DataTypeOIDs.int4,
jsType: 'number',
parseBinary(v) {
return v.readInt32BE(0);
},
encodeBinary(buf, v) {
buf.writeInt32BE(fastParseInt(v));
},
parseText: fastParseInt,
isType(v) {
return (typeof v === 'number' &&
Number.isInteger(v) &&
v <= Number.MAX_SAFE_INTEGER);
},
};
export const ArrayInt4Type = {
...Int4Type,
name: '_int4',
oid: DataTypeOIDs._int4,
elementsOID: DataTypeOIDs.int4,
};