UNPKG

vulcain-corejs

Version:
43 lines (41 loc) 1.59 kB
"use strict"; const preloader_1 = require('../preloader'); require('reflect-metadata'); function Model(options) { return function (target) { options = options || {}; options.name = options.name || target.name; const sym = Symbol.for("design:model"); Reflect.defineMetadata(sym, options, target); preloader_1.Preloader.instance.registerModel(target, (container, domain) => domain.addSchemaDescription(target, options.name)); }; } exports.Model = Model; function Property(info) { return (target, key) => { const symProperties = Symbol.for("design:properties"); var properties = Reflect.getOwnMetadata(symProperties, target) || {}; properties[key] = info; Reflect.defineMetadata(symProperties, properties, target); }; } exports.Property = Property; function Validator(name, info) { return (target, key) => { const symValidators = Symbol.for("design:validators"); var validators = Reflect.getOwnMetadata(symValidators, target, key) || []; validators.push({ name: name, info: info }); Reflect.defineMetadata(symValidators, validators, target, key); }; } exports.Validator = Validator; function Reference(info) { return (target, key) => { const symReferences = Symbol.for("design:references"); var properties = Reflect.getOwnMetadata(symReferences, target) || {}; properties[key] = info; Reflect.defineMetadata(symReferences, properties, target); }; } exports.Reference = Reference; //# sourceMappingURL=annotations.js.map