UNPKG

@tsed/common

Version:
62 lines 2.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ParamMetadata = void 0; const tslib_1 = require("tslib"); const core_1 = require("@tsed/core"); const schema_1 = require("@tsed/schema"); let ParamMetadata = class ParamMetadata extends schema_1.JsonEntityStore { constructor(options) { super(options); this.pipes = []; const { expression, paramType, pipes } = options; this.expression = expression || this.expression; this.paramType = paramType || this.paramType; this.pipes = pipes || []; } /** * Return the JsonOperation */ get parameter() { return this._parameter; } get service() { return this.paramType; } set service(service) { this.paramType = service; } static get(target, propertyKey, index) { return schema_1.JsonEntityStore.from(core_1.prototypeOf(target), propertyKey, index); } static getParams(target, propertyKey) { const params = []; const klass = core_1.ancestorsOf(target) .reverse() .find((target) => schema_1.JsonEntityStore.fromMethod(target, propertyKey).children.size); if (!klass) { return []; } schema_1.JsonEntityStore.fromMethod(klass, propertyKey).children.forEach((param, index) => { params[+index] = param; }); return params; } }; tslib_1.__decorate([ core_1.Enumerable(), tslib_1.__metadata("design:type", String) ], ParamMetadata.prototype, "expression", void 0); tslib_1.__decorate([ core_1.Enumerable(), tslib_1.__metadata("design:type", String) ], ParamMetadata.prototype, "paramType", void 0); tslib_1.__decorate([ core_1.Enumerable(), tslib_1.__metadata("design:type", Array) ], ParamMetadata.prototype, "pipes", void 0); ParamMetadata = tslib_1.__decorate([ schema_1.JsonEntityComponent(core_1.DecoratorTypes.PARAM), tslib_1.__metadata("design:paramtypes", [Object]) ], ParamMetadata); exports.ParamMetadata = ParamMetadata; //# sourceMappingURL=ParamMetadata.js.map