Skip to content

Commit 4e5187d

Browse files
fix(overmind): fix statemachine matches perf hit
1 parent e0cb7e4 commit 4e5187d

File tree

1 file changed

+3
-16
lines changed

1 file changed

+3
-16
lines changed

packages/node_modules/overmind/src/statemachine.ts

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,9 @@ export type StatemachineTransitions<States extends TStates> = {
1212

1313
export interface MachineMethods<States extends TStates> {
1414
reset: () => void
15-
matches<T0 extends States["state"]>(arg0: T0): this is Statemachine<States> & (States extends { state: T0 } ? States : never);
16-
matches<
17-
T0 extends States["state"],
18-
T1 extends States["state"],
19-
>(state0: T0, state1: T1): this is Statemachine<States> & (States extends { state: T0 } ? States : never) & (States extends { state: T1 } ? States : never);
20-
matches<
21-
T0 extends States["state"],
22-
T1 extends States["state"],
23-
T2 extends States["state"],
24-
>(state0: T0, state1: T1, state2: T2): this is Statemachine<States> & (States extends { state: T0 } ? States : never) & (States extends { state: T1 } ? States : never) & (States extends { state: T2 } ? States : never);
25-
matches<
26-
T0 extends States["state"],
27-
T1 extends States["state"],
28-
T2 extends States["state"],
29-
T3 extends States["state"],
30-
>(state0: T0, state1: T1, state2: T2, state3: T3): this is Statemachine<States> & (States extends { state: T0 } ? States : never) & (States extends { state: T1 } ? States : never) & (States extends { state: T2 } ? States : never) & (States extends { state: T3 } ? States : never);
15+
matches<T extends States["state"][]>(...states: T): this is Statemachine<States> & (States extends {
16+
state: T extends Array<infer S> ? S : never;
17+
} ? States : never);
3118
whenTransitioned: (state: States["state"]) => Promise<void>
3219
}
3320

0 commit comments

Comments
 (0)