UNPKG

@sqb/connect

Version:

Multi-dialect database connection framework written with TypeScript

29 lines (28 loc) 1.05 kB
import _ from 'lodash'; export 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, _.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 || (ColumnFieldMetadata = {}));