UNPKG

@sqb/connect

Version:

Multi-dialect database connection framework written with TypeScript

33 lines (32 loc) 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ColumnFieldMetadata = void 0; const tslib_1 = require("tslib"); const lodash_1 = tslib_1.__importDefault(require("lodash")); var ColumnFieldMetadata; (function (ColumnFieldMetadata) { function create(entity, name, options = {}) { const result = { kind: 'column', entity, name, fieldName: name, }; if (options) ColumnFieldMetadata.assign(result, options); return result; } ColumnFieldMetadata.create = create; function assign(target, options) { Object.assign(target, lodash_1.default.omit(options, ['entity', 'name', 'kind'])); } ColumnFieldMetadata.assign = assign; function checkEnumValue(col, v) { if (v === undefined || !col.enum || (v == null && !col.notNull)) return; const enumKeys = Array.isArray(col.enum) ? col.enum : Object.keys(col.enum); if (!enumKeys.includes(v)) throw new Error(`${col.entity.name}.${col.name} value must be one of (${enumKeys})`); } ColumnFieldMetadata.checkEnumValue = checkEnumValue; })(ColumnFieldMetadata || (exports.ColumnFieldMetadata = ColumnFieldMetadata = {}));