UNPKG

tsioc

Version:

tsioc is AOP, Ioc container, via typescript decorator

63 lines (62 loc) 1.61 kB
import { Joinpoint, JoinpointState } from '../joinpoints/index'; import { Advicer } from '../advices/index'; /** * advice advisor chain factory for proxy method invoke. * * @export * @interface IAdvisorChainFactory */ export interface IAdvisorChainFactory { /** * get advices config. * * @param {string} adviceType * @returns {Advicer[]} * @memberof IAdvisorChainFactory */ getAdvicers(adviceType: string): Advicer[]; /** * invoke advives via state. * * @param {Joinpoint} joinPoint * @param {JoinpointState} state * @param {*} [valueOrthrowing] * @memberof IAdvisorChainFactory */ invoaction(joinPoint: Joinpoint, state: JoinpointState, valueOrthrowing?: any): void; /** * invoke before advices. * * @param {Joinpoint} joinPoint * @memberof IAdvisorChainFactory */ before(joinPoint: Joinpoint): void; /** * invoke pointcut advives. * * @param {Joinpoint} joinPoint * @memberof IAdvisorChainFactory */ pointcut(joinPoint: Joinpoint): void; /** * invoke after advives. * * @param {Joinpoint} joinPoint * @memberof IAdvisorChainFactory */ after(joinPoint: Joinpoint): void; /** * invoke throwing advives. * * @param {Joinpoint} joinPoint * @memberof IAdvisorChainFactory */ afterThrowing(joinPoint: Joinpoint): void; /** * invoke returning advives. * * @param {Joinpoint} joinPoint * @memberof IAdvisorChainFactory */ afterReturning(joinPoint: Joinpoint): void; }