UNPKG

pims

Version:

An ORM for document-oriented database systems, written in and for TypeScript.

30 lines 1.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const model_1 = require("./model"); function Column(info) { return (target, key, descriptor) => { let computed = false; if (descriptor) { if (!descriptor.get) { throw new Error('Cannot apply column decorator to methods'); } computed = true; } const columnInfo = Object.assign({ modelKey: String(key), key: String(key), tags: [], computed }, info); const modelInfo = model_1.createModelInfo(target.constructor, { columns: [columnInfo], tags: new Map(columnInfo.tags.map(tag => [ tag, new Set([columnInfo.key]), ])), }); columnInfo.secondary && modelInfo.indexes.push({ name: columnInfo.key, keys: [columnInfo.key], }); columnInfo.primary && (modelInfo.primaryKey = columnInfo.key); }; } exports.Column = Column; //# sourceMappingURL=column.js.map