UNPKG

ts-ioc-container

Version:
17 lines (16 loc) 582 B
import { ProviderDecorator } from './IProvider'; import { registerPipe } from './ProviderPipe'; export class DecoratorProvider extends 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); } } export const decorate = (decorateFn) => registerPipe((p) => new DecoratorProvider(p, decorateFn));