UNPKG

sipp

Version:

An Opinionated, High-Productivity MVC Web Framework in TypeScript

30 lines 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Provide = exports.withParamProviding = void 0; const ServiceRegistry_1 = require("../framework/services/ServiceRegistry"); function withParamProviding(fn, target, key) { return async function () { let types = Reflect.getMetadata('design:paramtypes', target, key) || []; if (!types.length) { return fn.apply(this, arguments); } const realArgs = []; for (let i = 0, n = types.length; i < n; i++) { const Type = types[i]; const param = Type === Object || arguments[i] instanceof Type ? arguments[i] : await ServiceRegistry_1.registry.resolve(target, types[i]); realArgs.push(param); } return fn.call(this, ...realArgs); }; } exports.withParamProviding = withParamProviding; const Provide = () => { return (target, key, descriptor) => { descriptor.value = withParamProviding(descriptor.value, target, key); return descriptor; }; }; exports.Provide = Provide; //# sourceMappingURL=Provide.js.map