UNPKG

1.3 kBTypeScriptView Raw
1import { FabRequestResponder, PluginMetadata, FabFileMetadata, FabMetadata, FabRequestResponderWithParams } from '@fab/core';
2import { FabCache, FABServerContext, ResponseInterceptor } from './types';
3export declare enum Priority {
4 LAST = 0,
5 LATER = 1,
6 MIDDLE = 2,
7 EARLY = 3,
8 FIRST = 4
9}
10export declare type FabPluginRuntime = (Runtime: FABRuntime) => void;
11export declare class FABRouter {
12 private pipeline;
13 constructor();
14 getPipeline(): FabRequestResponder[];
15 addToPipeline(responder: FabRequestResponder, priority?: Priority): void;
16 on(route: string, responder: FabRequestResponderWithParams, priority?: Priority): void;
17 onAll(responder: FabRequestResponder, priority?: Priority): void;
18 interceptResponse(interceptor: ResponseInterceptor, priority?: Priority): void;
19}
20export declare class FABRuntime<T extends PluginMetadata = PluginMetadata> {
21 Metadata: T;
22 FileMetadata: FabFileMetadata;
23 Router: FABRouter;
24 Cache: FabCache;
25 ServerContext: FABServerContext;
26 constructor(metadata: T, file_metadata: FabFileMetadata, context: FABServerContext);
27 static initialize(metadata: FabMetadata, plugins: FabPluginRuntime[], context: FABServerContext): FABRuntime<PluginMetadata<{}>>;
28 getPipeline(): FabRequestResponder[];
29}