UNPKG

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