UNPKG

@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
"use strict"; 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