UNPKG

907 BJavaScriptView Raw
1import { __values, __read } from './_virtual/_tslib.js';
2import { State } from './State.js';
3
4function matchState(state, patterns, defaultValue) {
5 var e_1, _a;
6
7 var resolvedState = State.from(state, state instanceof State ? state.context : undefined);
8
9 try {
10 for (var patterns_1 = __values(patterns), patterns_1_1 = patterns_1.next(); !patterns_1_1.done; patterns_1_1 = patterns_1.next()) {
11 var _b = __read(patterns_1_1.value, 2),
12 stateValue = _b[0],
13 getValue = _b[1];
14
15 if (resolvedState.matches(stateValue)) {
16 return getValue(resolvedState);
17 }
18 }
19 } catch (e_1_1) {
20 e_1 = {
21 error: e_1_1
22 };
23 } finally {
24 try {
25 if (patterns_1_1 && !patterns_1_1.done && (_a = patterns_1.return)) _a.call(patterns_1);
26 } finally {
27 if (e_1) throw e_1.error;
28 }
29 }
30
31 return defaultValue(resolvedState);
32}
33
34export { matchState };