Skip to content

Commit 28f6a42

Browse files
authored
fix: type the return of createEventHandler (#422)
1 parent d3df9f3 commit 28f6a42

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

src/event-handler/index.ts

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,35 @@
1+
import type {
2+
EmitterAnyEvent,
3+
EmitterEventName,
4+
EmitterWebhookEvent,
5+
HandlerFunction,
6+
Options,
7+
State,
8+
WebhookEventHandlerError,
9+
} from "../types";
110
import {
211
receiverOn as on,
312
receiverOnAny as onAny,
413
receiverOnError as onError,
514
} from "./on";
615
import { receiverHandle as receive } from "./receive";
716
import { removeListener } from "./remove-listener";
8-
import { Options, State } from "../types";
917

10-
export function createEventHandler(options: Options<any>) {
18+
interface EventHandler<TTransformed = unknown> {
19+
on<E extends EmitterEventName>(
20+
event: E | E[],
21+
callback: HandlerFunction<E, TTransformed>
22+
): void;
23+
onAny(handler: (event: EmitterAnyEvent) => any): void;
24+
onError(handler: (event: WebhookEventHandlerError) => any): void;
25+
removeListener<E extends EmitterEventName>(
26+
event: E | E[],
27+
callback: HandlerFunction<E, TTransformed>
28+
): void;
29+
receive(event: EmitterWebhookEvent): Promise<void>;
30+
}
31+
32+
export function createEventHandler(options: Options<any>): EventHandler {
1133
const state: State = {
1234
hooks: {},
1335
};

0 commit comments

Comments
 (0)