Skip to content

Commit fe822ff

Browse files
authored
Export action and event handler types (#987)
The `ActionHandler`, `EventHandler` and related types were previously not exported. We use these in `snaps-monorepo`, but currently have to copy them over.
1 parent 4dbce9e commit fe822ff

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

packages/base-controller/src/ControllerMessenger.ts

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,40 @@
1-
type ActionHandler<Action, ActionType> = (
1+
export type ActionHandler<Action, ActionType> = (
22
...args: ExtractActionParameters<Action, ActionType>
33
) => ExtractActionResponse<Action, ActionType>;
4-
type ExtractActionParameters<Action, T> = Action extends {
4+
export type ExtractActionParameters<Action, T> = Action extends {
55
type: T;
66
handler: (...args: infer H) => any;
77
}
88
? H
99
: never;
10-
type ExtractActionResponse<Action, T> = Action extends {
10+
export type ExtractActionResponse<Action, T> = Action extends {
1111
type: T;
1212
handler: (...args: any) => infer H;
1313
}
1414
? H
1515
: never;
1616

17-
type ExtractEventHandler<Event, T> = Event extends { type: T; payload: infer P }
17+
export type ExtractEventHandler<Event, T> = Event extends {
18+
type: T;
19+
payload: infer P;
20+
}
1821
? P extends unknown[]
1922
? (...payload: P) => void
2023
: never
2124
: never;
22-
type ExtractEventPayload<Event, T> = Event extends { type: T; payload: infer P }
25+
export type ExtractEventPayload<Event, T> = Event extends {
26+
type: T;
27+
payload: infer P;
28+
}
2329
? P
2430
: never;
2531

26-
type GenericEventHandler = (...args: unknown[]) => void;
32+
export type GenericEventHandler = (...args: unknown[]) => void;
2733

28-
type SelectorFunction<Args extends unknown[], ReturnValue> = (
34+
export type SelectorFunction<Args extends unknown[], ReturnValue> = (
2935
...args: Args
3036
) => ReturnValue;
31-
type SelectorEventHandler<SelectorReturnValue> = (
37+
export type SelectorEventHandler<SelectorReturnValue> = (
3238
newValue: SelectorReturnValue,
3339
previousValue: SelectorReturnValue | undefined,
3440
) => void;

0 commit comments

Comments
 (0)