interceptor-manager.ts 664 B

123456789101112131415
  1. interface BasicInterceptor {
  2. getId: () => string,
  3. isInterceptWhen: (contextName: string) => boolean,
  4. isProcessableParallel: () => boolean,
  5. process: (contextName: string, args: any) => Promise<any>
  6. }
  7. export interface IInterceptorManager {
  8. interceptorAndOrders: {interceptor: BasicInterceptor, order: number}[],
  9. interceptors: BasicInterceptor[],
  10. addInterceptor: (inerceptor: BasicInterceptor, order: number) => void,
  11. addInterceptors: (inerceptors: BasicInterceptor[], order: number) => void,
  12. process: (contextName: string, args: any) => Promise<void>,
  13. doProcess: (inerceptor: BasicInterceptor, contextName: string, args: any) => Promise<void>
  14. }