nestjs-express-cassandra
Version:
Express-cassandra module for Nest framework
44 lines (43 loc) • 2.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addEntityColumn = exports.setEntityColumns = exports.getEntityColumns = exports.addEntityOptions = exports.setEntityOptions = exports.getEntityOptions = exports.setEntityName = exports.getEntityMetadata = exports.setEntityMetadata = void 0;
const lodash_1 = require("lodash");
const constants_1 = require("../constants");
function setEntityMetadata(target, entity) {
Reflect.defineMetadata(constants_1.ENTITY_METADATA_KEY, entity, target);
}
exports.setEntityMetadata = setEntityMetadata;
function getEntityMetadata(target) {
return Reflect.getMetadata(constants_1.ENTITY_METADATA_KEY, target);
}
exports.getEntityMetadata = getEntityMetadata;
function setEntityName(target, name) {
Reflect.defineMetadata(constants_1.ENTITY_NAME_KEY, name, target);
}
exports.setEntityName = setEntityName;
function getEntityOptions(target) {
return Reflect.getMetadata(constants_1.ENTITY_OPTIONS_KEY, target);
}
exports.getEntityOptions = getEntityOptions;
function setEntityOptions(target, options) {
Reflect.defineMetadata(constants_1.ENTITY_OPTIONS_KEY, Object.assign({}, options), target);
}
exports.setEntityOptions = setEntityOptions;
function addEntityOptions(target, options) {
const prev = getEntityOptions(target) || {};
setEntityOptions(target, (0, lodash_1.merge)(prev, options));
}
exports.addEntityOptions = addEntityOptions;
function getEntityColumns(target) {
return Reflect.getMetadata(constants_1.ENTITY_COLUMNS_KEY, target);
}
exports.getEntityColumns = getEntityColumns;
function setEntityColumns(target, attrs) {
Reflect.defineMetadata(constants_1.ENTITY_COLUMNS_KEY, Object.assign({}, attrs), target);
}
exports.setEntityColumns = setEntityColumns;
function addEntityColumn(target, name, options) {
const attrs = getEntityColumns(target);
setEntityColumns(target, Object.assign(Object.assign({}, attrs), { [name]: options }));
}
exports.addEntityColumn = addEntityColumn;