UNPKG

ts-convict

Version:

Model style decorators for your convict config.

28 lines (27 loc) 1.02 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Property = exports.Config = void 0; const Reflector_1 = __importDefault(require("./Reflector")); function Config(opts = {}) { return (constructor) => { Reflector_1.default.setConvictMetaForClass(opts, constructor); }; } exports.Config = Config; function Property(schemaObj) { return (target, propertyName) => { if (typeof schemaObj === "object" && typeof schemaObj.format === "undefined") { const tsType = Reflector_1.default.getTsType(target, propertyName); if (tsType) { schemaObj.format = tsType; } } Reflector_1.default.setConvictMetaForProperty(schemaObj, target, propertyName); Reflector_1.default.setPropertyForClass(target, propertyName); }; } exports.Property = Property;