postgrejs
Version:
Professional PostgreSQL client NodeJS
35 lines (34 loc) • 1.37 kB
JavaScript
;
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;
});
}