UNPKG

postgrejs

Version:

Professional PostgreSQL client NodeJS

35 lines (34 loc) 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.wrapRowDescription = wrapRowDescription; const constants_js_1 = require("../constants.js"); function wrapRowDescription(typeMap, fields, columnFormat) { return fields.map((f, idx) => { const cf = Array.isArray(columnFormat) ? columnFormat[idx] : columnFormat; const x = { fieldName: f.fieldName, tableId: f.tableId, columnId: f.columnId, dataTypeId: f.dataTypeId, dataTypeName: constants_js_1.DataTypeNames[f.dataTypeId] || '', jsType: cf === constants_js_1.DataFormat.binary ? 'Buffer' : 'string', }; x.isArray = x.dataTypeName.startsWith('_'); if (x.isArray) { x.elementDataTypeName = x.dataTypeName.substring(1); for (const oid of Object.keys(constants_js_1.DataTypeNames)) { if (constants_js_1.DataTypeNames[oid] === x.elementDataTypeName) x.elementDataTypeId = parseInt(oid, 10); } } if (f.fixedSize && f.fixedSize > 0) x.fixedSize = f.fixedSize; if (f.modifier && f.modifier > 0) x.modifier = f.modifier; const reg = typeMap.get(x.dataTypeId); if (reg) { x.jsType = reg.jsType; } return x; }); }