@cyber-rom/nestjs-scylladb
Version:
Based on https://www.npmjs.com/package/@ouato/nestjs-express-cassandra With support columns name mapping
46 lines • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformQuery = exports.transformQuerySelect = exports.transformKey = void 0;
const decorator_utils_1 = require("./decorator.utils");
function transformKey(target, key) {
if (!target || !(target && typeof target === 'function') || !key) {
return key;
}
const mapper = (0, decorator_utils_1.getColumnsMapper)(new target());
if (!mapper) {
return key;
}
return mapper[key] || key;
}
exports.transformKey = transformKey;
function transformQuerySelect(target, select) {
if (!target || !(target && typeof target === 'function') || !select) {
return select;
}
const mapper = (0, decorator_utils_1.getColumnsMapper)(new target());
if (!mapper) {
return select;
}
return select.map((key) => mapper[key] || key);
}
exports.transformQuerySelect = transformQuerySelect;
function transformQuery(target, query) {
if (!target || !(target && typeof target === 'function') || !query) {
return query;
}
const mapper = (0, decorator_utils_1.getColumnsMapper)(new target());
if (!mapper) {
return query;
}
for (const key of Object.keys(query)) {
const column = mapper[key] || key;
if (column === key) {
continue;
}
query[column] = query[key];
delete query[key];
}
return query;
}
exports.transformQuery = transformQuery;
//# sourceMappingURL=transform-query.utils.js.map