UNPKG

@tsed/cli-core

Version:
28 lines (27 loc) 936 B
import { __decorate } from "tslib"; import { Injectable, injector } from "@tsed/di"; let CliHooks = class CliHooks { async emit(hookName, cmd, ...args) { const inj = injector(); const providers = inj.getProviders(); let results = []; for (const provider of providers) { if (provider.useClass) { const instance = inj.get(provider.token); if (provider.store.has(hookName)) { const props = provider.store.get(hookName)[cmd]; if (props) { for (const propertyKey of props) { results = results.concat(await instance[propertyKey](...args)); } } } } } return results.filter((o) => o !== undefined); } }; CliHooks = __decorate([ Injectable() ], CliHooks); export { CliHooks };