UNPKG

postgrejs

Version:

Professional PostgreSQL client NodeJS

41 lines (40 loc) 1.33 kB
"use strict"; 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, };