UNPKG

1.73 kBTypeScriptView Raw
1import { Emitter } from 'strict-event-emitter';
2import { UnhandledRequestStrategy } from './utils/request/onUnhandledRequest.js';
3
4interface SharedOptions {
5 /**
6 * Specifies how to react to a request that has no corresponding
7 * request handler. Warns on unhandled requests by default.
8 *
9 * @example worker.start({ onUnhandledRequest: 'bypass' })
10 * @example worker.start({ onUnhandledRequest: 'warn' })
11 * @example server.listen({ onUnhandledRequest: 'error' })
12 */
13 onUnhandledRequest?: UnhandledRequestStrategy;
14}
15type LifeCycleEventsMap = {
16 'request:start': [
17 args: {
18 request: Request;
19 requestId: string;
20 }
21 ];
22 'request:match': [
23 args: {
24 request: Request;
25 requestId: string;
26 }
27 ];
28 'request:unhandled': [
29 args: {
30 request: Request;
31 requestId: string;
32 }
33 ];
34 'request:end': [
35 args: {
36 request: Request;
37 requestId: string;
38 }
39 ];
40 'response:mocked': [
41 args: {
42 response: Response;
43 request: Request;
44 requestId: string;
45 }
46 ];
47 'response:bypass': [
48 args: {
49 response: Response;
50 request: Request;
51 requestId: string;
52 }
53 ];
54 unhandledException: [
55 args: {
56 error: Error;
57 request: Request;
58 requestId: string;
59 }
60 ];
61};
62type LifeCycleEventEmitter<EventsMap extends Record<string | symbol, any>> = Pick<Emitter<EventsMap>, 'on' | 'removeListener' | 'removeAllListeners'>;
63
64export type { LifeCycleEventEmitter, LifeCycleEventsMap, SharedOptions };