postgrejs
Version:
Professional PostgreSQL client NodeJS
41 lines (40 loc) • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ArrayJsonType = exports.JsonType = void 0;
const constants_js_1 = require("../constants.js");
exports.JsonType = {
name: 'json',
oid: constants_js_1.DataTypeOIDs.json,
jsType: 'string',
parseBinary(v, options) {
const content = v.toString('utf8');
const fetchAsString = options.fetchAsString &&
options.fetchAsString.includes(constants_js_1.DataTypeOIDs.jsonb);
if (fetchAsString)
return content;
return content ? JSON.parse(content) : undefined;
},
encodeText(v) {
if (typeof v === 'object' || typeof v === 'bigint')
return JSON.stringify(v);
if (typeof v === 'boolean')
return v ? 'true' : 'false';
return '' + v;
},
parseText(v, options) {
const fetchAsString = options.fetchAsString &&
options.fetchAsString.includes(constants_js_1.DataTypeOIDs.jsonb);
if (fetchAsString)
return v;
return v ? JSON.parse(v) : null;
},
isType(v) {
return v && typeof v === 'object';
},
};
exports.ArrayJsonType = {
...exports.JsonType,
name: '_json',
oid: constants_js_1.DataTypeOIDs._json,
elementsOID: constants_js_1.DataTypeOIDs.json,
};