yuken 3 лет назад
Родитель
Сommit
830bacd490

+ 3 - 2
packages/app/src/interfaces/global.ts

@@ -1,4 +1,5 @@
-import InterceptorManager from '~/services/interceptor-manager';
 import Xss from '~/services/xss';
 
-export type CustomWindow = Window & typeof globalThis & { xss: Xss } & { interceptorManager: InterceptorManager };
+import { IInterceptorManager } from './interceptor-manager';
+
+export type CustomWindow = Window & typeof globalThis & { xss: Xss } & { interceptorManager: IInterceptorManager };

+ 12 - 0
packages/app/src/interfaces/interceptor-manager.ts

@@ -0,0 +1,12 @@
+interface BasicInterceptor {
+  isInterceptWhen: (contextName: string) => boolean,
+  isProcessableParallel: () => boolean,
+  process: (contextName: string, args: any) => Promise<any>
+}
+
+export interface IInterceptorManager {
+  addInterceptor: (inerceptor: BasicInterceptor, order: number) => void,
+  addInterceptors: (inerceptors: BasicInterceptor[], order: number) => void,
+  process: (contextName: string, args: any) => void,
+  doProcess: (inerceptor: BasicInterceptor, contextName: string, args: any) => void
+}