@ngxs/store 18.1.6-dev.master-d290a0e → 18.1.6-dev.master-a9e7ff3
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/experimental/index.d.ts +6 -5
- package/fesm2022/ngxs-store-experimental.mjs +8 -25
- package/fesm2022/ngxs-store-experimental.mjs.map +1 -1
- package/fesm2022/ngxs-store-internals-testing.mjs +8 -9
- package/fesm2022/ngxs-store-internals-testing.mjs.map +1 -1
- package/fesm2022/ngxs-store-internals.mjs +6 -6
- package/fesm2022/ngxs-store-internals.mjs.map +1 -1
- package/fesm2022/ngxs-store-operators.mjs.map +1 -1
- package/fesm2022/ngxs-store-plugins.mjs.map +1 -1
- package/fesm2022/ngxs-store.mjs +101 -72
- package/fesm2022/ngxs-store.mjs.map +1 -1
- package/index.d.ts +11 -1
- package/package.json +2 -14
- package/schematics/src/actions/actions.factory.js +1 -2
- package/schematics/src/actions/actions.factory.js.map +1 -1
- package/schematics/src/ng-add/add-declaration.js +2 -3
- package/schematics/src/ng-add/add-declaration.js.map +1 -1
- package/schematics/src/ng-add/ng-add.factory.js +1 -2
- package/schematics/src/ng-add/ng-add.factory.js.map +1 -1
- package/schematics/src/starter-kit/starter-kit.factory.js +1 -2
- package/schematics/src/starter-kit/starter-kit.factory.js.map +1 -1
- package/schematics/src/state/state.factory.js +1 -2
- package/schematics/src/state/state.factory.js.map +1 -1
- package/schematics/src/store/store.factory.js +1 -2
- package/schematics/src/store/store.factory.js.map +1 -1
- package/schematics/src/utils/common/properties.js +1 -2
- package/schematics/src/utils/common/properties.js.map +1 -1
- package/schematics/src/utils/config.js +2 -3
- package/schematics/src/utils/config.js.map +1 -1
- package/schematics/src/utils/generate-utils.js +1 -2
- package/schematics/src/utils/generate-utils.js.map +1 -1
- package/schematics/src/utils/normalize-options.js +3 -4
- package/schematics/src/utils/normalize-options.js.map +1 -1
- package/schematics/src/utils/project.js +4 -5
- package/schematics/src/utils/project.js.map +1 -1
- package/esm2022/experimental/index.mjs +0 -2
- package/esm2022/experimental/ngxs-store-experimental.mjs +0 -5
- package/esm2022/experimental/pending-tasks.mjs +0 -30
- package/esm2022/index.mjs +0 -13
- package/esm2022/internals/custom-rxjs-operators.mjs +0 -19
- package/esm2022/internals/custom-rxjs-subjects.mjs +0 -92
- package/esm2022/internals/index.mjs +0 -11
- package/esm2022/internals/initial-state.mjs +0 -17
- package/esm2022/internals/internal-tokens.mjs +0 -5
- package/esm2022/internals/memoize.mjs +0 -43
- package/esm2022/internals/metadata.mjs +0 -57
- package/esm2022/internals/ngxs-app-bootstrapped-state.mjs +0 -19
- package/esm2022/internals/ngxs-store-internals.mjs +0 -5
- package/esm2022/internals/state-stream.mjs +0 -33
- package/esm2022/internals/state-token.mjs +0 -17
- package/esm2022/internals/symbols.mjs +0 -11
- package/esm2022/internals/testing/fresh-platform.mjs +0 -72
- package/esm2022/internals/testing/helpers/ngxs-test.component.mjs +0 -16
- package/esm2022/internals/testing/helpers/ngxs-test.module.mjs +0 -20
- package/esm2022/internals/testing/index.mjs +0 -4
- package/esm2022/internals/testing/ngxs-store-internals-testing.mjs +0 -5
- package/esm2022/internals/testing/ngxs.setup.mjs +0 -49
- package/esm2022/internals/testing/skip-console-logging.mjs +0 -37
- package/esm2022/internals/testing/symbol.mjs +0 -2
- package/esm2022/ngxs-store.mjs +0 -5
- package/esm2022/operators/append.mjs +0 -20
- package/esm2022/operators/compose.mjs +0 -6
- package/esm2022/operators/iif.mjs +0 -38
- package/esm2022/operators/index.mjs +0 -14
- package/esm2022/operators/insert-item.mjs +0 -29
- package/esm2022/operators/ngxs-store-operators.mjs +0 -5
- package/esm2022/operators/patch.mjs +0 -21
- package/esm2022/operators/remove-item.mjs +0 -22
- package/esm2022/operators/types.mjs +0 -2
- package/esm2022/operators/update-item.mjs +0 -40
- package/esm2022/operators/utils.mjs +0 -19
- package/esm2022/plugins/actions.mjs +0 -16
- package/esm2022/plugins/index.mjs +0 -4
- package/esm2022/plugins/ngxs-store-plugins.mjs +0 -5
- package/esm2022/plugins/symbols.mjs +0 -15
- package/esm2022/plugins/utils.mjs +0 -51
- package/esm2022/src/actions/action-registry.mjs +0 -34
- package/esm2022/src/actions/symbols.mjs +0 -2
- package/esm2022/src/actions-stream.mjs +0 -61
- package/esm2022/src/configs/messages.config.mjs +0 -48
- package/esm2022/src/decorators/action.mjs +0 -31
- package/esm2022/src/decorators/select/select-factory.mjs +0 -29
- package/esm2022/src/decorators/select/select.mjs +0 -29
- package/esm2022/src/decorators/select/symbols.mjs +0 -29
- package/esm2022/src/decorators/selector/selector.mjs +0 -29
- package/esm2022/src/decorators/selector/symbols.mjs +0 -2
- package/esm2022/src/decorators/selector-options.mjs +0 -21
- package/esm2022/src/decorators/state.mjs +0 -35
- package/esm2022/src/dev-features/ngxs-development.module.mjs +0 -28
- package/esm2022/src/dev-features/ngxs-unhandled-actions-logger.mjs +0 -43
- package/esm2022/src/dev-features/symbols.mjs +0 -7
- package/esm2022/src/execution/dispatch-outside-zone-ngxs-execution-strategy.mjs +0 -52
- package/esm2022/src/execution/internal-ngxs-execution-strategy.mjs +0 -21
- package/esm2022/src/execution/noop-ngxs-execution-strategy.mjs +0 -17
- package/esm2022/src/execution/symbols.mjs +0 -28
- package/esm2022/src/internal/dispatcher.mjs +0 -125
- package/esm2022/src/internal/fallback-subscriber.mjs +0 -29
- package/esm2022/src/internal/internals.mjs +0 -205
- package/esm2022/src/internal/lifecycle-state-manager.mjs +0 -81
- package/esm2022/src/internal/provide-internal-tokens.mjs +0 -20
- package/esm2022/src/internal/state-context-factory.mjs +0 -70
- package/esm2022/src/internal/state-factory.mjs +0 -311
- package/esm2022/src/internal/state-operations.mjs +0 -60
- package/esm2022/src/internal/state-operators.mjs +0 -20
- package/esm2022/src/internal/unhandled-rxjs-error-callback.mjs +0 -46
- package/esm2022/src/ivy/ivy-enabled-in-dev-mode.mjs +0 -25
- package/esm2022/src/module.mjs +0 -27
- package/esm2022/src/modules/ngxs-feature.module.mjs +0 -18
- package/esm2022/src/modules/ngxs-root.module.mjs +0 -18
- package/esm2022/src/ngxs-unhandled-error-handler.mjs +0 -29
- package/esm2022/src/operators/leave-ngxs.mjs +0 -9
- package/esm2022/src/operators/of-action.mjs +0 -104
- package/esm2022/src/plugin-manager.mjs +0 -34
- package/esm2022/src/plugin_api.mjs +0 -2
- package/esm2022/src/private_api.mjs +0 -5
- package/esm2022/src/public_api.mjs +0 -20
- package/esm2022/src/selectors/create-model-selector.mjs +0 -30
- package/esm2022/src/selectors/create-pick-selector.mjs +0 -16
- package/esm2022/src/selectors/create-property-selectors.mjs +0 -20
- package/esm2022/src/selectors/create-selector.mjs +0 -9
- package/esm2022/src/selectors/index.mjs +0 -6
- package/esm2022/src/selectors/private_api.mjs +0 -2
- package/esm2022/src/selectors/selector-checks.util.mjs +0 -43
- package/esm2022/src/selectors/selector-metadata.mjs +0 -35
- package/esm2022/src/selectors/selector-models.mjs +0 -2
- package/esm2022/src/selectors/selector-types.util.mjs +0 -2
- package/esm2022/src/selectors/selector-utils.mjs +0 -95
- package/esm2022/src/standalone-features/feature-providers.mjs +0 -18
- package/esm2022/src/standalone-features/index.mjs +0 -5
- package/esm2022/src/standalone-features/initializers.mjs +0 -94
- package/esm2022/src/standalone-features/plugin.mjs +0 -33
- package/esm2022/src/standalone-features/preboot.mjs +0 -31
- package/esm2022/src/standalone-features/provide-states.mjs +0 -26
- package/esm2022/src/standalone-features/provide-store.mjs +0 -26
- package/esm2022/src/standalone-features/root-providers.mjs +0 -34
- package/esm2022/src/store.mjs +0 -117
- package/esm2022/src/symbols.mjs +0 -86
- package/esm2022/src/utils/create-dispatch-map.mjs +0 -11
- package/esm2022/src/utils/create-select-map.mjs +0 -13
- package/esm2022/src/utils/dispatch.mjs +0 -7
- package/esm2022/src/utils/freeze.mjs +0 -20
- package/esm2022/src/utils/public_api.mjs +0 -5
- package/esm2022/src/utils/select.mjs +0 -19
- package/esm2022/src/utils/store-validators.mjs +0 -25
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { throwSelectorDecoratorError } from '../../configs/messages.config';
|
|
2
|
-
import { createSelector } from '../../selectors/create-selector';
|
|
3
|
-
export function Selector(selectors) {
|
|
4
|
-
return (target, key, descriptor) => {
|
|
5
|
-
descriptor ||= Object.getOwnPropertyDescriptor(target, key);
|
|
6
|
-
const originalFn = descriptor?.value;
|
|
7
|
-
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
8
|
-
if (originalFn && typeof originalFn !== 'function') {
|
|
9
|
-
throwSelectorDecoratorError();
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
const memoizedFn = createSelector(selectors, originalFn, {
|
|
13
|
-
containerClass: target,
|
|
14
|
-
selectorName: key.toString(),
|
|
15
|
-
getSelectorOptions() {
|
|
16
|
-
return {};
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
const newDescriptor = {
|
|
20
|
-
configurable: true,
|
|
21
|
-
get() {
|
|
22
|
-
return memoizedFn;
|
|
23
|
-
},
|
|
24
|
-
originalFn
|
|
25
|
-
};
|
|
26
|
-
return newDescriptor;
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGVjb3JhdG9ycy9zZWxlY3Rvci9zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFhakUsTUFBTSxVQUFVLFFBQVEsQ0FDdEIsU0FBYTtJQUViLE9BQU8sQ0FDTCxNQUFXLEVBQ1gsR0FBb0IsRUFDcEIsVUFBNkQsRUFDSixFQUFFO1FBQzNELFVBQVUsS0FBSyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBRSxDQUFDO1FBRTdELE1BQU0sVUFBVSxHQUFHLFVBQVUsRUFBRSxLQUFLLENBQUM7UUFFckMsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFLENBQUM7WUFDbEQsSUFBSSxVQUFVLElBQUksT0FBTyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ25ELDJCQUEyQixFQUFFLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsU0FBUyxFQUFFLFVBQWlCLEVBQUU7WUFDOUQsY0FBYyxFQUFFLE1BQU07WUFDdEIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDNUIsa0JBQWtCO2dCQUNoQixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxNQUFNLGFBQWEsR0FBRztZQUNwQixZQUFZLEVBQUUsSUFBSTtZQUNsQixHQUFHO2dCQUNELE9BQU8sVUFBVSxDQUFDO1lBQ3BCLENBQUM7WUFDRCxVQUFVO1NBQ1gsQ0FBQztRQUNGLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aHJvd1NlbGVjdG9yRGVjb3JhdG9yRXJyb3IgfSBmcm9tICcuLi8uLi9jb25maWdzL21lc3NhZ2VzLmNvbmZpZyc7XG5pbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJy4uLy4uL3NlbGVjdG9ycy9jcmVhdGUtc2VsZWN0b3InO1xuaW1wb3J0IHsgU2VsZWN0b3JEZWZUdXBsZSwgU2VsZWN0b3JUeXBlIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIGNyZWF0aW5nIGEgc3RhdGUgc2VsZWN0b3IgZm9yIHRoZSBjdXJyZW50IHN0YXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gU2VsZWN0b3IoKTogU2VsZWN0b3JUeXBlPHVua25vd24+O1xuXG4vKipcbiAqIERlY29yYXRvciBmb3IgY3JlYXRpbmcgYSBzdGF0ZSBzZWxlY3RvciBmcm9tIHRoZSBwcm92aWRlZCBzZWxlY3RvcnMgKGFuZCBvcHRpb25hbGx5IHRoZSBjb250YWluZXIgU3RhdGUsIGRlcGVuZGluZyBvbiB0aGUgYXBwbGljYWJsZSBTZWxlY3RvciBPcHRpb25zKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNlbGVjdG9yPFQgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlPihzZWxlY3RvcnM6IFQpOiBTZWxlY3RvclR5cGU8VD47XG5cbmV4cG9ydCBmdW5jdGlvbiBTZWxlY3RvcjxUIGV4dGVuZHMgU2VsZWN0b3JEZWZUdXBsZSA9IFtdPihcbiAgc2VsZWN0b3JzPzogVFxuKTogU2VsZWN0b3JUeXBlPHVua25vd24+IHwgU2VsZWN0b3JUeXBlPFQ+IHtcbiAgcmV0dXJuIDxVPihcbiAgICB0YXJnZXQ6IGFueSxcbiAgICBrZXk6IHN0cmluZyB8IHN5bWJvbCxcbiAgICBkZXNjcmlwdG9yPzogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8KC4uLnN0YXRlczogYW55W10pID0+IFU+XG4gICk6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPCguLi5zdGF0ZXM6IGFueVtdKSA9PiBVPiB8IHZvaWQgPT4ge1xuICAgIGRlc2NyaXB0b3IgfHw9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpITtcblxuICAgIGNvbnN0IG9yaWdpbmFsRm4gPSBkZXNjcmlwdG9yPy52YWx1ZTtcblxuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGUpIHtcbiAgICAgIGlmIChvcmlnaW5hbEZuICYmIHR5cGVvZiBvcmlnaW5hbEZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93U2VsZWN0b3JEZWNvcmF0b3JFcnJvcigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG1lbW9pemVkRm4gPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RvcnMsIG9yaWdpbmFsRm4gYXMgYW55LCB7XG4gICAgICBjb250YWluZXJDbGFzczogdGFyZ2V0LFxuICAgICAgc2VsZWN0b3JOYW1lOiBrZXkudG9TdHJpbmcoKSxcbiAgICAgIGdldFNlbGVjdG9yT3B0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IG5ld0Rlc2NyaXB0b3IgPSB7XG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQoKSB7XG4gICAgICAgIHJldHVybiBtZW1vaXplZEZuO1xuICAgICAgfSxcbiAgICAgIG9yaWdpbmFsRm5cbiAgICB9O1xuICAgIHJldHVybiBuZXdEZXNjcmlwdG9yO1xuICB9O1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZWNvcmF0b3JzL3NlbGVjdG9yL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1U2VsZWN0b3JEZWYsIMm1U2VsZWN0b3JSZXR1cm5UeXBlIH0gZnJvbSAnLi4vLi4vc2VsZWN0b3JzJztcblxuLyoqXG4gKiBEZWZpbmVzIGEgdHVwbGUgb2Ygc2VsZWN0b3IgZnVuY3Rpb25zLCBzdGF0ZSB0b2tlbnMsIGFuZCBzdGF0ZSBjbGFzc2VzIHRoYXQgYSBzZWxlY3RvciBkZWNvcmF0ZWRcbiAqIGJ5IGBAU2VsZWN0b3IoKWAgY2FuIGRlcGVuZCBvbi5cbiAqL1xuZXhwb3J0IHR5cGUgU2VsZWN0b3JEZWZUdXBsZSA9IMm1U2VsZWN0b3JEZWY8YW55PltdIHwgW8m1U2VsZWN0b3JEZWY8YW55Pl07XG5cbnR5cGUgVW5rbm93blRvQW55PFQ+ID0gdW5rbm93biBleHRlbmRzIFQgPyBhbnkgOiBUO1xudHlwZSBFbnN1cmVBcnJheTxUPiA9IFQgZXh0ZW5kcyBhbnlbXSA/IFQgOiBuZXZlcjtcblxuLyoqXG4gKiBHaXZlbiBhIHR1cGxlIG9mIHNlbGVjdG9yIGZ1bmN0aW9ucywgc3RhdGUgdG9rZW5zLCBzdGF0ZSBjbGFzc2VzLCBldGMuLCByZXR1cm5zIGEgdHVwbGUgb2Ygd2hhdFxuICogYSBkZXBlbmRlbnQgc2VsZWN0b3Igd291bGQgZXhwZWN0IHRvIHJlY2VpdmUgZm9yIHRoYXQgcGFyZW50IGFzIGFuIGFyZ3VtZW50IHdoZW4gY2FsbGVkLlxuICpcbiAqIEZvciBleGFtcGxlLCBpZiB0aGUgZmlyc3QgZWxlbWVudCBpbiBgUGFyZW50c1R1cGxlYCBpcyBhIHNlbGVjdG9yIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhXG4gKiBgbnVtYmVyYCwgdGhlbiB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgcmVzdWx0IHR1cGxlIHdpbGwgYmUgYG51bWJlcmAuIElmIHRoZSBzZWNvbmQgZWxlbWVudFxuICogaW4gYFBhcmVudHNUdXBsZWAgaXMgYSBzdGF0ZSBjbGFzcyB3aXRoIG1vZGVsIGB7IG5hbWU6IHN0cmluZyB9YCwgdGhlbiB0aGUgc2Vjb25kIGVsZW1lbnQgb2ZcbiAqIHRoZSByZXN1bHQgdHVwbGUgd2lsbCBiZSBgeyBuYW1lOiBzdHJpbmcgfWAuXG4gKi9cbnR5cGUgU2VsZWN0b3JSZXR1cm5UeXBlTGlzdDxQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlPiA9IEVuc3VyZUFycmF5PHtcbiAgW1BhcmVudHNUdXBsZUluZGV4IGluIGtleW9mIFBhcmVudHNUdXBsZV06IFBhcmVudHNUdXBsZVtQYXJlbnRzVHVwbGVJbmRleF0gZXh0ZW5kcyDJtVNlbGVjdG9yRGVmPGFueT5cbiAgICA/IFVua25vd25Ub0FueTzJtVNlbGVjdG9yUmV0dXJuVHlwZTxQYXJlbnRzVHVwbGVbUGFyZW50c1R1cGxlSW5kZXhdPj5cbiAgICA6IG5ldmVyO1xufT47XG5cbi8qKlxuICogRGVmaW5lcyBhIHNlbGVjdG9yIGZ1bmN0aW9uIG1hdGNoaW5nIGEgZ2l2ZW4gYXJndW1lbnQgbGlzdCBvZiBwYXJlbnQgc2VsZWN0b3JzL3N0YXRlcy90b2tlbnNcbiAqIGFuZCBhIGdpdmVuIHJldHVybiB0eXBlLlxuICovXG5leHBvcnQgdHlwZSBTZWxlY3RvclNwZWM8UGFyZW50c1R1cGxlLCBSZXR1cm4+ID0gUGFyZW50c1R1cGxlIGV4dGVuZHMgW11cbiAgPyAoKSA9PiBhbnlcbiAgOiBQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlXG4gICAgPyAoLi4uc3RhdGVzOiBTZWxlY3RvclJldHVyblR5cGVMaXN0PFBhcmVudHNUdXBsZT4pID0+IFJldHVyblxuICAgIDogKCkgPT4gYW55O1xuXG4vKipcbiAqIERlZmluZXMgYSBzZWxlY3RvciBmdW5jdGlvbiBtYXRjaGluZyBgU2VsZWN0b3JTcGVjPFBhcmVudHNUdXBsZSwgUmV0dXJuPmAgYnV0IHdpdGggdGhlIGFzc3VtcHRpb24gdGhhdCB0aGVcbiAqIGNvbnRhaW5lciBzdGF0ZSBoYXMgYmVlbiBpbmplY3RlZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKi9cbnR5cGUgU2VsZWN0b3JTcGVjV2l0aEluamVjdGVkU3RhdGU8UGFyZW50c1R1cGxlLCBSZXR1cm4+ID0gU2VsZWN0b3JTcGVjPFxuICBQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlID8gW2FueSwgLi4uUGFyZW50c1R1cGxlXSA6IFthbnldLFxuICBQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlID8gUmV0dXJuIDogYW55XG4+O1xuXG4vKipcbiAqIERlZmluZXMgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIGZvciB0aGUgYEBTZWxlY3RvcmAgZGVjb3JhdG9yIHRoYXQgZGVjb3JhdGVzIGEgZnVuY3Rpb24gd2l0aFxuICogcGFyZW50IHNlbGVjdG9ycy9zdGF0ZXMvdG9rZW5zIGBQYXJlbnRzVHVwbGVgIGFuZCByZXR1cm4gdHlwZSBgUmV0dXJuYC5cbiAqL1xudHlwZSBEZXNjcmlwdG9yV2l0aE5vSW5qZWN0ZWRTdGF0ZTxQYXJlbnRzVHVwbGUsIFJldHVybj4gPSBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxcbiAgU2VsZWN0b3JTcGVjPFBhcmVudHNUdXBsZSwgUmV0dXJuPlxuPjtcblxuLyoqXG4gKiBTYW1lIGFzIGBEZXNjcmlwdG9yV2l0aE5vSW5qZWN0ZWRTdGF0ZWAgYnV0IHdpdGggc3RhdGUgaW5qZWN0ZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LlxuICovXG50eXBlIERlc2NyaXB0b3JXaXRoSW5qZWN0ZWRTdGF0ZTxQYXJlbnRzVHVwbGUsIFJldHVybj4gPSBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxcbiAgU2VsZWN0b3JTcGVjV2l0aEluamVjdGVkU3RhdGU8UGFyZW50c1R1cGxlLCBSZXR1cm4+XG4+O1xuXG50eXBlIERlY29yYXRvckFyZ3M8RGVzY3JpcHRvcj4gPSBbdGFyZ2V0OiBhbnksIGtleTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yPzogRGVzY3JpcHRvcl07XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgcmV0dXJuIHR5cGUgb2YgYSBjYWxsIHRvIGBAU2VsZWN0b3JgIHdoZW4gdGhlcmUgaXMgbm8gYXJndW1lbnQgZ2l2ZW5cbiAqIChlLmcuIGBAU2VsZWN0b3IoKWAgY291bnRzLCBidXQgYEBTZWxlY3RvcihbXSlgIGRvZXMgbm90KVxuICpcbiAqIFRoaXMgcmVzdWx0IGlzIGEgZGVjb3JhdG9yIHRoYXQgY2FuIG9ubHkgYmUgdXNlZCB0byBkZWNvcmF0ZSBhIGZ1bmN0aW9uIHdpdGggbm8gYXJndW1lbnRzIG9yIGFcbiAqIHNpbmdsZSBhcmd1bWVudCB0aGF0IGlzIHRoZSBjb250YWluZXIgc3RhdGUuXG4gKi9cbnR5cGUgU2VsZWN0b3JUeXBlTm9EZWNvcmF0b3JBcmdzID0ge1xuICA8UmV0dXJuPihcbiAgICAuLi5hcmdzOiBEZWNvcmF0b3JBcmdzPERlc2NyaXB0b3JXaXRoTm9JbmplY3RlZFN0YXRlPHVua25vd24sIFJldHVybj4+XG4gICk6IHZvaWQgfCBEZXNjcmlwdG9yV2l0aE5vSW5qZWN0ZWRTdGF0ZTx1bmtub3duLCBSZXR1cm4+O1xuICA8UmV0dXJuPihcbiAgICAuLi5hcmdzOiBEZWNvcmF0b3JBcmdzPERlc2NyaXB0b3JXaXRoSW5qZWN0ZWRTdGF0ZTx1bmtub3duLCBSZXR1cm4+PlxuICApOiB2b2lkIHwgRGVzY3JpcHRvcldpdGhJbmplY3RlZFN0YXRlPHVua25vd24sIFJldHVybj47XG59O1xuXG4vKipcbiAqIERlZmluZXMgdGhlIHJldHVybiB0eXBlIG9mIGEgY2FsbCB0byBgQFNlbGVjdG9yYCB3aGVuIHRoZXJlIGlzIGFuIGFyZ3VtZW50IGdpdmVuLlxuICogKGUuZy4gYEBTZWxlY3RvcihbXSlgIGNvdW50cywgYnV0IGBAU2VsZWN0b3IoKWAgZG9lcyBub3QpXG4gKlxuICogVGhpcyByZXN1bHQgaXMgYSBkZWNvcmF0b3IgdGhhdCBjYW4gb25seSBiZSB1c2VkIHRvIGRlY29yYXRlIGEgZnVuY3Rpb24gd2l0aCBhbiBhcmd1bWVudCBsaXN0XG4gKiBtYXRjaGluZyB0aGUgcmVzdWx0cyBvZiB0aGUgdHVwbGUgb2YgcGFyZW50cyBgUGFyZW50c1R1cGxlYC5cbiAqL1xudHlwZSBTZWxlY3RvclR5cGVXaXRoRGVjb3JhdG9yQXJnczxQYXJlbnRzVHVwbGU+ID0ge1xuICA8UmV0dXJuPihcbiAgICAuLi5hcmdzOiBEZWNvcmF0b3JBcmdzPERlc2NyaXB0b3JXaXRoTm9JbmplY3RlZFN0YXRlPFBhcmVudHNUdXBsZSwgUmV0dXJuPj5cbiAgKTogdm9pZCB8IERlc2NyaXB0b3JXaXRoTm9JbmplY3RlZFN0YXRlPFBhcmVudHNUdXBsZSwgUmV0dXJuPjtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIFJlYWQgdGhlIGRlcHJlY2F0aW9uIG5vdGljZSBhdCB0aGlzIGxpbms6IGh0dHBzOi8vbmd4cy5pby9kZXByZWNhdGlvbnMvaW5qZWN0LWNvbnRhaW5lci1zdGF0ZS1kZXByZWNhdGlvbi5tZC5cbiAgICovXG4gIDxSZXR1cm4+KFxuICAgIC4uLmFyZ3M6IERlY29yYXRvckFyZ3M8RGVzY3JpcHRvcldpdGhJbmplY3RlZFN0YXRlPFBhcmVudHNUdXBsZSwgUmV0dXJuPj5cbiAgKTogdm9pZCB8IERlc2NyaXB0b3JXaXRoSW5qZWN0ZWRTdGF0ZTxQYXJlbnRzVHVwbGUsIFJldHVybj47XG59O1xuXG4vKipcbiAqIERlZmluZXMgdGhlIHJldHVybiB0eXBlIG9mIGEgY2FsbCB0byBgQFNlbGVjdG9yYC4gVGhpcyByZXN1bHQgaXMgYSBkZWNvcmF0b3IgdGhhdCBjYW4gb25seSBiZVxuICogdXNlZCB0byBkZWNvcmF0ZSBhIGZ1bmN0aW9uIHdpdGggYW4gYXJndW1lbnQgbGlzdCBtYXRjaGluZyBgUGFyZW50c1R1cGxlYCwgdGhlIHJlc3VsdHMgb2YgdGhlXG4gKiB0dXBsZSBvZiBwYXJlbnQgc2VsZWN0b3JzL3N0YXRlIHRva2Vucy9zdGF0ZSBjbGFzc2VzLlxuICovXG5leHBvcnQgdHlwZSBTZWxlY3RvclR5cGU8UGFyZW50c1R1cGxlPiA9IHVua25vd24gZXh0ZW5kcyBQYXJlbnRzVHVwbGVcbiAgPyBTZWxlY3RvclR5cGVOb0RlY29yYXRvckFyZ3NcbiAgOiBTZWxlY3RvclR5cGVXaXRoRGVjb3JhdG9yQXJnczxQYXJlbnRzVHVwbGU+O1xuIl19
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { selectorOptionsMetaAccessor } from '../selectors/selector-metadata';
|
|
2
|
-
/**
|
|
3
|
-
* Decorator for setting selector options at a method or class level.
|
|
4
|
-
*/
|
|
5
|
-
export function SelectorOptions(options) {
|
|
6
|
-
return (function decorate(target, methodName, descriptor) {
|
|
7
|
-
if (methodName) {
|
|
8
|
-
descriptor ||= Object.getOwnPropertyDescriptor(target, methodName);
|
|
9
|
-
// Method Decorator
|
|
10
|
-
const originalFn = descriptor.value || descriptor.originalFn;
|
|
11
|
-
if (originalFn) {
|
|
12
|
-
selectorOptionsMetaAccessor.defineOptions(originalFn, options);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
// Class Decorator
|
|
17
|
-
selectorOptionsMetaAccessor.defineOptions(target, options);
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3Itb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZWNvcmF0b3JzL3NlbGVjdG9yLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFN0U7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQStCO0lBQzdELE9BQXlDLENBQ3ZDLFNBQVMsUUFBUSxDQUNmLE1BQVcsRUFDWCxVQUFrQixFQUNsQixVQUFzQztRQUV0QyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsVUFBVSxLQUFLLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFFLENBQUM7WUFDcEUsbUJBQW1CO1lBQ25CLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLLElBQVUsVUFBVyxDQUFDLFVBQVUsQ0FBQztZQUNwRSxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDakUsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sa0JBQWtCO1lBQ2xCLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1U2hhcmVkU2VsZWN0b3JPcHRpb25zIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgc2VsZWN0b3JPcHRpb25zTWV0YUFjY2Vzc29yIH0gZnJvbSAnLi4vc2VsZWN0b3JzL3NlbGVjdG9yLW1ldGFkYXRhJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIHNldHRpbmcgc2VsZWN0b3Igb3B0aW9ucyBhdCBhIG1ldGhvZCBvciBjbGFzcyBsZXZlbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNlbGVjdG9yT3B0aW9ucyhvcHRpb25zOiDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucykge1xuICByZXR1cm4gPENsYXNzRGVjb3JhdG9yICYgTWV0aG9kRGVjb3JhdG9yPihcbiAgICBmdW5jdGlvbiBkZWNvcmF0ZTxUPihcbiAgICAgIHRhcmdldDogYW55LFxuICAgICAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICAgICAgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD5cbiAgICApIHtcbiAgICAgIGlmIChtZXRob2ROYW1lKSB7XG4gICAgICAgIGRlc2NyaXB0b3IgfHw9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBtZXRob2ROYW1lKSE7XG4gICAgICAgIC8vIE1ldGhvZCBEZWNvcmF0b3JcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxGbiA9IGRlc2NyaXB0b3IudmFsdWUgfHwgKDxhbnk+ZGVzY3JpcHRvcikub3JpZ2luYWxGbjtcbiAgICAgICAgaWYgKG9yaWdpbmFsRm4pIHtcbiAgICAgICAgICBzZWxlY3Rvck9wdGlvbnNNZXRhQWNjZXNzb3IuZGVmaW5lT3B0aW9ucyhvcmlnaW5hbEZuLCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQ2xhc3MgRGVjb3JhdG9yXG4gICAgICAgIHNlbGVjdG9yT3B0aW9uc01ldGFBY2Nlc3Nvci5kZWZpbmVPcHRpb25zKHRhcmdldCwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuICApO1xufVxuIl19
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ɵMETA_KEY, ɵMETA_OPTIONS_KEY, ɵensureStoreMetadata } from '@ngxs/store/internals';
|
|
2
|
-
import { ensureStateNameIsValid } from '../utils/store-validators';
|
|
3
|
-
/**
|
|
4
|
-
* Decorates a class with ngxs state information.
|
|
5
|
-
*/
|
|
6
|
-
export function State(options) {
|
|
7
|
-
return (target) => {
|
|
8
|
-
const stateClass = target;
|
|
9
|
-
const meta = ɵensureStoreMetadata(stateClass);
|
|
10
|
-
const inheritedStateClass = Object.getPrototypeOf(stateClass);
|
|
11
|
-
const optionsWithInheritance = getStateOptions(inheritedStateClass, options);
|
|
12
|
-
mutateMetaData({ meta, inheritedStateClass, optionsWithInheritance });
|
|
13
|
-
stateClass[ɵMETA_OPTIONS_KEY] = optionsWithInheritance;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
function getStateOptions(inheritedStateClass, options) {
|
|
17
|
-
const inheritanceOptions = inheritedStateClass[ɵMETA_OPTIONS_KEY] || {};
|
|
18
|
-
return { ...inheritanceOptions, ...options };
|
|
19
|
-
}
|
|
20
|
-
function mutateMetaData(params) {
|
|
21
|
-
const { meta, inheritedStateClass, optionsWithInheritance } = params;
|
|
22
|
-
const { children, defaults, name } = optionsWithInheritance;
|
|
23
|
-
const stateName = typeof name === 'string' ? name : (name && name.getName()) || null;
|
|
24
|
-
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
25
|
-
ensureStateNameIsValid(stateName);
|
|
26
|
-
}
|
|
27
|
-
if (inheritedStateClass.hasOwnProperty(ɵMETA_KEY)) {
|
|
28
|
-
const inheritedMeta = inheritedStateClass[ɵMETA_KEY] || {};
|
|
29
|
-
meta.actions = { ...meta.actions, ...inheritedMeta.actions };
|
|
30
|
-
}
|
|
31
|
-
meta.children = children;
|
|
32
|
-
meta.defaults = defaults;
|
|
33
|
-
meta.name = stateName;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGVjb3JhdG9ycy9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULGlCQUFpQixFQUlqQixvQkFBb0IsRUFDckIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVFuRTs7R0FFRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUksT0FBeUI7SUFDaEQsT0FBTyxDQUFDLE1BQW1CLEVBQVEsRUFBRTtRQUNuQyxNQUFNLFVBQVUsR0FBd0IsTUFBTSxDQUFDO1FBQy9DLE1BQU0sSUFBSSxHQUFtQixvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxNQUFNLG1CQUFtQixHQUF3QixNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sc0JBQXNCLEdBQXFCLGVBQWUsQ0FDOUQsbUJBQW1CLEVBQ25CLE9BQU8sQ0FDUixDQUFDO1FBQ0YsY0FBYyxDQUFJLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQztRQUN6RSxVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxzQkFBc0IsQ0FBQztJQUN6RCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQ3RCLG1CQUF3QyxFQUN4QyxPQUF5QjtJQUV6QixNQUFNLGtCQUFrQixHQUN0QixtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQyxPQUFPLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLE9BQU8sRUFBc0IsQ0FBQztBQUNuRSxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUksTUFBNEI7SUFDckQsTUFBTSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNyRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQztJQUM1RCxNQUFNLFNBQVMsR0FDYixPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDO0lBRXJFLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2xELHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2xELE1BQU0sYUFBYSxHQUE0QixtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIMm1U3RhdGVDbGFzcyxcbiAgybVNRVRBX0tFWSxcbiAgybVNRVRBX09QVElPTlNfS0VZLFxuICDJtU1ldGFEYXRhTW9kZWwsXG4gIMm1U3RhdGVDbGFzc0ludGVybmFsLFxuICDJtVN0b3JlT3B0aW9ucyxcbiAgybVlbnN1cmVTdG9yZU1ldGFkYXRhXG59IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7IGVuc3VyZVN0YXRlTmFtZUlzVmFsaWQgfSBmcm9tICcuLi91dGlscy9zdG9yZS12YWxpZGF0b3JzJztcblxuaW50ZXJmYWNlIE11dGF0ZU1ldGFPcHRpb25zPFQ+IHtcbiAgbWV0YTogybVNZXRhRGF0YU1vZGVsO1xuICBpbmhlcml0ZWRTdGF0ZUNsYXNzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbDtcbiAgb3B0aW9uc1dpdGhJbmhlcml0YW5jZTogybVTdG9yZU9wdGlvbnM8VD47XG59XG5cbi8qKlxuICogRGVjb3JhdGVzIGEgY2xhc3Mgd2l0aCBuZ3hzIHN0YXRlIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gU3RhdGU8VD4ob3B0aW9uczogybVTdG9yZU9wdGlvbnM8VD4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IMm1U3RhdGVDbGFzcyk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IHN0YXRlQ2xhc3M6IMm1U3RhdGVDbGFzc0ludGVybmFsID0gdGFyZ2V0O1xuICAgIGNvbnN0IG1ldGE6IMm1TWV0YURhdGFNb2RlbCA9IMm1ZW5zdXJlU3RvcmVNZXRhZGF0YShzdGF0ZUNsYXNzKTtcbiAgICBjb25zdCBpbmhlcml0ZWRTdGF0ZUNsYXNzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihzdGF0ZUNsYXNzKTtcbiAgICBjb25zdCBvcHRpb25zV2l0aEluaGVyaXRhbmNlOiDJtVN0b3JlT3B0aW9uczxUPiA9IGdldFN0YXRlT3B0aW9ucyhcbiAgICAgIGluaGVyaXRlZFN0YXRlQ2xhc3MsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgICBtdXRhdGVNZXRhRGF0YTxUPih7IG1ldGEsIGluaGVyaXRlZFN0YXRlQ2xhc3MsIG9wdGlvbnNXaXRoSW5oZXJpdGFuY2UgfSk7XG4gICAgc3RhdGVDbGFzc1vJtU1FVEFfT1BUSU9OU19LRVldID0gb3B0aW9uc1dpdGhJbmhlcml0YW5jZTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhdGVPcHRpb25zPFQ+KFxuICBpbmhlcml0ZWRTdGF0ZUNsYXNzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbCxcbiAgb3B0aW9uczogybVTdG9yZU9wdGlvbnM8VD5cbik6IMm1U3RvcmVPcHRpb25zPFQ+IHtcbiAgY29uc3QgaW5oZXJpdGFuY2VPcHRpb25zOiBQYXJ0aWFsPMm1U3RvcmVPcHRpb25zPFQ+PiA9XG4gICAgaW5oZXJpdGVkU3RhdGVDbGFzc1vJtU1FVEFfT1BUSU9OU19LRVldIHx8IHt9O1xuICByZXR1cm4geyAuLi5pbmhlcml0YW5jZU9wdGlvbnMsIC4uLm9wdGlvbnMgfSBhcyDJtVN0b3JlT3B0aW9uczxUPjtcbn1cblxuZnVuY3Rpb24gbXV0YXRlTWV0YURhdGE8VD4ocGFyYW1zOiBNdXRhdGVNZXRhT3B0aW9uczxUPik6IHZvaWQge1xuICBjb25zdCB7IG1ldGEsIGluaGVyaXRlZFN0YXRlQ2xhc3MsIG9wdGlvbnNXaXRoSW5oZXJpdGFuY2UgfSA9IHBhcmFtcztcbiAgY29uc3QgeyBjaGlsZHJlbiwgZGVmYXVsdHMsIG5hbWUgfSA9IG9wdGlvbnNXaXRoSW5oZXJpdGFuY2U7XG4gIGNvbnN0IHN0YXRlTmFtZTogc3RyaW5nIHwgbnVsbCA9XG4gICAgdHlwZW9mIG5hbWUgPT09ICdzdHJpbmcnID8gbmFtZSA6IChuYW1lICYmIG5hbWUuZ2V0TmFtZSgpKSB8fCBudWxsO1xuXG4gIGlmICh0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGUpIHtcbiAgICBlbnN1cmVTdGF0ZU5hbWVJc1ZhbGlkKHN0YXRlTmFtZSk7XG4gIH1cblxuICBpZiAoaW5oZXJpdGVkU3RhdGVDbGFzcy5oYXNPd25Qcm9wZXJ0eSjJtU1FVEFfS0VZKSkge1xuICAgIGNvbnN0IGluaGVyaXRlZE1ldGE6IFBhcnRpYWw8ybVNZXRhRGF0YU1vZGVsPiA9IGluaGVyaXRlZFN0YXRlQ2xhc3NbybVNRVRBX0tFWV0gfHwge307XG4gICAgbWV0YS5hY3Rpb25zID0geyAuLi5tZXRhLmFjdGlvbnMsIC4uLmluaGVyaXRlZE1ldGEuYWN0aW9ucyB9O1xuICB9XG5cbiAgbWV0YS5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICBtZXRhLmRlZmF1bHRzID0gZGVmYXVsdHM7XG4gIG1ldGEubmFtZSA9IHN0YXRlTmFtZTtcbn1cbiJdfQ==
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { NgModule, makeEnvironmentProviders } from '@angular/core';
|
|
2
|
-
import { NGXS_DEVELOPMENT_OPTIONS } from './symbols';
|
|
3
|
-
import { NgxsUnhandledActionsLogger } from './ngxs-unhandled-actions-logger';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class NgxsDevelopmentModule {
|
|
6
|
-
static forRoot(options) {
|
|
7
|
-
return {
|
|
8
|
-
ngModule: NgxsDevelopmentModule,
|
|
9
|
-
providers: [
|
|
10
|
-
NgxsUnhandledActionsLogger,
|
|
11
|
-
{ provide: NGXS_DEVELOPMENT_OPTIONS, useValue: options }
|
|
12
|
-
]
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsDevelopmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: NgxsDevelopmentModule }); }
|
|
17
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsDevelopmentModule }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsDevelopmentModule, decorators: [{
|
|
20
|
-
type: NgModule
|
|
21
|
-
}] });
|
|
22
|
-
export function withNgxsDevelopmentOptions(options) {
|
|
23
|
-
return makeEnvironmentProviders([
|
|
24
|
-
NgxsUnhandledActionsLogger,
|
|
25
|
-
{ provide: NGXS_DEVELOPMENT_OPTIONS, useValue: options }
|
|
26
|
-
]);
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1kZXZlbG9wbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGV2LWZlYXR1cmVzL25neHMtZGV2ZWxvcG1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFBMEIsd0JBQXdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBRzdFLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUErQjtRQUM1QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHFCQUFxQjtZQUMvQixTQUFTLEVBQUU7Z0JBQ1QsMEJBQTBCO2dCQUMxQixFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO2FBQ3pEO1NBQ0YsQ0FBQztJQUNKLENBQUM7aUlBVFUscUJBQXFCO2tJQUFyQixxQkFBcUI7a0lBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsUUFBUTs7QUFhVCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsT0FBK0I7SUFDeEUsT0FBTyx3QkFBd0IsQ0FBQztRQUM5QiwwQkFBMEI7UUFDMUIsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtLQUN6RCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3hzRGV2ZWxvcG1lbnRPcHRpb25zLCBOR1hTX0RFVkVMT1BNRU5UX09QVElPTlMgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgTmd4c1VuaGFuZGxlZEFjdGlvbnNMb2dnZXIgfSBmcm9tICcuL25neHMtdW5oYW5kbGVkLWFjdGlvbnMtbG9nZ2VyJztcblxuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBOZ3hzRGV2ZWxvcG1lbnRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zOiBOZ3hzRGV2ZWxvcG1lbnRPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hzRGV2ZWxvcG1lbnRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5neHNEZXZlbG9wbWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBOZ3hzVW5oYW5kbGVkQWN0aW9uc0xvZ2dlcixcbiAgICAgICAgeyBwcm92aWRlOiBOR1hTX0RFVkVMT1BNRU5UX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTmd4c0RldmVsb3BtZW50T3B0aW9ucyhvcHRpb25zOiBOZ3hzRGV2ZWxvcG1lbnRPcHRpb25zKSB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIE5neHNVbmhhbmRsZWRBY3Rpb25zTG9nZ2VyLFxuICAgIHsgcHJvdmlkZTogTkdYU19ERVZFTE9QTUVOVF9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucyB9XG4gIF0pO1xufVxuIl19
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { InitState, UpdateState, getActionTypeFromInstance } from '@ngxs/store/plugins';
|
|
3
|
-
import { NGXS_DEVELOPMENT_OPTIONS } from './symbols';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class NgxsUnhandledActionsLogger {
|
|
6
|
-
constructor() {
|
|
7
|
-
/**
|
|
8
|
-
* These actions should be ignored by default; the user can increase this
|
|
9
|
-
* list in the future via the `ignoreActions` method.
|
|
10
|
-
*/
|
|
11
|
-
this._ignoredActions = new Set([InitState.type, UpdateState.type]);
|
|
12
|
-
const options = inject(NGXS_DEVELOPMENT_OPTIONS);
|
|
13
|
-
if (typeof options.warnOnUnhandledActions === 'object') {
|
|
14
|
-
this.ignoreActions(...options.warnOnUnhandledActions.ignore);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Adds actions to the internal list of actions that should be ignored.
|
|
19
|
-
*/
|
|
20
|
-
ignoreActions(...actions) {
|
|
21
|
-
for (const action of actions) {
|
|
22
|
-
this._ignoredActions.add(action.type);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
/** @internal */
|
|
26
|
-
warn(action) {
|
|
27
|
-
const actionShouldBeIgnored = Array.from(this._ignoredActions).some(type => type === getActionTypeFromInstance(action));
|
|
28
|
-
if (actionShouldBeIgnored) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
action =
|
|
32
|
-
action.constructor && action.constructor.name !== 'Object'
|
|
33
|
-
? action.constructor.name
|
|
34
|
-
: action.type;
|
|
35
|
-
console.warn(`The ${action} action has been dispatched but hasn't been handled. This may happen if the state with an action handler for this action is not registered.`);
|
|
36
|
-
}
|
|
37
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsUnhandledActionsLogger, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
38
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsUnhandledActionsLogger }); }
|
|
39
|
-
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsUnhandledActionsLogger, decorators: [{
|
|
41
|
-
type: Injectable
|
|
42
|
-
}], ctorParameters: () => [] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy11bmhhbmRsZWQtYWN0aW9ucy1sb2dnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGV2LWZlYXR1cmVzL25neHMtdW5oYW5kbGVkLWFjdGlvbnMtbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHeEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUdyRCxNQUFNLE9BQU8sMEJBQTBCO0lBT3JDO1FBTkE7OztXQUdHO1FBQ0ssb0JBQWUsR0FBRyxJQUFJLEdBQUcsQ0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFHNUUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDakQsSUFBSSxPQUFPLE9BQU8sQ0FBQyxzQkFBc0IsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhLENBQUMsR0FBRyxPQUFxQjtRQUNwQyxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixJQUFJLENBQUMsTUFBVztRQUNkLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUNqRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FDbkQsQ0FBQztRQUVGLElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUMxQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU07WUFDSixNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLFFBQVE7Z0JBQ3hELENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUk7Z0JBQ3pCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBRWxCLE9BQU8sQ0FBQyxJQUFJLENBQ1YsT0FBTyxNQUFNLDZJQUE2SSxDQUMzSixDQUFDO0lBQ0osQ0FBQztpSUF6Q1UsMEJBQTBCO3FJQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBRHRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluaXRTdGF0ZSwgVXBkYXRlU3RhdGUsIGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UgfSBmcm9tICdAbmd4cy9zdG9yZS9wbHVnaW5zJztcblxuaW1wb3J0IHsgQWN0aW9uVHlwZSB9IGZyb20gJy4uL2FjdGlvbnMvc3ltYm9scyc7XG5pbXBvcnQgeyBOR1hTX0RFVkVMT1BNRU5UX09QVElPTlMgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmd4c1VuaGFuZGxlZEFjdGlvbnNMb2dnZXIge1xuICAvKipcbiAgICogVGhlc2UgYWN0aW9ucyBzaG91bGQgYmUgaWdub3JlZCBieSBkZWZhdWx0OyB0aGUgdXNlciBjYW4gaW5jcmVhc2UgdGhpc1xuICAgKiBsaXN0IGluIHRoZSBmdXR1cmUgdmlhIHRoZSBgaWdub3JlQWN0aW9uc2AgbWV0aG9kLlxuICAgKi9cbiAgcHJpdmF0ZSBfaWdub3JlZEFjdGlvbnMgPSBuZXcgU2V0PHN0cmluZz4oW0luaXRTdGF0ZS50eXBlLCBVcGRhdGVTdGF0ZS50eXBlXSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGluamVjdChOR1hTX0RFVkVMT1BNRU5UX09QVElPTlMpO1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy53YXJuT25VbmhhbmRsZWRBY3Rpb25zID09PSAnb2JqZWN0Jykge1xuICAgICAgdGhpcy5pZ25vcmVBY3Rpb25zKC4uLm9wdGlvbnMud2Fybk9uVW5oYW5kbGVkQWN0aW9ucy5pZ25vcmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFjdGlvbnMgdG8gdGhlIGludGVybmFsIGxpc3Qgb2YgYWN0aW9ucyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkLlxuICAgKi9cbiAgaWdub3JlQWN0aW9ucyguLi5hY3Rpb25zOiBBY3Rpb25UeXBlW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBhY3Rpb25zKSB7XG4gICAgICB0aGlzLl9pZ25vcmVkQWN0aW9ucy5hZGQoYWN0aW9uLnR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgd2FybihhY3Rpb246IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGlvblNob3VsZEJlSWdub3JlZCA9IEFycmF5LmZyb20odGhpcy5faWdub3JlZEFjdGlvbnMpLnNvbWUoXG4gICAgICB0eXBlID0+IHR5cGUgPT09IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UoYWN0aW9uKVxuICAgICk7XG5cbiAgICBpZiAoYWN0aW9uU2hvdWxkQmVJZ25vcmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYWN0aW9uID1cbiAgICAgIGFjdGlvbi5jb25zdHJ1Y3RvciAmJiBhY3Rpb24uY29uc3RydWN0b3IubmFtZSAhPT0gJ09iamVjdCdcbiAgICAgICAgPyBhY3Rpb24uY29uc3RydWN0b3IubmFtZVxuICAgICAgICA6IGFjdGlvbi50eXBlO1xuXG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYFRoZSAke2FjdGlvbn0gYWN0aW9uIGhhcyBiZWVuIGRpc3BhdGNoZWQgYnV0IGhhc24ndCBiZWVuIGhhbmRsZWQuIFRoaXMgbWF5IGhhcHBlbiBpZiB0aGUgc3RhdGUgd2l0aCBhbiBhY3Rpb24gaGFuZGxlciBmb3IgdGhpcyBhY3Rpb24gaXMgbm90IHJlZ2lzdGVyZWQuYFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const NGXS_DEVELOPMENT_OPTIONS =
|
|
3
|
-
/* @__PURE__ */ new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'NGXS_DEVELOPMENT_OPTIONS' : '', {
|
|
4
|
-
providedIn: 'root',
|
|
5
|
-
factory: () => ({ warnOnUnhandledActions: true })
|
|
6
|
-
});
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZXYtZmVhdHVyZXMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBYy9DLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QjtBQUNuQyxlQUFlLENBQUMsSUFBSSxjQUFjLENBQ2hDLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQy9FO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztDQUNsRCxDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY3Rpb25UeXBlIH0gZnJvbSAnLi4vYWN0aW9ucy9zeW1ib2xzJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3hzRGV2ZWxvcG1lbnRPcHRpb25zIHtcbiAgLy8gVGhpcyBhbGxvd3Mgc2V0dGluZyBvbmx5IGB0cnVlYCBiZWNhdXNlIHRoZXJlJ3Mgbm8gcmVhc29uIHRvIHNldCBgZmFsc2VgLlxuICAvLyBEZXZlbG9wZXJzIG1heSBqdXN0IHNraXAgaW1wb3J0aW5nIHRoZSBkZXZlbG9wbWVudCBtb2R1bGUgYXQgYWxsLlxuICB3YXJuT25VbmhhbmRsZWRBY3Rpb25zOlxuICAgIHwgdHJ1ZVxuICAgIHwge1xuICAgICAgICBpZ25vcmU6IEFjdGlvblR5cGVbXTtcbiAgICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBOR1hTX0RFVkVMT1BNRU5UX09QVElPTlMgPVxuICAvKiBAX19QVVJFX18gKi8gbmV3IEluamVjdGlvblRva2VuPE5neHNEZXZlbG9wbWVudE9wdGlvbnM+KFxuICAgIHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZSA/ICdOR1hTX0RFVkVMT1BNRU5UX09QVElPTlMnIDogJycsXG4gICAge1xuICAgICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgICAgZmFjdG9yeTogKCkgPT4gKHsgd2Fybk9uVW5oYW5kbGVkQWN0aW9uczogdHJ1ZSB9KVxuICAgIH1cbiAgKTtcbiJdfQ==
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';
|
|
2
|
-
import { isPlatformServer } from '@angular/common';
|
|
3
|
-
import { getZoneWarningMessage } from '../configs/messages.config';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class DispatchOutsideZoneNgxsExecutionStrategy {
|
|
6
|
-
constructor() {
|
|
7
|
-
this._ngZone = inject(NgZone);
|
|
8
|
-
this._isServer = isPlatformServer(inject(PLATFORM_ID));
|
|
9
|
-
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
10
|
-
verifyZoneIsNotNooped(this._ngZone);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
enter(func) {
|
|
14
|
-
if (this._isServer) {
|
|
15
|
-
return this.runInsideAngular(func);
|
|
16
|
-
}
|
|
17
|
-
return this.runOutsideAngular(func);
|
|
18
|
-
}
|
|
19
|
-
leave(func) {
|
|
20
|
-
return this.runInsideAngular(func);
|
|
21
|
-
}
|
|
22
|
-
runInsideAngular(func) {
|
|
23
|
-
if (NgZone.isInAngularZone()) {
|
|
24
|
-
return func();
|
|
25
|
-
}
|
|
26
|
-
return this._ngZone.run(func);
|
|
27
|
-
}
|
|
28
|
-
runOutsideAngular(func) {
|
|
29
|
-
if (NgZone.isInAngularZone()) {
|
|
30
|
-
return this._ngZone.runOutsideAngular(func);
|
|
31
|
-
}
|
|
32
|
-
return func();
|
|
33
|
-
}
|
|
34
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: DispatchOutsideZoneNgxsExecutionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: DispatchOutsideZoneNgxsExecutionStrategy, providedIn: 'root' }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: DispatchOutsideZoneNgxsExecutionStrategy, decorators: [{
|
|
38
|
-
type: Injectable,
|
|
39
|
-
args: [{ providedIn: 'root' }]
|
|
40
|
-
}], ctorParameters: () => [] });
|
|
41
|
-
// Caretaker note: this should exist as a separate function and not a class method,
|
|
42
|
-
// since class methods are not tree-shakable.
|
|
43
|
-
function verifyZoneIsNotNooped(ngZone) {
|
|
44
|
-
// `NoopNgZone` is not exposed publicly as it doesn't expect
|
|
45
|
-
// to be used outside of the core Angular code, thus we just have
|
|
46
|
-
// to check if the zone doesn't extend or instanceof `NgZone`.
|
|
47
|
-
if (ngZone instanceof NgZone) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
console.warn(getZoneWarningMessage());
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2gtb3V0c2lkZS16b25lLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2V4ZWN1dGlvbi9kaXNwYXRjaC1vdXRzaWRlLXpvbmUtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUduRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLHdDQUF3QztJQUluRDtRQUhRLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsY0FBUyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBR3hELElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2xELHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBSSxJQUFhO1FBQ3BCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLGdCQUFnQixDQUFJLElBQWE7UUFDdkMsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxpQkFBaUIsQ0FBSSxJQUFhO1FBQ3hDLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7aUlBakNVLHdDQUF3QztxSUFBeEMsd0NBQXdDLGNBRDNCLE1BQU07OzJGQUNuQix3Q0FBd0M7a0JBRHBELFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQXFDbEMsbUZBQW1GO0FBQ25GLDZDQUE2QztBQUM3QyxTQUFTLHFCQUFxQixDQUFDLE1BQWM7SUFDM0MsNERBQTREO0lBQzVELGlFQUFpRTtJQUNqRSw4REFBOEQ7SUFDOUQsSUFBSSxNQUFNLFlBQVksTUFBTSxFQUFFLENBQUM7UUFDN0IsT0FBTztJQUNULENBQUM7SUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9zeW1ib2xzJztcbmltcG9ydCB7IGdldFpvbmVXYXJuaW5nTWVzc2FnZSB9IGZyb20gJy4uL2NvbmZpZ3MvbWVzc2FnZXMuY29uZmlnJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IGltcGxlbWVudHMgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IHtcbiAgcHJpdmF0ZSBfbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgX2lzU2VydmVyID0gaXNQbGF0Zm9ybVNlcnZlcihpbmplY3QoUExBVEZPUk1fSUQpKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlKSB7XG4gICAgICB2ZXJpZnlab25lSXNOb3ROb29wZWQodGhpcy5fbmdab25lKTtcbiAgICB9XG4gIH1cblxuICBlbnRlcjxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgaWYgKHRoaXMuX2lzU2VydmVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5ydW5JbnNpZGVBbmd1bGFyKGZ1bmMpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ydW5PdXRzaWRlQW5ndWxhcihmdW5jKTtcbiAgfVxuXG4gIGxlYXZlPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5ydW5JbnNpZGVBbmd1bGFyKGZ1bmMpO1xuICB9XG5cbiAgcHJpdmF0ZSBydW5JbnNpZGVBbmd1bGFyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICBpZiAoTmdab25lLmlzSW5Bbmd1bGFyWm9uZSgpKSB7XG4gICAgICByZXR1cm4gZnVuYygpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fbmdab25lLnJ1bihmdW5jKTtcbiAgfVxuXG4gIHByaXZhdGUgcnVuT3V0c2lkZUFuZ3VsYXI8VD4oZnVuYzogKCkgPT4gVCk6IFQge1xuICAgIGlmIChOZ1pvbmUuaXNJbkFuZ3VsYXJab25lKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoZnVuYyk7XG4gICAgfVxuICAgIHJldHVybiBmdW5jKCk7XG4gIH1cbn1cblxuLy8gQ2FyZXRha2VyIG5vdGU6IHRoaXMgc2hvdWxkIGV4aXN0IGFzIGEgc2VwYXJhdGUgZnVuY3Rpb24gYW5kIG5vdCBhIGNsYXNzIG1ldGhvZCxcbi8vIHNpbmNlIGNsYXNzIG1ldGhvZHMgYXJlIG5vdCB0cmVlLXNoYWthYmxlLlxuZnVuY3Rpb24gdmVyaWZ5Wm9uZUlzTm90Tm9vcGVkKG5nWm9uZTogTmdab25lKTogdm9pZCB7XG4gIC8vIGBOb29wTmdab25lYCBpcyBub3QgZXhwb3NlZCBwdWJsaWNseSBhcyBpdCBkb2Vzbid0IGV4cGVjdFxuICAvLyB0byBiZSB1c2VkIG91dHNpZGUgb2YgdGhlIGNvcmUgQW5ndWxhciBjb2RlLCB0aHVzIHdlIGp1c3QgaGF2ZVxuICAvLyB0byBjaGVjayBpZiB0aGUgem9uZSBkb2Vzbid0IGV4dGVuZCBvciBpbnN0YW5jZW9mIGBOZ1pvbmVgLlxuICBpZiAobmdab25lIGluc3RhbmNlb2YgTmdab25lKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc29sZS53YXJuKGdldFpvbmVXYXJuaW5nTWVzc2FnZSgpKTtcbn1cbiJdfQ==
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { NGXS_EXECUTION_STRATEGY } from './symbols';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class InternalNgxsExecutionStrategy {
|
|
5
|
-
constructor() {
|
|
6
|
-
this._executionStrategy = inject(NGXS_EXECUTION_STRATEGY);
|
|
7
|
-
}
|
|
8
|
-
enter(func) {
|
|
9
|
-
return this._executionStrategy.enter(func);
|
|
10
|
-
}
|
|
11
|
-
leave(func) {
|
|
12
|
-
return this._executionStrategy.leave(func);
|
|
13
|
-
}
|
|
14
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: InternalNgxsExecutionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: InternalNgxsExecutionStrategy, providedIn: 'root' }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: InternalNgxsExecutionStrategy, decorators: [{
|
|
18
|
-
type: Injectable,
|
|
19
|
-
args: [{ providedIn: 'root' }]
|
|
20
|
-
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZXhlY3V0aW9uL2ludGVybmFsLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBeUIsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRzNFLE1BQU0sT0FBTyw2QkFBNkI7SUFEMUM7UUFFVSx1QkFBa0IsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztLQVM5RDtJQVBDLEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7aUlBVFUsNkJBQTZCO3FJQUE3Qiw2QkFBNkIsY0FEaEIsTUFBTTs7MkZBQ25CLDZCQUE2QjtrQkFEekMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5LCBOR1hTX0VYRUNVVElPTl9TVFJBVEVHWSB9IGZyb20gJy4vc3ltYm9scyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgaW1wbGVtZW50cyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kge1xuICBwcml2YXRlIF9leGVjdXRpb25TdHJhdGVneSA9IGluamVjdChOR1hTX0VYRUNVVElPTl9TVFJBVEVHWSk7XG5cbiAgZW50ZXI8VD4oZnVuYzogKCkgPT4gVCk6IFQge1xuICAgIHJldHVybiB0aGlzLl9leGVjdXRpb25TdHJhdGVneS5lbnRlcihmdW5jKTtcbiAgfVxuXG4gIGxlYXZlPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fZXhlY3V0aW9uU3RyYXRlZ3kubGVhdmUoZnVuYyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class NoopNgxsExecutionStrategy {
|
|
4
|
-
enter(func) {
|
|
5
|
-
return func();
|
|
6
|
-
}
|
|
7
|
-
leave(func) {
|
|
8
|
-
return func();
|
|
9
|
-
}
|
|
10
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NoopNgxsExecutionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NoopNgxsExecutionStrategy, providedIn: 'root' }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NoopNgxsExecutionStrategy, decorators: [{
|
|
14
|
-
type: Injectable,
|
|
15
|
-
args: [{ providedIn: 'root' }]
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9leGVjdXRpb24vbm9vcC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztpSUFQVSx5QkFBeUI7cUlBQXpCLHlCQUF5QixjQURaLE1BQU07OzJGQUNuQix5QkFBeUI7a0JBRHJDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgaW1wbGVtZW50cyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kge1xuICBlbnRlcjxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgcmV0dXJuIGZ1bmMoKTtcbiAgfVxuXG4gIGxlYXZlPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICByZXR1cm4gZnVuYygpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { InjectionToken, inject, INJECTOR, NgZone } from '@angular/core';
|
|
2
|
-
import { NoopNgxsExecutionStrategy } from './noop-ngxs-execution-strategy';
|
|
3
|
-
import { DispatchOutsideZoneNgxsExecutionStrategy } from './dispatch-outside-zone-ngxs-execution-strategy';
|
|
4
|
-
/**
|
|
5
|
-
* Consumers have the option to utilize the execution strategy provided by
|
|
6
|
-
* `NgxsModule.forRoot({executionStrategy})` or `provideStore([], {executionStrategy})`.
|
|
7
|
-
*/
|
|
8
|
-
export const CUSTOM_NGXS_EXECUTION_STRATEGY = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'CUSTOM_NGXS_EXECUTION_STRATEGY' : '');
|
|
9
|
-
/**
|
|
10
|
-
* The injection token is used internally to resolve an instance of the execution
|
|
11
|
-
* strategy. It checks whether consumers have provided their own `executionStrategy`
|
|
12
|
-
* and also verifies if we are operating in a zone-aware environment.
|
|
13
|
-
*/
|
|
14
|
-
export const NGXS_EXECUTION_STRATEGY = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'NGXS_EXECUTION_STRATEGY' : '', {
|
|
15
|
-
providedIn: 'root',
|
|
16
|
-
factory: () => {
|
|
17
|
-
const ngZone = inject(NgZone);
|
|
18
|
-
const injector = inject(INJECTOR);
|
|
19
|
-
const executionStrategy = injector.get(CUSTOM_NGXS_EXECUTION_STRATEGY);
|
|
20
|
-
const isNgZoneEnabled = ngZone instanceof NgZone;
|
|
21
|
-
return executionStrategy
|
|
22
|
-
? injector.get(executionStrategy)
|
|
23
|
-
: injector.get(isNgZoneEnabled
|
|
24
|
-
? DispatchOutsideZoneNgxsExecutionStrategy
|
|
25
|
-
: NoopNgxsExecutionStrategy);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9leGVjdXRpb24vc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQVEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTNHOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUU5RCxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFekY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUN2RCxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUM5RTtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sZUFBZSxHQUFHLE1BQU0sWUFBWSxNQUFNLENBQUM7UUFDakQsT0FBTyxpQkFBaUI7WUFDdEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUM7WUFDakMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ1YsZUFBZTtnQkFDYixDQUFDLENBQUMsd0NBQXdDO2dCQUMxQyxDQUFDLENBQUMseUJBQXlCLENBQzlCLENBQUM7SUFDUixDQUFDO0NBQ0YsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIGluamVjdCwgSU5KRUNUT1IsIFR5cGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOb29wTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9ub29wLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2Rpc3BhdGNoLW91dHNpZGUtem9uZS1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5cbi8qKlxuICogQ29uc3VtZXJzIGhhdmUgdGhlIG9wdGlvbiB0byB1dGlsaXplIHRoZSBleGVjdXRpb24gc3RyYXRlZ3kgcHJvdmlkZWQgYnlcbiAqIGBOZ3hzTW9kdWxlLmZvclJvb3Qoe2V4ZWN1dGlvblN0cmF0ZWd5fSlgIG9yIGBwcm92aWRlU3RvcmUoW10sIHtleGVjdXRpb25TdHJhdGVneX0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IENVU1RPTV9OR1hTX0VYRUNVVElPTl9TVFJBVEVHWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgVHlwZTxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3k+IHwgdW5kZWZpbmVkXG4+KHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZSA/ICdDVVNUT01fTkdYU19FWEVDVVRJT05fU1RSQVRFR1knIDogJycpO1xuXG4vKipcbiAqIFRoZSBpbmplY3Rpb24gdG9rZW4gaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHJlc29sdmUgYW4gaW5zdGFuY2Ugb2YgdGhlIGV4ZWN1dGlvblxuICogc3RyYXRlZ3kuIEl0IGNoZWNrcyB3aGV0aGVyIGNvbnN1bWVycyBoYXZlIHByb3ZpZGVkIHRoZWlyIG93biBgZXhlY3V0aW9uU3RyYXRlZ3lgXG4gKiBhbmQgYWxzbyB2ZXJpZmllcyBpZiB3ZSBhcmUgb3BlcmF0aW5nIGluIGEgem9uZS1hd2FyZSBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IE5HWFNfRVhFQ1VUSU9OX1NUUkFURUdZID0gbmV3IEluamVjdGlvblRva2VuPE5neHNFeGVjdXRpb25TdHJhdGVneT4oXG4gIHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZSA/ICdOR1hTX0VYRUNVVElPTl9TVFJBVEVHWScgOiAnJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgICBjb25zdCBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICAgIGNvbnN0IGluamVjdG9yID0gaW5qZWN0KElOSkVDVE9SKTtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvblN0cmF0ZWd5ID0gaW5qZWN0b3IuZ2V0KENVU1RPTV9OR1hTX0VYRUNVVElPTl9TVFJBVEVHWSk7XG4gICAgICBjb25zdCBpc05nWm9uZUVuYWJsZWQgPSBuZ1pvbmUgaW5zdGFuY2VvZiBOZ1pvbmU7XG4gICAgICByZXR1cm4gZXhlY3V0aW9uU3RyYXRlZ3lcbiAgICAgICAgPyBpbmplY3Rvci5nZXQoZXhlY3V0aW9uU3RyYXRlZ3kpXG4gICAgICAgIDogaW5qZWN0b3IuZ2V0KFxuICAgICAgICAgICAgaXNOZ1pvbmVFbmFibGVkXG4gICAgICAgICAgICAgID8gRGlzcGF0Y2hPdXRzaWRlWm9uZU5neHNFeGVjdXRpb25TdHJhdGVneVxuICAgICAgICAgICAgICA6IE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3lcbiAgICAgICAgICApO1xuICAgIH1cbiAgfVxuKTtcblxuLypcbiAqIEV4ZWN1dGlvbiBzdHJhdGVneSBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kge1xuICBlbnRlcjxUPihmdW5jOiAoKSA9PiBUKTogVDtcbiAgbGVhdmU8VD4oZnVuYzogKCkgPT4gVCk6IFQ7XG59XG4iXX0=
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable, Injector, NgZone, runInInjectionContext } from '@angular/core';
|
|
2
|
-
import { forkJoin, of, Subject, throwError } from 'rxjs';
|
|
3
|
-
import { filter, map, mergeMap, shareReplay, take } from 'rxjs/operators';
|
|
4
|
-
import { getActionTypeFromInstance } from '@ngxs/store/plugins';
|
|
5
|
-
import { ɵStateStream } from '@ngxs/store/internals';
|
|
6
|
-
import { InternalActions } from '../actions-stream';
|
|
7
|
-
import { PluginManager } from '../plugin-manager';
|
|
8
|
-
import { InternalNgxsExecutionStrategy } from '../execution/internal-ngxs-execution-strategy';
|
|
9
|
-
import { leaveNgxs } from '../operators/leave-ngxs';
|
|
10
|
-
import { fallbackSubscriber } from './fallback-subscriber';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
/**
|
|
13
|
-
* Internal Action result stream that is emitted when an action is completed.
|
|
14
|
-
* This is used as a method of returning the action result to the dispatcher
|
|
15
|
-
* for the observable returned by the dispatch(...) call.
|
|
16
|
-
* The dispatcher then asynchronously pushes the result from this stream onto the main action stream as a result.
|
|
17
|
-
*/
|
|
18
|
-
export class InternalDispatchedActionResults extends Subject {
|
|
19
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: InternalDispatchedActionResults, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: InternalDispatchedActionResults, providedIn: 'root' }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: InternalDispatchedActionResults, decorators: [{
|
|
23
|
-
type: Injectable,
|
|
24
|
-
args: [{ providedIn: 'root' }]
|
|
25
|
-
}] });
|
|
26
|
-
export class InternalDispatcher {
|
|
27
|
-
constructor() {
|
|
28
|
-
this._ngZone = inject(NgZone);
|
|
29
|
-
this._actions = inject(InternalActions);
|
|
30
|
-
this._actionResults = inject(InternalDispatchedActionResults);
|
|
31
|
-
this._pluginManager = inject(PluginManager);
|
|
32
|
-
this._stateStream = inject(ɵStateStream);
|
|
33
|
-
this._ngxsExecutionStrategy = inject(InternalNgxsExecutionStrategy);
|
|
34
|
-
this._injector = inject(Injector);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Dispatches event(s).
|
|
38
|
-
*/
|
|
39
|
-
dispatch(actionOrActions) {
|
|
40
|
-
const result = this._ngxsExecutionStrategy.enter(() => this.dispatchByEvents(actionOrActions));
|
|
41
|
-
return result.pipe(fallbackSubscriber(this._ngZone), leaveNgxs(this._ngxsExecutionStrategy));
|
|
42
|
-
}
|
|
43
|
-
dispatchByEvents(actionOrActions) {
|
|
44
|
-
if (Array.isArray(actionOrActions)) {
|
|
45
|
-
if (actionOrActions.length === 0)
|
|
46
|
-
return of(undefined);
|
|
47
|
-
return forkJoin(actionOrActions.map(action => this.dispatchSingle(action))).pipe(map(() => undefined));
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
return this.dispatchSingle(actionOrActions);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
dispatchSingle(action) {
|
|
54
|
-
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
55
|
-
const type = getActionTypeFromInstance(action);
|
|
56
|
-
if (!type) {
|
|
57
|
-
const error = new Error(`This action doesn't have a type property: ${action.constructor.name}`);
|
|
58
|
-
return throwError(() => error);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
const prevState = this._stateStream.getValue();
|
|
62
|
-
const plugins = this._pluginManager.plugins;
|
|
63
|
-
return compose(this._injector, [
|
|
64
|
-
...plugins,
|
|
65
|
-
(nextState, nextAction) => {
|
|
66
|
-
if (nextState !== prevState) {
|
|
67
|
-
this._stateStream.next(nextState);
|
|
68
|
-
}
|
|
69
|
-
const actionResult$ = this.getActionResultStream(nextAction);
|
|
70
|
-
actionResult$.subscribe(ctx => this._actions.next(ctx));
|
|
71
|
-
this._actions.next({ action: nextAction, status: "DISPATCHED" /* ActionStatus.Dispatched */ });
|
|
72
|
-
return this.createDispatchObservable(actionResult$);
|
|
73
|
-
}
|
|
74
|
-
])(prevState, action).pipe(shareReplay());
|
|
75
|
-
}
|
|
76
|
-
getActionResultStream(action) {
|
|
77
|
-
return this._actionResults.pipe(filter((ctx) => ctx.action === action && ctx.status !== "DISPATCHED" /* ActionStatus.Dispatched */), take(1), shareReplay());
|
|
78
|
-
}
|
|
79
|
-
createDispatchObservable(actionResult$) {
|
|
80
|
-
return actionResult$.pipe(mergeMap((ctx) => {
|
|
81
|
-
switch (ctx.status) {
|
|
82
|
-
case "SUCCESSFUL" /* ActionStatus.Successful */:
|
|
83
|
-
// The `createDispatchObservable` function should return the
|
|
84
|
-
// state, as its result is used by plugins.
|
|
85
|
-
return of(this._stateStream.getValue());
|
|
86
|
-
case "ERRORED" /* ActionStatus.Errored */:
|
|
87
|
-
return throwError(() => ctx.error);
|
|
88
|
-
default:
|
|
89
|
-
// Once dispatched or canceled, we complete it immediately because
|
|
90
|
-
// `dispatch()` should emit (or error, or complete) as soon as it succeeds or fails.
|
|
91
|
-
return of();
|
|
92
|
-
}
|
|
93
|
-
}), shareReplay());
|
|
94
|
-
}
|
|
95
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: InternalDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
96
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: InternalDispatcher, providedIn: 'root' }); }
|
|
97
|
-
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: InternalDispatcher, decorators: [{
|
|
99
|
-
type: Injectable,
|
|
100
|
-
args: [{ providedIn: 'root' }]
|
|
101
|
-
}] });
|
|
102
|
-
/**
|
|
103
|
-
* Composes a array of functions from left to right. Example:
|
|
104
|
-
*
|
|
105
|
-
* compose([fn, final])(state, action);
|
|
106
|
-
*
|
|
107
|
-
* then the funcs have a signature like:
|
|
108
|
-
*
|
|
109
|
-
* function fn (state, action, next) {
|
|
110
|
-
* console.log('here', state, action, next);
|
|
111
|
-
* return next(state, action);
|
|
112
|
-
* }
|
|
113
|
-
*
|
|
114
|
-
* function final (state, action) {
|
|
115
|
-
* console.log('here', state, action);
|
|
116
|
-
* return state;
|
|
117
|
-
* }
|
|
118
|
-
*
|
|
119
|
-
* the last function should not call `next`.
|
|
120
|
-
*/
|
|
121
|
-
const compose = (injector, funcs) => (...args) => {
|
|
122
|
-
const curr = funcs.shift();
|
|
123
|
-
return runInInjectionContext(injector, () => curr(...args, (...nextArgs) => compose(injector, funcs)(...nextArgs)));
|
|
124
|
-
};
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbkUsT0FBTyxFQUErQixlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDOUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUUzRDs7Ozs7R0FLRztBQUVILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxPQUFzQjtpSUFBOUQsK0JBQStCO3FJQUEvQiwrQkFBK0IsY0FEbEIsTUFBTTs7MkZBQ25CLCtCQUErQjtrQkFEM0MsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBSWxDLE1BQU0sT0FBTyxrQkFBa0I7SUFEL0I7UUFFVSxZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FB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QyxRQUFrQixFQUFFLEtBQWdCLEVBQUUsRUFBRSxDQUN6QyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUU7SUFDakIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRyxDQUFDO0lBQzVCLE9BQU8scUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUMxQyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxHQUFHLFFBQWUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQzdFLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAsIHNoYXJlUmVwbGF5LCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlIH0gZnJvbSAnQG5neHMvc3RvcmUvcGx1Z2lucyc7XG5pbXBvcnQgeyDJtVBsYWluT2JqZWN0LCDJtVN0YXRlU3RyZWFtIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgQWN0aW9uQ29udGV4dCwgQWN0aW9uU3RhdHVzLCBJbnRlcm5hbEFjdGlvbnMgfSBmcm9tICcuLi9hY3Rpb25zLXN0cmVhbSc7XG5pbXBvcnQgeyBQbHVnaW5NYW5hZ2VyIH0gZnJvbSAnLi4vcGx1Z2luLW1hbmFnZXInO1xuaW1wb3J0IHsgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi9leGVjdXRpb24vaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xuaW1wb3J0IHsgbGVhdmVOZ3hzIH0gZnJvbSAnLi4vb3BlcmF0b3JzL2xlYXZlLW5neHMnO1xuaW1wb3J0IHsgZmFsbGJhY2tTdWJzY3JpYmVyIH0gZnJvbSAnLi9mYWxsYmFjay1zdWJzY3JpYmVyJztcblxuLyoqXG4gKiBJbnRlcm5hbCBBY3Rpb24gcmVzdWx0IHN0cmVhbSB0aGF0IGlzIGVtaXR0ZWQgd2hlbiBhbiBhY3Rpb24gaXMgY29tcGxldGVkLlxuICogVGhpcyBpcyB1c2VkIGFzIGEgbWV0aG9kIG9mIHJldHVybmluZyB0aGUgYWN0aW9uIHJlc3VsdCB0byB0aGUgZGlzcGF0Y2hlclxuICogZm9yIHRoZSBvYnNlcnZhYmxlIHJldHVybmVkIGJ5IHRoZSBkaXNwYXRjaCguLi4pIGNhbGwuXG4gKiBUaGUgZGlzcGF0Y2hlciB0aGVuIGFzeW5jaHJvbm91c2x5IHB1c2hlcyB0aGUgcmVzdWx0IGZyb20gdGhpcyBzdHJlYW0gb250byB0aGUgbWFpbiBhY3Rpb24gc3RyZWFtIGFzIGEgcmVzdWx0LlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsRGlzcGF0Y2hlZEFjdGlvblJlc3VsdHMgZXh0ZW5kcyBTdWJqZWN0PEFjdGlvbkNvbnRleHQ+IHt9XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxEaXNwYXRjaGVyIHtcbiAgcHJpdmF0ZSBfbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgX2FjdGlvbnMgPSBpbmplY3QoSW50ZXJuYWxBY3Rpb25zKTtcbiAgcHJpdmF0ZSBfYWN0aW9uUmVzdWx0cyA9IGluamVjdChJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzKTtcbiAgcHJpdmF0ZSBfcGx1Z2luTWFuYWdlciA9IGluamVjdChQbHVnaW5NYW5hZ2VyKTtcbiAgcHJpdmF0ZSBfc3RhdGVTdHJlYW0gPSBpbmplY3QoybVTdGF0ZVN0cmVhbSk7XG4gIHByaXZhdGUgX25neHNFeGVjdXRpb25TdHJhdGVneSA9IGluamVjdChJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSk7XG4gIHByaXZhdGUgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICAvKipcbiAgICogRGlzcGF0Y2hlcyBldmVudChzKS5cbiAgICovXG4gIGRpc3BhdGNoKGFjdGlvbk9yQWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9uZ3hzRXhlY3V0aW9uU3RyYXRlZ3kuZW50ZXIoKCkgPT5cbiAgICAgIHRoaXMuZGlzcGF0Y2hCeUV2ZW50cyhhY3Rpb25PckFjdGlvbnMpXG4gICAgKTtcblxuICAgIHJldHVybiByZXN1bHQucGlwZShcbiAgICAgIGZhbGxiYWNrU3Vic2NyaWJlcih0aGlzLl9uZ1pvbmUpLFxuICAgICAgbGVhdmVOZ3hzKHRoaXMuX25neHNFeGVjdXRpb25TdHJhdGVneSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwYXRjaEJ5RXZlbnRzKGFjdGlvbk9yQWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShhY3Rpb25PckFjdGlvbnMpKSB7XG4gICAgICBpZiAoYWN0aW9uT3JBY3Rpb25zLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG5cbiAgICAgIHJldHVybiBmb3JrSm9pbihhY3Rpb25PckFjdGlvbnMubWFwKGFjdGlvbiA9PiB0aGlzLmRpc3BhdGNoU2luZ2xlKGFjdGlvbikpKS5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hTaW5nbGUoYWN0aW9uT3JBY3Rpb25zKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRpc3BhdGNoU2luZ2xlKGFjdGlvbjogYW55KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZSkge1xuICAgICAgY29uc3QgdHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShhY3Rpb24pO1xuICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFxuICAgICAgICAgIGBUaGlzIGFjdGlvbiBkb2Vzbid0IGhhdmUgYSB0eXBlIHByb3BlcnR5OiAke2FjdGlvbi5jb25zdHJ1Y3Rvci5uYW1lfWBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuX3N0YXRlU3RyZWFtLmdldFZhbHVlKCk7XG4gICAgY29uc3QgcGx1Z2lucyA9IHRoaXMuX3BsdWdpbk1hbmFnZXIucGx1Z2lucztcblxuICAgIHJldHVybiBjb21wb3NlKHRoaXMuX2luamVjdG9yLCBbXG4gICAgICAuLi5wbHVnaW5zLFxuICAgICAgKG5leHRTdGF0ZTogYW55LCBuZXh0QWN0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKG5leHRTdGF0ZSAhPT0gcHJldlN0YXRlKSB7XG4gICAgICAgICAgdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChuZXh0U3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGlvblJlc3VsdCQgPSB0aGlzLmdldEFjdGlvblJlc3VsdFN0cmVhbShuZXh0QWN0aW9uKTtcbiAgICAgICAgYWN0aW9uUmVzdWx0JC5zdWJzY3JpYmUoY3R4ID0+IHRoaXMuX2FjdGlvbnMubmV4dChjdHgpKTtcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5uZXh0KHsgYWN0aW9uOiBuZXh0QWN0aW9uLCBzdGF0dXM6IEFjdGlvblN0YXR1cy5EaXNwYXRjaGVkIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVEaXNwYXRjaE9ic2VydmFibGUoYWN0aW9uUmVzdWx0JCk7XG4gICAgICB9XG4gICAgXSkocHJldlN0YXRlLCBhY3Rpb24pLnBpcGUoc2hhcmVSZXBsYXkoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGlvblJlc3VsdFN0cmVhbShhY3Rpb246IGFueSk6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dD4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25SZXN1bHRzLnBpcGUoXG4gICAgICBmaWx0ZXIoXG4gICAgICAgIChjdHg6IEFjdGlvbkNvbnRleHQpID0+IGN0eC5hY3Rpb24gPT09IGFjdGlvbiAmJiBjdHguc3RhdHVzICE9PSBBY3Rpb25TdGF0dXMuRGlzcGF0Y2hlZFxuICAgICAgKSxcbiAgICAgIHRha2UoMSksXG4gICAgICBzaGFyZVJlcGxheSgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGlzcGF0Y2hPYnNlcnZhYmxlKFxuICAgIGFjdGlvblJlc3VsdCQ6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dD5cbiAgKTogT2JzZXJ2YWJsZTzJtVBsYWluT2JqZWN0PiB7XG4gICAgcmV0dXJuIGFjdGlvblJlc3VsdCQucGlwZShcbiAgICAgIG1lcmdlTWFwKChjdHg6IEFjdGlvbkNvbnRleHQpID0+IHtcbiAgICAgICAgc3dpdGNoIChjdHguc3RhdHVzKSB7XG4gICAgICAgICAgY2FzZSBBY3Rpb25TdGF0dXMuU3VjY2Vzc2Z1bDpcbiAgICAgICAgICAgIC8vIFRoZSBgY3JlYXRlRGlzcGF0Y2hPYnNlcnZhYmxlYCBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIHRoZVxuICAgICAgICAgICAgLy8gc3RhdGUsIGFzIGl0cyByZXN1bHQgaXMgdXNlZCBieSBwbHVnaW5zLlxuICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuX3N0YXRlU3RyZWFtLmdldFZhbHVlKCkpO1xuICAgICAgICAgIGNhc2UgQWN0aW9uU3RhdHVzLkVycm9yZWQ6XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBjdHguZXJyb3IpO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAvLyBPbmNlIGRpc3BhdGNoZWQgb3IgY2FuY2VsZWQsIHdlIGNvbXBsZXRlIGl0IGltbWVkaWF0ZWx5IGJlY2F1c2VcbiAgICAgICAgICAgIC8vIGBkaXNwYXRjaCgpYCBzaG91bGQgZW1pdCAob3IgZXJyb3IsIG9yIGNvbXBsZXRlKSBhcyBzb29uIGFzIGl0IHN1Y2NlZWRzIG9yIGZhaWxzLlxuICAgICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoKVxuICAgICk7XG4gIH1cbn1cblxudHlwZSBTdGF0ZUZuID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk7XG5cbi8qKlxuICogQ29tcG9zZXMgYSBhcnJheSBvZiBmdW5jdGlvbnMgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBFeGFtcGxlOlxuICpcbiAqICAgICAgY29tcG9zZShbZm4sIGZpbmFsXSkoc3RhdGUsIGFjdGlvbik7XG4gKlxuICogdGhlbiB0aGUgZnVuY3MgaGF2ZSBhIHNpZ25hdHVyZSBsaWtlOlxuICpcbiAqICAgICAgZnVuY3Rpb24gZm4gKHN0YXRlLCBhY3Rpb24sIG5leHQpIHtcbiAqICAgICAgICAgIGNvbnNvbGUubG9nKCdoZXJlJywgc3RhdGUsIGFjdGlvbiwgbmV4dCk7XG4gKiAgICAgICAgICByZXR1cm4gbmV4dChzdGF0ZSwgYWN0aW9uKTtcbiAqICAgICAgfVxuICpcbiAqICAgICAgZnVuY3Rpb24gZmluYWwgKHN0YXRlLCBhY3Rpb24pIHtcbiAqICAgICAgICAgIGNvbnNvbGUubG9nKCdoZXJlJywgc3RhdGUsIGFjdGlvbik7XG4gKiAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gKiAgICAgIH1cbiAqXG4gKiB0aGUgbGFzdCBmdW5jdGlvbiBzaG91bGQgbm90IGNhbGwgYG5leHRgLlxuICovXG5jb25zdCBjb21wb3NlID1cbiAgKGluamVjdG9yOiBJbmplY3RvciwgZnVuY3M6IFN0YXRlRm5bXSkgPT5cbiAgKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgY29uc3QgY3VyciA9IGZ1bmNzLnNoaWZ0KCkhO1xuICAgIHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+XG4gICAgICBjdXJyKC4uLmFyZ3MsICguLi5uZXh0QXJnczogYW55W10pID0+IGNvbXBvc2UoaW5qZWN0b3IsIGZ1bmNzKSguLi5uZXh0QXJncykpXG4gICAgKTtcbiAgfTtcbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { executeUnhandledCallback } from './unhandled-rxjs-error-callback';
|
|
3
|
-
export function fallbackSubscriber(ngZone) {
|
|
4
|
-
return (source) => {
|
|
5
|
-
let subscription = source.subscribe({
|
|
6
|
-
error: error => {
|
|
7
|
-
ngZone.runOutsideAngular(() => {
|
|
8
|
-
// This is necessary to schedule a microtask to ensure that synchronous
|
|
9
|
-
// errors are not reported before the real subscriber arrives. If an error
|
|
10
|
-
// is thrown synchronously in any action, it will be reported to the error
|
|
11
|
-
// handler regardless. Since RxJS reports unhandled errors asynchronously,
|
|
12
|
-
// implementing a microtask ensures that we are also safe in this scenario.
|
|
13
|
-
queueMicrotask(() => {
|
|
14
|
-
if (subscription) {
|
|
15
|
-
executeUnhandledCallback(error);
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
return new Observable(subscriber => {
|
|
22
|
-
// Now that there is a real subscriber, we can unsubscribe our pro-active subscription
|
|
23
|
-
subscription?.unsubscribe();
|
|
24
|
-
subscription = null;
|
|
25
|
-
return source.subscribe(subscriber);
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsbGJhY2stc3Vic2NyaWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9mYWxsYmFjay1zdWJzY3JpYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNFLE1BQU0sVUFBVSxrQkFBa0IsQ0FBSSxNQUFjO0lBQ2xELE9BQU8sQ0FBQyxNQUFxQixFQUFFLEVBQUU7UUFDL0IsSUFBSSxZQUFZLEdBQXdCLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDdkQsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNiLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7b0JBQzVCLHVFQUF1RTtvQkFDdkUsMEVBQTBFO29CQUMxRSwwRUFBMEU7b0JBQzFFLDBFQUEwRTtvQkFDMUUsMkVBQTJFO29CQUMzRSxjQUFjLENBQUMsR0FBRyxFQUFFO3dCQUNsQixJQUFJLFlBQVksRUFBRSxDQUFDOzRCQUNqQix3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDbEMsQ0FBQztvQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksVUFBVSxDQUFJLFVBQVUsQ0FBQyxFQUFFO1lBQ3BDLHNGQUFzRjtZQUN0RixZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDNUIsWUFBWSxHQUFHLElBQUksQ0FBQztZQUVwQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZXhlY3V0ZVVuaGFuZGxlZENhbGxiYWNrIH0gZnJvbSAnLi91bmhhbmRsZWQtcnhqcy1lcnJvci1jYWxsYmFjayc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmYWxsYmFja1N1YnNjcmliZXI8VD4obmdab25lOiBOZ1pvbmUpIHtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHtcbiAgICBsZXQgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gc291cmNlLnN1YnNjcmliZSh7XG4gICAgICBlcnJvcjogZXJyb3IgPT4ge1xuICAgICAgICBuZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIHNjaGVkdWxlIGEgbWljcm90YXNrIHRvIGVuc3VyZSB0aGF0IHN5bmNocm9ub3VzXG4gICAgICAgICAgLy8gZXJyb3JzIGFyZSBub3QgcmVwb3J0ZWQgYmVmb3JlIHRoZSByZWFsIHN1YnNjcmliZXIgYXJyaXZlcy4gSWYgYW4gZXJyb3JcbiAgICAgICAgICAvLyBpcyB0aHJvd24gc3luY2hyb25vdXNseSBpbiBhbnkgYWN0aW9uLCBpdCB3aWxsIGJlIHJlcG9ydGVkIHRvIHRoZSBlcnJvclxuICAgICAgICAgIC8vIGhhbmRsZXIgcmVnYXJkbGVzcy4gU2luY2UgUnhKUyByZXBvcnRzIHVuaGFuZGxlZCBlcnJvcnMgYXN5bmNocm9ub3VzbHksXG4gICAgICAgICAgLy8gaW1wbGVtZW50aW5nIGEgbWljcm90YXNrIGVuc3VyZXMgdGhhdCB3ZSBhcmUgYWxzbyBzYWZlIGluIHRoaXMgc2NlbmFyaW8uXG4gICAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICBleGVjdXRlVW5oYW5kbGVkQ2FsbGJhY2soZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxUPihzdWJzY3JpYmVyID0+IHtcbiAgICAgIC8vIE5vdyB0aGF0IHRoZXJlIGlzIGEgcmVhbCBzdWJzY3JpYmVyLCB3ZSBjYW4gdW5zdWJzY3JpYmUgb3VyIHByby1hY3RpdmUgc3Vic2NyaXB0aW9uXG4gICAgICBzdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICBzdWJzY3JpcHRpb24gPSBudWxsO1xuXG4gICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==
|