relax-orm
Version:
ORM for OracleDB
44 lines • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var mapperCahe = {};
function getMapper(metaData, colInfos) {
var cacheKey = JSON.stringify(metaData);
if (!mapperCahe[cacheKey]) {
var mapper_1 = {};
metaData.forEach(function (data, idx) {
mapper_1[idx] = colInfos.rowNameMap[data.name];
});
mapperCahe[cacheKey] = mapper_1;
}
return mapperCahe[cacheKey];
}
function mapResult(colInfos, result, entityRef) {
if (!result.rows) {
return undefined;
}
if (!result.metaData) {
throw new Error('metaData error');
}
var mapper = getMapper(result.metaData, colInfos);
var persisteds = [];
var _loop_1 = function (row) {
if (!(Array.isArray(row))) {
var p_1 = new entityRef(row);
persisteds.push(p_1);
return "continue";
}
var mappedValue = {};
row.forEach(function (col, idx) {
mappedValue[mapper[idx]] = col;
});
var p = new entityRef(mappedValue);
persisteds.push(p);
};
for (var _i = 0, _a = result.rows; _i < _a.length; _i++) {
var row = _a[_i];
_loop_1(row);
}
return persisteds;
}
exports.mapResult = mapResult;
//# sourceMappingURL=mapper.js.map