UNPKG

ts-ioc-container

Version:
22 lines (21 loc) 806 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.decorate = exports.DecoratorProvider = void 0; const IProvider_1 = require("./IProvider"); const ProviderPipe_1 = require("./ProviderPipe"); class DecoratorProvider extends IProvider_1.ProviderDecorator { provider; decorateFn; constructor(provider, decorateFn) { super(provider); this.provider = provider; this.decorateFn = decorateFn; } resolve(scope, options) { const dependency = this.provider.resolve(scope, options); return this.decorateFn(dependency, scope); } } exports.DecoratorProvider = DecoratorProvider; const decorate = (decorateFn) => (0, ProviderPipe_1.registerPipe)((p) => new DecoratorProvider(p, decorateFn)); exports.decorate = decorate;