@ngxs/store 3.6.2-dev.master-8e14fe1 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -16
- package/bundles/ngxs-store-internals.umd.js +210 -210
- package/bundles/ngxs-store-internals.umd.js.map +1 -1
- package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
- package/bundles/ngxs-store-operators.umd.js +326 -321
- package/bundles/ngxs-store-operators.umd.js.map +1 -1
- package/bundles/ngxs-store-operators.umd.min.js +10 -10
- package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
- package/bundles/ngxs-store.umd.js +4401 -4386
- package/bundles/ngxs-store.umd.js.map +1 -1
- package/bundles/ngxs-store.umd.min.js +11 -11
- package/bundles/ngxs-store.umd.min.js.map +1 -1
- package/esm2015/index.js +13 -13
- package/esm2015/internals/angular.js +40 -40
- package/esm2015/internals/index.js +10 -10
- package/esm2015/internals/initial-state.js +34 -34
- package/esm2015/internals/internal-tokens.js +16 -16
- package/esm2015/internals/memoize.js +70 -70
- package/esm2015/internals/ngxs-bootstrapper.js +41 -41
- package/esm2015/internals/ngxs-store-internals.js +8 -8
- package/esm2015/internals/src/symbols.js +14 -14
- package/esm2015/internals/symbols.js +14 -14
- package/esm2015/ngxs-store.js +25 -25
- package/esm2015/operators/append.js +31 -31
- package/esm2015/operators/compose.js +24 -24
- package/esm2015/operators/iif.js +56 -56
- package/esm2015/operators/index.js +18 -18
- package/esm2015/operators/insert-item.js +41 -41
- package/esm2015/operators/internals.js +5 -5
- package/esm2015/operators/ngxs-store-operators.js +8 -8
- package/esm2015/operators/patch.js +39 -39
- package/esm2015/operators/remove-item.js +34 -34
- package/esm2015/operators/update-item.js +52 -52
- package/esm2015/operators/utils.js +50 -50
- package/esm2015/src/actions/actions.js +39 -39
- package/esm2015/src/actions/symbols.js +39 -39
- package/esm2015/src/actions-stream.js +140 -140
- package/esm2015/src/configs/messages.config.js +87 -87
- package/esm2015/src/decorators/action.js +44 -44
- package/esm2015/src/decorators/select/select-factory.js +39 -39
- package/esm2015/src/decorators/select/select.js +45 -46
- package/esm2015/src/decorators/select/symbols.js +50 -50
- package/esm2015/src/decorators/selector/selector.js +55 -55
- package/esm2015/src/decorators/selector/symbols.js +5 -5
- package/esm2015/src/decorators/selector-options.js +34 -34
- package/esm2015/src/decorators/state.js +75 -75
- package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +96 -96
- package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
- package/esm2015/src/execution/noop-ngxs-execution-strategy.js +27 -27
- package/esm2015/src/execution/symbols.js +29 -29
- package/esm2015/src/host-environment/host-environment.js +31 -31
- package/esm2015/src/internal/config-validator.js +67 -67
- package/esm2015/src/internal/dispatcher.js +210 -202
- package/esm2015/src/internal/internals.js +489 -489
- package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
- package/esm2015/src/internal/state-context-factory.js +138 -138
- package/esm2015/src/internal/state-factory.js +401 -392
- package/esm2015/src/internal/state-operations.js +125 -125
- package/esm2015/src/internal/state-operators.js +33 -33
- package/esm2015/src/internal/state-stream.js +21 -21
- package/esm2015/src/ivy/ensure-state-class-is-injectable.js +34 -34
- package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +40 -50
- package/esm2015/src/module.js +171 -171
- package/esm2015/src/modules/ngxs-feature.module.js +63 -63
- package/esm2015/src/modules/ngxs-root.module.js +52 -52
- package/esm2015/src/operators/leave-ngxs.js +58 -58
- package/esm2015/src/operators/of-action.js +191 -188
- package/esm2015/src/plugin-manager.js +70 -70
- package/esm2015/src/plugin_api.js +10 -10
- package/esm2015/src/public_api.js +29 -29
- package/esm2015/src/public_to_deprecate.js +64 -64
- package/esm2015/src/state-token/state-token.js +45 -45
- package/esm2015/src/state-token/symbols.js +5 -5
- package/esm2015/src/store.js +174 -174
- package/esm2015/src/symbols.js +221 -221
- package/esm2015/src/utils/compose.js +44 -44
- package/esm2015/src/utils/freeze.js +35 -35
- package/esm2015/src/utils/selector-utils.js +221 -221
- package/esm2015/src/utils/store-validators.js +65 -65
- package/esm2015/src/utils/utils.js +95 -93
- package/esm5/index.js +13 -13
- package/esm5/internals/angular.js +40 -40
- package/esm5/internals/index.js +10 -10
- package/esm5/internals/initial-state.js +45 -45
- package/esm5/internals/internal-tokens.js +16 -16
- package/esm5/internals/memoize.js +71 -71
- package/esm5/internals/ngxs-bootstrapper.js +56 -56
- package/esm5/internals/ngxs-store-internals.js +8 -8
- package/esm5/internals/src/symbols.js +14 -14
- package/esm5/internals/symbols.js +14 -14
- package/esm5/ngxs-store.js +25 -25
- package/esm5/operators/append.js +31 -31
- package/esm5/operators/compose.js +28 -28
- package/esm5/operators/iif.js +56 -56
- package/esm5/operators/index.js +18 -18
- package/esm5/operators/insert-item.js +41 -41
- package/esm5/operators/internals.js +5 -5
- package/esm5/operators/ngxs-store-operators.js +8 -8
- package/esm5/operators/patch.js +40 -40
- package/esm5/operators/remove-item.js +34 -34
- package/esm5/operators/update-item.js +52 -52
- package/esm5/operators/utils.js +50 -50
- package/esm5/src/actions/actions.js +62 -62
- package/esm5/src/actions/symbols.js +39 -39
- package/esm5/src/actions-stream.js +186 -186
- package/esm5/src/configs/messages.config.js +104 -104
- package/esm5/src/decorators/action.js +56 -56
- package/esm5/src/decorators/select/select-factory.js +37 -37
- package/esm5/src/decorators/select/select.js +50 -51
- package/esm5/src/decorators/select/symbols.js +51 -51
- package/esm5/src/decorators/selector/selector.js +55 -55
- package/esm5/src/decorators/selector/symbols.js +5 -5
- package/esm5/src/decorators/selector-options.js +34 -34
- package/esm5/src/decorators/state.js +76 -76
- package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +121 -121
- package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
- package/esm5/src/execution/noop-ngxs-execution-strategy.js +41 -41
- package/esm5/src/execution/symbols.js +29 -29
- package/esm5/src/host-environment/host-environment.js +29 -29
- package/esm5/src/internal/config-validator.js +76 -76
- package/esm5/src/internal/dispatcher.js +246 -238
- package/esm5/src/internal/internals.js +491 -491
- package/esm5/src/internal/lifecycle-state-manager.js +177 -177
- package/esm5/src/internal/state-context-factory.js +146 -146
- package/esm5/src/internal/state-factory.js +528 -519
- package/esm5/src/internal/state-operations.js +139 -139
- package/esm5/src/internal/state-operators.js +34 -34
- package/esm5/src/internal/state-stream.js +25 -25
- package/esm5/src/ivy/ensure-state-class-is-injectable.js +34 -34
- package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +40 -50
- package/esm5/src/module.js +214 -214
- package/esm5/src/modules/ngxs-feature.module.js +65 -65
- package/esm5/src/modules/ngxs-root.module.js +47 -47
- package/esm5/src/operators/leave-ngxs.js +58 -58
- package/esm5/src/operators/of-action.js +217 -214
- package/esm5/src/plugin-manager.js +82 -82
- package/esm5/src/plugin_api.js +10 -10
- package/esm5/src/public_api.js +29 -29
- package/esm5/src/public_to_deprecate.js +64 -64
- package/esm5/src/state-token/state-token.js +57 -57
- package/esm5/src/state-token/symbols.js +5 -5
- package/esm5/src/store.js +225 -225
- package/esm5/src/symbols.js +230 -230
- package/esm5/src/utils/compose.js +55 -55
- package/esm5/src/utils/freeze.js +35 -35
- package/esm5/src/utils/selector-utils.js +230 -230
- package/esm5/src/utils/store-validators.js +86 -86
- package/esm5/src/utils/utils.js +98 -96
- package/fesm2015/ngxs-store-internals.js +191 -191
- package/fesm2015/ngxs-store-internals.js.map +1 -1
- package/fesm2015/ngxs-store-operators.js +312 -312
- package/fesm2015/ngxs-store-operators.js.map +1 -1
- package/fesm2015/ngxs-store.js +3878 -3868
- package/fesm2015/ngxs-store.js.map +1 -1
- package/fesm5/ngxs-store-internals.js +216 -216
- package/fesm5/ngxs-store-internals.js.map +1 -1
- package/fesm5/ngxs-store-operators.js +316 -316
- package/fesm5/ngxs-store-operators.js.map +1 -1
- package/fesm5/ngxs-store.js +4397 -4387
- package/fesm5/ngxs-store.js.map +1 -1
- package/index.d.ts +8 -8
- package/internals/angular.d.ts +3 -3
- package/internals/index.d.ts +6 -6
- package/internals/initial-state.d.ts +8 -8
- package/internals/internal-tokens.d.ts +9 -9
- package/internals/memoize.d.ts +9 -9
- package/internals/ngxs-bootstrapper.d.ts +13 -13
- package/internals/ngxs-store-internals.d.ts +4 -4
- package/internals/src/symbols.d.ts +7 -7
- package/internals/symbols.d.ts +7 -7
- package/ngxs-store.d.ts +22 -22
- package/ngxs-store.metadata.json +1 -1
- package/operators/append.d.ts +6 -6
- package/operators/compose.d.ts +2 -2
- package/operators/iif.d.ts +11 -11
- package/operators/index.d.ts +13 -13
- package/operators/insert-item.d.ts +7 -7
- package/operators/internals.d.ts +2 -2
- package/operators/ngxs-store-operators.d.ts +4 -4
- package/operators/patch.d.ts +10 -10
- package/operators/remove-item.d.ts +7 -7
- package/operators/update-item.d.ts +10 -10
- package/operators/utils.d.ts +9 -9
- package/package.json +4 -4
- package/src/actions/actions.d.ts +15 -15
- package/src/actions/symbols.d.ts +21 -21
- package/src/actions-stream.d.ts +49 -49
- package/src/configs/messages.config.d.ts +30 -30
- package/src/decorators/action.d.ts +5 -5
- package/src/decorators/select/select-factory.d.ts +12 -12
- package/src/decorators/select/select.d.ts +4 -5
- package/src/decorators/select/symbols.d.ts +10 -14
- package/src/decorators/selector/selector.d.ts +5 -5
- package/src/decorators/selector/symbols.d.ts +4 -4
- package/src/decorators/selector-options.d.ts +5 -5
- package/src/decorators/state.d.ts +6 -6
- package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +12 -12
- package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
- package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
- package/src/execution/symbols.d.ts +6 -6
- package/src/host-environment/host-environment.d.ts +6 -6
- package/src/internal/config-validator.d.ts +10 -10
- package/src/internal/dispatcher.d.ts +31 -31
- package/src/internal/internals.d.ts +167 -167
- package/src/internal/lifecycle-state-manager.d.ts +20 -20
- package/src/internal/state-context-factory.d.ts +15 -15
- package/src/internal/state-factory.d.ts +57 -57
- package/src/internal/state-operations.d.ts +21 -21
- package/src/internal/state-operators.d.ts +2 -2
- package/src/internal/state-stream.d.ts +9 -9
- package/src/ivy/ensure-state-class-is-injectable.d.ts +6 -6
- package/src/ivy/ivy-enabled-in-dev-mode.d.ts +14 -14
- package/src/module.d.ts +23 -23
- package/src/modules/ngxs-feature.module.d.ts +13 -13
- package/src/modules/ngxs-root.module.d.ts +13 -13
- package/src/operators/leave-ngxs.d.ts +7 -7
- package/src/operators/of-action.d.ts +43 -42
- package/src/plugin-manager.d.ts +10 -10
- package/src/plugin_api.d.ts +5 -5
- package/src/public_api.d.ts +17 -17
- package/src/public_to_deprecate.d.ts +21 -21
- package/src/state-token/state-token.d.ts +7 -7
- package/src/state-token/symbols.d.ts +5 -5
- package/src/store.d.ts +53 -53
- package/src/symbols.d.ts +137 -137
- package/src/utils/compose.d.ts +23 -23
- package/src/utils/freeze.d.ts +5 -5
- package/src/utils/selector-utils.d.ts +23 -23
- package/src/utils/store-validators.d.ts +8 -8
- package/src/utils/utils.d.ts +29 -29
- package/types/index.d.ts +2 -2
|
@@ -1,93 +1,95 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Returns the type from an action instance/class.
|
|
7
|
-
* @ignore
|
|
8
|
-
* @param {?} action
|
|
9
|
-
* @return {?}
|
|
10
|
-
*/
|
|
11
|
-
export function getActionTypeFromInstance(action) {
|
|
12
|
-
if (action.constructor && action.constructor.type) {
|
|
13
|
-
return action.constructor.type;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
*
|
|
21
|
-
* @
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
* @param {?}
|
|
49
|
-
* @
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
/** @type {?} */
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
* @param {?}
|
|
61
|
-
* @
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
* @
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
* @
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Returns the type from an action instance/class.
|
|
7
|
+
* @ignore
|
|
8
|
+
* @param {?} action
|
|
9
|
+
* @return {?}
|
|
10
|
+
*/
|
|
11
|
+
export function getActionTypeFromInstance(action) {
|
|
12
|
+
if (action.constructor && action.constructor.type) {
|
|
13
|
+
return action.constructor.type;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return action.type;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Matches a action
|
|
21
|
+
* @ignore
|
|
22
|
+
* @param {?} action1
|
|
23
|
+
* @return {?}
|
|
24
|
+
*/
|
|
25
|
+
export function actionMatcher(action1) {
|
|
26
|
+
/** @type {?} */
|
|
27
|
+
const type1 = getActionTypeFromInstance(action1);
|
|
28
|
+
return (/**
|
|
29
|
+
* @param {?} action2
|
|
30
|
+
* @return {?}
|
|
31
|
+
*/
|
|
32
|
+
function (action2) {
|
|
33
|
+
return type1 === getActionTypeFromInstance(action2);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Set a deeply nested value. Example:
|
|
38
|
+
*
|
|
39
|
+
* setValue({ foo: { bar: { eat: false } } },
|
|
40
|
+
* 'foo.bar.eat', true) //=> { foo: { bar: { eat: true } } }
|
|
41
|
+
*
|
|
42
|
+
* While it traverses it also creates new objects from top down.
|
|
43
|
+
*
|
|
44
|
+
* @ignore
|
|
45
|
+
* @type {?}
|
|
46
|
+
*/
|
|
47
|
+
export const setValue = (/**
|
|
48
|
+
* @param {?} obj
|
|
49
|
+
* @param {?} prop
|
|
50
|
+
* @param {?} val
|
|
51
|
+
* @return {?}
|
|
52
|
+
*/
|
|
53
|
+
(obj, prop, val) => {
|
|
54
|
+
obj = Object.assign({}, obj);
|
|
55
|
+
/** @type {?} */
|
|
56
|
+
const split = prop.split('.');
|
|
57
|
+
/** @type {?} */
|
|
58
|
+
const lastIndex = split.length - 1;
|
|
59
|
+
split.reduce((/**
|
|
60
|
+
* @param {?} acc
|
|
61
|
+
* @param {?} part
|
|
62
|
+
* @param {?} index
|
|
63
|
+
* @return {?}
|
|
64
|
+
*/
|
|
65
|
+
(acc, part, index) => {
|
|
66
|
+
if (index === lastIndex) {
|
|
67
|
+
acc[part] = val;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
acc[part] = Array.isArray(acc[part]) ? acc[part].slice() : Object.assign({}, acc[part]);
|
|
71
|
+
}
|
|
72
|
+
return acc && acc[part];
|
|
73
|
+
}), obj);
|
|
74
|
+
return obj;
|
|
75
|
+
});
|
|
76
|
+
/**
|
|
77
|
+
* Get a deeply nested value. Example:
|
|
78
|
+
*
|
|
79
|
+
* getValue({ foo: bar: [] }, 'foo.bar') //=> []
|
|
80
|
+
*
|
|
81
|
+
* @ignore
|
|
82
|
+
* @type {?}
|
|
83
|
+
*/
|
|
84
|
+
export const getValue = (/**
|
|
85
|
+
* @param {?} obj
|
|
86
|
+
* @param {?} prop
|
|
87
|
+
* @return {?}
|
|
88
|
+
*/
|
|
89
|
+
(obj, prop) => prop.split('.').reduce((/**
|
|
90
|
+
* @param {?} acc
|
|
91
|
+
* @param {?} part
|
|
92
|
+
* @return {?}
|
|
93
|
+
*/
|
|
94
|
+
(acc, part) => acc && acc[part]), obj));
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy91dGlscy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBSUEsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE1BQVc7SUFDbkQsSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ2pELE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7S0FDaEM7U0FBTTtRQUNMLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztLQUNwQjtBQUNILENBQUM7Ozs7Ozs7QUFNRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQVk7O1VBQ2xDLEtBQUssR0FBRyx5QkFBeUIsQ0FBQyxPQUFPLENBQUM7SUFFaEQ7Ozs7SUFBTyxVQUFTLE9BQVk7UUFDMUIsT0FBTyxLQUFLLEtBQUsseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7Ozs7Ozs7O0FBWUQsTUFBTSxPQUFPLFFBQVE7Ozs7OztBQUFHLENBQUMsR0FBUSxFQUFFLElBQVksRUFBRSxHQUFRLEVBQUUsRUFBRTtJQUMzRCxHQUFHLHFCQUFRLEdBQUcsQ0FBRSxDQUFDOztVQUVYLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzs7VUFDdkIsU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztJQUVsQyxLQUFLLENBQUMsTUFBTTs7Ozs7O0lBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ2hDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ2pCO2FBQU07WUFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsbUJBQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFFLENBQUM7U0FDN0U7UUFFRCxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQyxHQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRVIsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUE7Ozs7Ozs7OztBQVNELE1BQU0sT0FBTyxRQUFROzs7OztBQUFHLENBQUMsR0FBUSxFQUFFLElBQVksRUFBTyxFQUFFLENBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTTs7Ozs7QUFBQyxDQUFDLEdBQVEsRUFBRSxJQUFZLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogUmV0dXJucyB0aGUgdHlwZSBmcm9tIGFuIGFjdGlvbiBpbnN0YW5jZS9jbGFzcy5cclxuICogQGlnbm9yZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UoYWN0aW9uOiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gIGlmIChhY3Rpb24uY29uc3RydWN0b3IgJiYgYWN0aW9uLmNvbnN0cnVjdG9yLnR5cGUpIHtcclxuICAgIHJldHVybiBhY3Rpb24uY29uc3RydWN0b3IudHlwZTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIGFjdGlvbi50eXBlO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIE1hdGNoZXMgYSBhY3Rpb25cclxuICogQGlnbm9yZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbk1hdGNoZXIoYWN0aW9uMTogYW55KSB7XHJcbiAgY29uc3QgdHlwZTEgPSBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKGFjdGlvbjEpO1xyXG5cclxuICByZXR1cm4gZnVuY3Rpb24oYWN0aW9uMjogYW55KSB7XHJcbiAgICByZXR1cm4gdHlwZTEgPT09IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UoYWN0aW9uMik7XHJcbiAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNldCBhIGRlZXBseSBuZXN0ZWQgdmFsdWUuIEV4YW1wbGU6XHJcbiAqXHJcbiAqICAgc2V0VmFsdWUoeyBmb286IHsgYmFyOiB7IGVhdDogZmFsc2UgfSB9IH0sXHJcbiAqICAgICAgJ2Zvby5iYXIuZWF0JywgdHJ1ZSkgLy89PiB7IGZvbzogeyBiYXI6IHsgZWF0OiB0cnVlIH0gfSB9XHJcbiAqXHJcbiAqIFdoaWxlIGl0IHRyYXZlcnNlcyBpdCBhbHNvIGNyZWF0ZXMgbmV3IG9iamVjdHMgZnJvbSB0b3AgZG93bi5cclxuICpcclxuICogQGlnbm9yZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHNldFZhbHVlID0gKG9iajogYW55LCBwcm9wOiBzdHJpbmcsIHZhbDogYW55KSA9PiB7XHJcbiAgb2JqID0geyAuLi5vYmogfTtcclxuXHJcbiAgY29uc3Qgc3BsaXQgPSBwcm9wLnNwbGl0KCcuJyk7XHJcbiAgY29uc3QgbGFzdEluZGV4ID0gc3BsaXQubGVuZ3RoIC0gMTtcclxuXHJcbiAgc3BsaXQucmVkdWNlKChhY2MsIHBhcnQsIGluZGV4KSA9PiB7XHJcbiAgICBpZiAoaW5kZXggPT09IGxhc3RJbmRleCkge1xyXG4gICAgICBhY2NbcGFydF0gPSB2YWw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBhY2NbcGFydF0gPSBBcnJheS5pc0FycmF5KGFjY1twYXJ0XSkgPyBhY2NbcGFydF0uc2xpY2UoKSA6IHsgLi4uYWNjW3BhcnRdIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFjYyAmJiBhY2NbcGFydF07XHJcbiAgfSwgb2JqKTtcclxuXHJcbiAgcmV0dXJuIG9iajtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBHZXQgYSBkZWVwbHkgbmVzdGVkIHZhbHVlLiBFeGFtcGxlOlxyXG4gKlxyXG4gKiAgICBnZXRWYWx1ZSh7IGZvbzogYmFyOiBbXSB9LCAnZm9vLmJhcicpIC8vPT4gW11cclxuICpcclxuICogQGlnbm9yZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGdldFZhbHVlID0gKG9iajogYW55LCBwcm9wOiBzdHJpbmcpOiBhbnkgPT5cclxuICBwcm9wLnNwbGl0KCcuJykucmVkdWNlKChhY2M6IGFueSwgcGFydDogc3RyaW5nKSA9PiBhY2MgJiYgYWNjW3BhcnRdLCBvYmopO1xyXG4iXX0=
|
package/esm5/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* The public api for consumers of @ngxs/store
|
|
7
|
-
*/
|
|
8
|
-
export { NgxsModule, Action, Store, State, Select, SelectorOptions, Actions, getSelectorMetadata, getStoreMetadata, ensureStoreMetadata, ensureSelectorMetadata, ofAction, ofActionDispatched, ofActionSuccessful, ofActionCanceled, ofActionErrored, ofActionCompleted, NgxsSimpleChange, Selector, getActionTypeFromInstance, actionMatcher, createSelector, NoopNgxsExecutionStrategy, StateToken } from './src/public_api';
|
|
9
|
-
/**
|
|
10
|
-
* The plugin api for the stuff that a plugins needs
|
|
11
|
-
*/
|
|
12
|
-
export { NGXS_PLUGINS, StateStream, setValue, getValue, InitState, UpdateState } from './src/plugin_api';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The public api for consumers of @ngxs/store
|
|
7
|
+
*/
|
|
8
|
+
export { NgxsModule, Action, Store, State, Select, SelectorOptions, Actions, getSelectorMetadata, getStoreMetadata, ensureStoreMetadata, ensureSelectorMetadata, ofAction, ofActionDispatched, ofActionSuccessful, ofActionCanceled, ofActionErrored, ofActionCompleted, NgxsSimpleChange, Selector, getActionTypeFromInstance, actionMatcher, createSelector, NoopNgxsExecutionStrategy, StateToken } from './src/public_api';
|
|
9
|
+
/**
|
|
10
|
+
* The plugin api for the stuff that a plugins needs
|
|
11
|
+
*/
|
|
12
|
+
export { NGXS_PLUGINS, StateStream, setValue, getValue, InitState, UpdateState } from './src/plugin_api';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSw0WUFBYyxrQkFBa0IsQ0FBQzs7OztBQUtqQyxzRkFBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUaGUgcHVibGljIGFwaSBmb3IgY29uc3VtZXJzIG9mIEBuZ3hzL3N0b3JlXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9wdWJsaWNfYXBpJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgcGx1Z2luIGFwaSBmb3IgdGhlIHN0dWZmIHRoYXQgYSBwbHVnaW5zIG5lZWRzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9wbHVnaW5fYXBpJztcclxuIl19
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { getPlatform, COMPILER_OPTIONS } from '@angular/core';
|
|
6
|
-
import { memoize } from './memoize';
|
|
7
|
-
/**
|
|
8
|
-
* @return {?}
|
|
9
|
-
*/
|
|
10
|
-
function _isAngularInTestMode() {
|
|
11
|
-
/** @type {?} */
|
|
12
|
-
var platformRef = getPlatform();
|
|
13
|
-
if (!platformRef)
|
|
14
|
-
return false;
|
|
15
|
-
/** @type {?} */
|
|
16
|
-
var compilerOptions = platformRef.injector.get(COMPILER_OPTIONS, null);
|
|
17
|
-
if (!compilerOptions)
|
|
18
|
-
return false;
|
|
19
|
-
/** @type {?} */
|
|
20
|
-
var isInTestMode = compilerOptions.some((/**
|
|
21
|
-
* @param {?} item
|
|
22
|
-
* @return {?}
|
|
23
|
-
*/
|
|
24
|
-
function (item) {
|
|
25
|
-
/** @type {?} */
|
|
26
|
-
var providers = (item && item.providers) || [];
|
|
27
|
-
return providers.some((/**
|
|
28
|
-
* @param {?} provider
|
|
29
|
-
* @return {?}
|
|
30
|
-
*/
|
|
31
|
-
function (provider) {
|
|
32
|
-
return ((provider && provider.provide && provider.provide.name === 'MockNgModuleResolver') ||
|
|
33
|
-
false);
|
|
34
|
-
}));
|
|
35
|
-
}));
|
|
36
|
-
return isInTestMode;
|
|
37
|
-
}
|
|
38
|
-
/** @type {?} */
|
|
39
|
-
export var isAngularInTestMode = memoize(_isAngularInTestMode);
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import { getPlatform, COMPILER_OPTIONS } from '@angular/core';
|
|
6
|
+
import { memoize } from './memoize';
|
|
7
|
+
/**
|
|
8
|
+
* @return {?}
|
|
9
|
+
*/
|
|
10
|
+
function _isAngularInTestMode() {
|
|
11
|
+
/** @type {?} */
|
|
12
|
+
var platformRef = getPlatform();
|
|
13
|
+
if (!platformRef)
|
|
14
|
+
return false;
|
|
15
|
+
/** @type {?} */
|
|
16
|
+
var compilerOptions = platformRef.injector.get(COMPILER_OPTIONS, null);
|
|
17
|
+
if (!compilerOptions)
|
|
18
|
+
return false;
|
|
19
|
+
/** @type {?} */
|
|
20
|
+
var isInTestMode = compilerOptions.some((/**
|
|
21
|
+
* @param {?} item
|
|
22
|
+
* @return {?}
|
|
23
|
+
*/
|
|
24
|
+
function (item) {
|
|
25
|
+
/** @type {?} */
|
|
26
|
+
var providers = (item && item.providers) || [];
|
|
27
|
+
return providers.some((/**
|
|
28
|
+
* @param {?} provider
|
|
29
|
+
* @return {?}
|
|
30
|
+
*/
|
|
31
|
+
function (provider) {
|
|
32
|
+
return ((provider && provider.provide && provider.provide.name === 'MockNgModuleResolver') ||
|
|
33
|
+
false);
|
|
34
|
+
}));
|
|
35
|
+
}));
|
|
36
|
+
return isInTestMode;
|
|
37
|
+
}
|
|
38
|
+
/** @type {?} */
|
|
39
|
+
export var isAngularInTestMode = memoize(_isAngularInTestMode);
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL2ludGVybmFscy8iLCJzb3VyY2VzIjpbImFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWdDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFFcEMsU0FBUyxvQkFBb0I7O1FBQ3JCLFdBQVcsR0FBdUIsV0FBVyxFQUFFO0lBQ3JELElBQUksQ0FBQyxXQUFXO1FBQUUsT0FBTyxLQUFLLENBQUM7O1FBQ3pCLGVBQWUsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBTSxnQkFBZ0IsRUFBRSxJQUFJLENBQUM7SUFDN0UsSUFBSSxDQUFDLGVBQWU7UUFBRSxPQUFPLEtBQUssQ0FBQzs7UUFDN0IsWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJOzs7O0lBQUMsVUFBQyxJQUFxQjs7WUFDeEQsU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1FBQ2hELE9BQU8sU0FBUyxDQUFDLElBQUk7Ozs7UUFBQyxVQUFDLFFBQWE7WUFDbEMsT0FBTyxDQUNMLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssc0JBQXNCLENBQUM7Z0JBQ2xGLEtBQUssQ0FDTixDQUFDO1FBQ0osQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDLEVBQUM7SUFDRixPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDOztBQUVELE1BQU0sS0FBTyxtQkFBbUIsR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRQbGF0Zm9ybSwgQ09NUElMRVJfT1BUSU9OUywgQ29tcGlsZXJPcHRpb25zLCBQbGF0Zm9ybVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtZW1vaXplIH0gZnJvbSAnLi9tZW1vaXplJztcclxuXHJcbmZ1bmN0aW9uIF9pc0FuZ3VsYXJJblRlc3RNb2RlKCkge1xyXG4gIGNvbnN0IHBsYXRmb3JtUmVmOiBQbGF0Zm9ybVJlZiB8IG51bGwgPSBnZXRQbGF0Zm9ybSgpO1xyXG4gIGlmICghcGxhdGZvcm1SZWYpIHJldHVybiBmYWxzZTtcclxuICBjb25zdCBjb21waWxlck9wdGlvbnMgPSBwbGF0Zm9ybVJlZi5pbmplY3Rvci5nZXQ8YW55PihDT01QSUxFUl9PUFRJT05TLCBudWxsKTtcclxuICBpZiAoIWNvbXBpbGVyT3B0aW9ucykgcmV0dXJuIGZhbHNlO1xyXG4gIGNvbnN0IGlzSW5UZXN0TW9kZSA9IGNvbXBpbGVyT3B0aW9ucy5zb21lKChpdGVtOiBDb21waWxlck9wdGlvbnMpID0+IHtcclxuICAgIGNvbnN0IHByb3ZpZGVycyA9IChpdGVtICYmIGl0ZW0ucHJvdmlkZXJzKSB8fCBbXTtcclxuICAgIHJldHVybiBwcm92aWRlcnMuc29tZSgocHJvdmlkZXI6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIChwcm92aWRlciAmJiBwcm92aWRlci5wcm92aWRlICYmIHByb3ZpZGVyLnByb3ZpZGUubmFtZSA9PT0gJ01vY2tOZ01vZHVsZVJlc29sdmVyJykgfHxcclxuICAgICAgICBmYWxzZVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIGlzSW5UZXN0TW9kZTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGlzQW5ndWxhckluVGVzdE1vZGUgPSBtZW1vaXplKF9pc0FuZ3VsYXJJblRlc3RNb2RlKTtcclxuIl19
|
package/esm5/internals/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
export { isAngularInTestMode } from './angular';
|
|
6
|
-
export { NgxsBootstrapper } from './ngxs-bootstrapper';
|
|
7
|
-
export { memoize } from './memoize';
|
|
8
|
-
export { INITIAL_STATE_TOKEN, InitialState } from './initial-state';
|
|
9
|
-
export { NGXS_STATE_CONTEXT_FACTORY, NGXS_STATE_FACTORY } from './internal-tokens';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
export { isAngularInTestMode } from './angular';
|
|
6
|
+
export { NgxsBootstrapper } from './ngxs-bootstrapper';
|
|
7
|
+
export { memoize } from './memoize';
|
|
8
|
+
export { INITIAL_STATE_TOKEN, InitialState } from './initial-state';
|
|
9
|
+
export { NGXS_STATE_CONTEXT_FACTORY, NGXS_STATE_FACTORY } from './internal-tokens';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9pbnRlcm5hbHMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgaXNBbmd1bGFySW5UZXN0TW9kZSB9IGZyb20gJy4vYW5ndWxhcic7XHJcbmV4cG9ydCB7IE5neHNCb290c3RyYXBwZXIgfSBmcm9tICcuL25neHMtYm9vdHN0cmFwcGVyJztcclxuZXhwb3J0IHsgbWVtb2l6ZSB9IGZyb20gJy4vbWVtb2l6ZSc7XHJcbmV4cG9ydCB7IElOSVRJQUxfU1RBVEVfVE9LRU4sIEluaXRpYWxTdGF0ZSB9IGZyb20gJy4vaW5pdGlhbC1zdGF0ZSc7XHJcbmV4cG9ydCB7IFBsYWluT2JqZWN0T2YsIFBsYWluT2JqZWN0LCBTdGF0ZUNsYXNzIH0gZnJvbSAnLi9zeW1ib2xzJztcclxuZXhwb3J0IHsgTkdYU19TVEFURV9DT05URVhUX0ZBQ1RPUlksIE5HWFNfU1RBVEVfRkFDVE9SWSB9IGZyb20gJy4vaW50ZXJuYWwtdG9rZW5zJztcclxuIl19
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { InjectionToken } from '@angular/core';
|
|
6
|
-
/** @type {?} */
|
|
7
|
-
export var INITIAL_STATE_TOKEN = new InjectionToken('INITIAL_STATE_TOKEN');
|
|
8
|
-
var InitialState = /** @class */ (function () {
|
|
9
|
-
function InitialState() {
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* @param {?} state
|
|
13
|
-
* @return {?}
|
|
14
|
-
*/
|
|
15
|
-
InitialState.set = /**
|
|
16
|
-
* @param {?} state
|
|
17
|
-
* @return {?}
|
|
18
|
-
*/
|
|
19
|
-
function (state) {
|
|
20
|
-
this.value = state;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* @return {?}
|
|
24
|
-
*/
|
|
25
|
-
InitialState.pop = /**
|
|
26
|
-
* @return {?}
|
|
27
|
-
*/
|
|
28
|
-
function () {
|
|
29
|
-
/** @type {?} */
|
|
30
|
-
var state = this.value;
|
|
31
|
-
this.value = {};
|
|
32
|
-
return state;
|
|
33
|
-
};
|
|
34
|
-
InitialState.value = {};
|
|
35
|
-
return InitialState;
|
|
36
|
-
}());
|
|
37
|
-
export { InitialState };
|
|
38
|
-
if (false) {
|
|
39
|
-
/**
|
|
40
|
-
* @type {?}
|
|
41
|
-
* @private
|
|
42
|
-
*/
|
|
43
|
-
InitialState.value;
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import { InjectionToken } from '@angular/core';
|
|
6
|
+
/** @type {?} */
|
|
7
|
+
export var INITIAL_STATE_TOKEN = new InjectionToken('INITIAL_STATE_TOKEN');
|
|
8
|
+
var InitialState = /** @class */ (function () {
|
|
9
|
+
function InitialState() {
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @param {?} state
|
|
13
|
+
* @return {?}
|
|
14
|
+
*/
|
|
15
|
+
InitialState.set = /**
|
|
16
|
+
* @param {?} state
|
|
17
|
+
* @return {?}
|
|
18
|
+
*/
|
|
19
|
+
function (state) {
|
|
20
|
+
this.value = state;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* @return {?}
|
|
24
|
+
*/
|
|
25
|
+
InitialState.pop = /**
|
|
26
|
+
* @return {?}
|
|
27
|
+
*/
|
|
28
|
+
function () {
|
|
29
|
+
/** @type {?} */
|
|
30
|
+
var state = this.value;
|
|
31
|
+
this.value = {};
|
|
32
|
+
return state;
|
|
33
|
+
};
|
|
34
|
+
InitialState.value = {};
|
|
35
|
+
return InitialState;
|
|
36
|
+
}());
|
|
37
|
+
export { InitialState };
|
|
38
|
+
if (false) {
|
|
39
|
+
/**
|
|
40
|
+
* @type {?}
|
|
41
|
+
* @private
|
|
42
|
+
*/
|
|
43
|
+
InitialState.value;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL2ludGVybmFscy8iLCJzb3VyY2VzIjpbImluaXRpYWwtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRy9DLE1BQU0sS0FBTyxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBTSxxQkFBcUIsQ0FBQztBQUVqRjtJQUFBO0lBWUEsQ0FBQzs7Ozs7SUFUZSxnQkFBRzs7OztJQUFqQixVQUFrQixLQUFrQjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDOzs7O0lBRWEsZ0JBQUc7OztJQUFqQjs7WUFDUSxLQUFLLEdBQWdCLElBQUksQ0FBQyxLQUFLO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQVZjLGtCQUFLLEdBQWdCLEVBQUUsQ0FBQztJQVd6QyxtQkFBQztDQUFBLEFBWkQsSUFZQztTQVpZLFlBQVk7Ozs7OztJQUN2QixtQkFBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQbGFpbk9iamVjdCB9IGZyb20gJy4vc3ltYm9scyc7XHJcblxyXG5leHBvcnQgY29uc3QgSU5JVElBTF9TVEFURV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdJTklUSUFMX1NUQVRFX1RPS0VOJyk7XHJcblxyXG5leHBvcnQgY2xhc3MgSW5pdGlhbFN0YXRlIHtcclxuICBwcml2YXRlIHN0YXRpYyB2YWx1ZTogUGxhaW5PYmplY3QgPSB7fTtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBzZXQoc3RhdGU6IFBsYWluT2JqZWN0KSB7XHJcbiAgICB0aGlzLnZhbHVlID0gc3RhdGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHBvcCgpOiBQbGFpbk9iamVjdCB7XHJcbiAgICBjb25zdCBzdGF0ZTogUGxhaW5PYmplY3QgPSB0aGlzLnZhbHVlO1xyXG4gICAgdGhpcy52YWx1ZSA9IHt9O1xyXG4gICAgcmV0dXJuIHN0YXRlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { InjectionToken } from '@angular/core';
|
|
6
|
-
/**
|
|
7
|
-
* @see StateContextFactory as it's referenced by this token to be accessed by plugins internally
|
|
8
|
-
* @type {?}
|
|
9
|
-
*/
|
|
10
|
-
export var NGXS_STATE_CONTEXT_FACTORY = new InjectionToken('Internals.StateContextFactory');
|
|
11
|
-
/**
|
|
12
|
-
* @see StateFactory as it's referenced by this token to be accessed by plugins internally
|
|
13
|
-
* @type {?}
|
|
14
|
-
*/
|
|
15
|
-
export var NGXS_STATE_FACTORY = new InjectionToken('Internals.StateFactory');
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import { InjectionToken } from '@angular/core';
|
|
6
|
+
/**
|
|
7
|
+
* @see StateContextFactory as it's referenced by this token to be accessed by plugins internally
|
|
8
|
+
* @type {?}
|
|
9
|
+
*/
|
|
10
|
+
export var NGXS_STATE_CONTEXT_FACTORY = new InjectionToken('Internals.StateContextFactory');
|
|
11
|
+
/**
|
|
12
|
+
* @see StateFactory as it's referenced by this token to be accessed by plugins internally
|
|
13
|
+
* @type {?}
|
|
14
|
+
*/
|
|
15
|
+
export var NGXS_STATE_FACTORY = new InjectionToken('Internals.StateFactory');
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtdG9rZW5zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvaW50ZXJuYWxzLyIsInNvdXJjZXMiOlsiaW50ZXJuYWwtdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUsvQyxNQUFNLEtBQU8sMEJBQTBCLEdBQXdCLElBQUksY0FBYyxDQUMvRSwrQkFBK0IsQ0FDaEM7Ozs7O0FBS0QsTUFBTSxLQUFPLGtCQUFrQixHQUF3QixJQUFJLGNBQWMsQ0FDdkUsd0JBQXdCLENBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBAc2VlIFN0YXRlQ29udGV4dEZhY3RvcnkgYXMgaXQncyByZWZlcmVuY2VkIGJ5IHRoaXMgdG9rZW4gdG8gYmUgYWNjZXNzZWQgYnkgcGx1Z2lucyBpbnRlcm5hbGx5XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgTkdYU19TVEFURV9DT05URVhUX0ZBQ1RPUlk6IEluamVjdGlvblRva2VuPGFueT4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oXHJcbiAgJ0ludGVybmFscy5TdGF0ZUNvbnRleHRGYWN0b3J5J1xyXG4pO1xyXG5cclxuLyoqXHJcbiAqIEBzZWUgU3RhdGVGYWN0b3J5IGFzIGl0J3MgcmVmZXJlbmNlZCBieSB0aGlzIHRva2VuIHRvIGJlIGFjY2Vzc2VkIGJ5IHBsdWdpbnMgaW50ZXJuYWxseVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IE5HWFNfU1RBVEVfRkFDVE9SWTogSW5qZWN0aW9uVG9rZW48YW55PiA9IG5ldyBJbmplY3Rpb25Ub2tlbihcclxuICAnSW50ZXJuYWxzLlN0YXRlRmFjdG9yeSdcclxuKTtcclxuIl19
|
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @param {?} a
|
|
7
|
-
* @param {?} b
|
|
8
|
-
* @return {?}
|
|
9
|
-
*/
|
|
10
|
-
function defaultEqualityCheck(a, b) {
|
|
11
|
-
return a === b;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* @param {?} equalityCheck
|
|
15
|
-
* @param {?} prev
|
|
16
|
-
* @param {?} next
|
|
17
|
-
* @return {?}
|
|
18
|
-
*/
|
|
19
|
-
function areArgumentsShallowlyEqual(equalityCheck, prev, next) {
|
|
20
|
-
if (prev === null || next === null || prev.length !== next.length) {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
// Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.
|
|
24
|
-
/** @type {?} */
|
|
25
|
-
var length = prev.length;
|
|
26
|
-
for (var i = 0; i < length; i++) {
|
|
27
|
-
if (!equalityCheck(prev[i], next[i])) {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Memoize a function on its last inputs only.
|
|
35
|
-
* Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js
|
|
36
|
-
*
|
|
37
|
-
* @ignore
|
|
38
|
-
* @template T
|
|
39
|
-
* @param {?} func
|
|
40
|
-
* @param {?=} equalityCheck
|
|
41
|
-
* @return {?}
|
|
42
|
-
*/
|
|
43
|
-
export function memoize(func, equalityCheck) {
|
|
44
|
-
if (equalityCheck === void 0) { equalityCheck = defaultEqualityCheck; }
|
|
45
|
-
/** @type {?} */
|
|
46
|
-
var lastArgs = null;
|
|
47
|
-
/** @type {?} */
|
|
48
|
-
var lastResult = null;
|
|
49
|
-
// we reference arguments instead of spreading them for performance reasons
|
|
50
|
-
/**
|
|
51
|
-
* @return {?}
|
|
52
|
-
*/
|
|
53
|
-
function memoized() {
|
|
54
|
-
if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {
|
|
55
|
-
// apply arguments instead of spreading for performance.
|
|
56
|
-
lastResult = ((/** @type {?} */ (func))).apply(null, arguments);
|
|
57
|
-
}
|
|
58
|
-
lastArgs = arguments;
|
|
59
|
-
return lastResult;
|
|
60
|
-
}
|
|
61
|
-
((/** @type {?} */ (memoized))).reset = (/**
|
|
62
|
-
* @return {?}
|
|
63
|
-
*/
|
|
64
|
-
function () {
|
|
65
|
-
// The hidden (for now) ability to reset the memoization
|
|
66
|
-
lastArgs = null;
|
|
67
|
-
lastResult = null;
|
|
68
|
-
});
|
|
69
|
-
return (/** @type {?} */ (memoized));
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @param {?} a
|
|
7
|
+
* @param {?} b
|
|
8
|
+
* @return {?}
|
|
9
|
+
*/
|
|
10
|
+
function defaultEqualityCheck(a, b) {
|
|
11
|
+
return a === b;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @param {?} equalityCheck
|
|
15
|
+
* @param {?} prev
|
|
16
|
+
* @param {?} next
|
|
17
|
+
* @return {?}
|
|
18
|
+
*/
|
|
19
|
+
function areArgumentsShallowlyEqual(equalityCheck, prev, next) {
|
|
20
|
+
if (prev === null || next === null || prev.length !== next.length) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
// Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.
|
|
24
|
+
/** @type {?} */
|
|
25
|
+
var length = prev.length;
|
|
26
|
+
for (var i = 0; i < length; i++) {
|
|
27
|
+
if (!equalityCheck(prev[i], next[i])) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Memoize a function on its last inputs only.
|
|
35
|
+
* Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js
|
|
36
|
+
*
|
|
37
|
+
* @ignore
|
|
38
|
+
* @template T
|
|
39
|
+
* @param {?} func
|
|
40
|
+
* @param {?=} equalityCheck
|
|
41
|
+
* @return {?}
|
|
42
|
+
*/
|
|
43
|
+
export function memoize(func, equalityCheck) {
|
|
44
|
+
if (equalityCheck === void 0) { equalityCheck = defaultEqualityCheck; }
|
|
45
|
+
/** @type {?} */
|
|
46
|
+
var lastArgs = null;
|
|
47
|
+
/** @type {?} */
|
|
48
|
+
var lastResult = null;
|
|
49
|
+
// we reference arguments instead of spreading them for performance reasons
|
|
50
|
+
/**
|
|
51
|
+
* @return {?}
|
|
52
|
+
*/
|
|
53
|
+
function memoized() {
|
|
54
|
+
if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {
|
|
55
|
+
// apply arguments instead of spreading for performance.
|
|
56
|
+
lastResult = ((/** @type {?} */ (func))).apply(null, arguments);
|
|
57
|
+
}
|
|
58
|
+
lastArgs = arguments;
|
|
59
|
+
return lastResult;
|
|
60
|
+
}
|
|
61
|
+
((/** @type {?} */ (memoized))).reset = (/**
|
|
62
|
+
* @return {?}
|
|
63
|
+
*/
|
|
64
|
+
function () {
|
|
65
|
+
// The hidden (for now) ability to reset the memoization
|
|
66
|
+
lastArgs = null;
|
|
67
|
+
lastResult = null;
|
|
68
|
+
});
|
|
69
|
+
return (/** @type {?} */ (memoized));
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb2l6ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL2ludGVybmFscy8iLCJzb3VyY2VzIjpbIm1lbW9pemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsU0FBUyxvQkFBb0IsQ0FBQyxDQUFNLEVBQUUsQ0FBTTtJQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakIsQ0FBQzs7Ozs7OztBQUVELFNBQVMsMEJBQTBCLENBQ2pDLGFBQTBDLEVBQzFDLElBQXVCLEVBQ3ZCLElBQXVCO0lBRXZCLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNqRSxPQUFPLEtBQUssQ0FBQztLQUNkOzs7UUFHSyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU07SUFDMUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7Ozs7Ozs7Ozs7O0FBUUQsTUFBTSxVQUFVLE9BQU8sQ0FDckIsSUFBTyxFQUNQLGFBQW9DO0lBQXBDLDhCQUFBLEVBQUEsb0NBQW9DOztRQUVoQyxRQUFRLEdBQXNCLElBQUk7O1FBQ2xDLFVBQVUsR0FBUSxJQUFJOzs7OztJQUUxQixTQUFTLFFBQVE7UUFDZixJQUFJLENBQUMsMEJBQTBCLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNuRSx3REFBd0Q7WUFDeEQsVUFBVSxHQUFHLENBQUMsbUJBQVUsSUFBSSxFQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUNyQixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsQ0FBQyxtQkFBSyxRQUFRLEVBQUEsQ0FBQyxDQUFDLEtBQUs7OztJQUFHO1FBQ3RCLHdEQUF3RDtRQUN4RCxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQyxDQUFBLENBQUM7SUFDRixPQUFPLG1CQUFBLFFBQVEsRUFBSyxDQUFDO0FBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBkZWZhdWx0RXF1YWxpdHlDaGVjayhhOiBhbnksIGI6IGFueSkge1xyXG4gIHJldHVybiBhID09PSBiO1xyXG59XHJcblxyXG5mdW5jdGlvbiBhcmVBcmd1bWVudHNTaGFsbG93bHlFcXVhbChcclxuICBlcXVhbGl0eUNoZWNrOiAoYTogYW55LCBiOiBhbnkpID0+IGJvb2xlYW4sXHJcbiAgcHJldjogSUFyZ3VtZW50cyB8IG51bGwsXHJcbiAgbmV4dDogSUFyZ3VtZW50cyB8IG51bGxcclxuKSB7XHJcbiAgaWYgKHByZXYgPT09IG51bGwgfHwgbmV4dCA9PT0gbnVsbCB8fCBwcmV2Lmxlbmd0aCAhPT0gbmV4dC5sZW5ndGgpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vIERvIHRoaXMgaW4gYSBmb3IgbG9vcCAoYW5kIG5vdCBhIGBmb3JFYWNoYCBvciBhbiBgZXZlcnlgKSBzbyB3ZSBjYW4gZGV0ZXJtaW5lIGVxdWFsaXR5IGFzIGZhc3QgYXMgcG9zc2libGUuXHJcbiAgY29uc3QgbGVuZ3RoID0gcHJldi5sZW5ndGg7XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgaWYgKCFlcXVhbGl0eUNoZWNrKHByZXZbaV0sIG5leHRbaV0pKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vKipcclxuICogTWVtb2l6ZSBhIGZ1bmN0aW9uIG9uIGl0cyBsYXN0IGlucHV0cyBvbmx5LlxyXG4gKiBPcmlnaW5hbGx5IGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9yZWR1eGpzL3Jlc2VsZWN0L2Jsb2IvbWFzdGVyL3NyYy9pbmRleC5qc1xyXG4gKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWVtb2l6ZTxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk+KFxyXG4gIGZ1bmM6IFQsXHJcbiAgZXF1YWxpdHlDaGVjayA9IGRlZmF1bHRFcXVhbGl0eUNoZWNrXHJcbik6IFQge1xyXG4gIGxldCBsYXN0QXJnczogSUFyZ3VtZW50cyB8IG51bGwgPSBudWxsO1xyXG4gIGxldCBsYXN0UmVzdWx0OiBhbnkgPSBudWxsO1xyXG4gIC8vIHdlIHJlZmVyZW5jZSBhcmd1bWVudHMgaW5zdGVhZCBvZiBzcHJlYWRpbmcgdGhlbSBmb3IgcGVyZm9ybWFuY2UgcmVhc29uc1xyXG4gIGZ1bmN0aW9uIG1lbW9pemVkKCkge1xyXG4gICAgaWYgKCFhcmVBcmd1bWVudHNTaGFsbG93bHlFcXVhbChlcXVhbGl0eUNoZWNrLCBsYXN0QXJncywgYXJndW1lbnRzKSkge1xyXG4gICAgICAvLyBhcHBseSBhcmd1bWVudHMgaW5zdGVhZCBvZiBzcHJlYWRpbmcgZm9yIHBlcmZvcm1hbmNlLlxyXG4gICAgICBsYXN0UmVzdWx0ID0gKDxGdW5jdGlvbj5mdW5jKS5hcHBseShudWxsLCBhcmd1bWVudHMpO1xyXG4gICAgfVxyXG5cclxuICAgIGxhc3RBcmdzID0gYXJndW1lbnRzO1xyXG4gICAgcmV0dXJuIGxhc3RSZXN1bHQ7XHJcbiAgfVxyXG4gICg8YW55Pm1lbW9pemVkKS5yZXNldCA9IGZ1bmN0aW9uKCkge1xyXG4gICAgLy8gVGhlIGhpZGRlbiAoZm9yIG5vdykgYWJpbGl0eSB0byByZXNldCB0aGUgbWVtb2l6YXRpb25cclxuICAgIGxhc3RBcmdzID0gbnVsbDtcclxuICAgIGxhc3RSZXN1bHQgPSBudWxsO1xyXG4gIH07XHJcbiAgcmV0dXJuIG1lbW9pemVkIGFzIFQ7XHJcbn1cclxuIl19
|