@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.
Files changed (144) hide show
  1. package/experimental/index.d.ts +6 -5
  2. package/fesm2022/ngxs-store-experimental.mjs +8 -25
  3. package/fesm2022/ngxs-store-experimental.mjs.map +1 -1
  4. package/fesm2022/ngxs-store-internals-testing.mjs +8 -9
  5. package/fesm2022/ngxs-store-internals-testing.mjs.map +1 -1
  6. package/fesm2022/ngxs-store-internals.mjs +6 -6
  7. package/fesm2022/ngxs-store-internals.mjs.map +1 -1
  8. package/fesm2022/ngxs-store-operators.mjs.map +1 -1
  9. package/fesm2022/ngxs-store-plugins.mjs.map +1 -1
  10. package/fesm2022/ngxs-store.mjs +101 -72
  11. package/fesm2022/ngxs-store.mjs.map +1 -1
  12. package/index.d.ts +11 -1
  13. package/package.json +2 -14
  14. package/schematics/src/actions/actions.factory.js +1 -2
  15. package/schematics/src/actions/actions.factory.js.map +1 -1
  16. package/schematics/src/ng-add/add-declaration.js +2 -3
  17. package/schematics/src/ng-add/add-declaration.js.map +1 -1
  18. package/schematics/src/ng-add/ng-add.factory.js +1 -2
  19. package/schematics/src/ng-add/ng-add.factory.js.map +1 -1
  20. package/schematics/src/starter-kit/starter-kit.factory.js +1 -2
  21. package/schematics/src/starter-kit/starter-kit.factory.js.map +1 -1
  22. package/schematics/src/state/state.factory.js +1 -2
  23. package/schematics/src/state/state.factory.js.map +1 -1
  24. package/schematics/src/store/store.factory.js +1 -2
  25. package/schematics/src/store/store.factory.js.map +1 -1
  26. package/schematics/src/utils/common/properties.js +1 -2
  27. package/schematics/src/utils/common/properties.js.map +1 -1
  28. package/schematics/src/utils/config.js +2 -3
  29. package/schematics/src/utils/config.js.map +1 -1
  30. package/schematics/src/utils/generate-utils.js +1 -2
  31. package/schematics/src/utils/generate-utils.js.map +1 -1
  32. package/schematics/src/utils/normalize-options.js +3 -4
  33. package/schematics/src/utils/normalize-options.js.map +1 -1
  34. package/schematics/src/utils/project.js +4 -5
  35. package/schematics/src/utils/project.js.map +1 -1
  36. package/esm2022/experimental/index.mjs +0 -2
  37. package/esm2022/experimental/ngxs-store-experimental.mjs +0 -5
  38. package/esm2022/experimental/pending-tasks.mjs +0 -30
  39. package/esm2022/index.mjs +0 -13
  40. package/esm2022/internals/custom-rxjs-operators.mjs +0 -19
  41. package/esm2022/internals/custom-rxjs-subjects.mjs +0 -92
  42. package/esm2022/internals/index.mjs +0 -11
  43. package/esm2022/internals/initial-state.mjs +0 -17
  44. package/esm2022/internals/internal-tokens.mjs +0 -5
  45. package/esm2022/internals/memoize.mjs +0 -43
  46. package/esm2022/internals/metadata.mjs +0 -57
  47. package/esm2022/internals/ngxs-app-bootstrapped-state.mjs +0 -19
  48. package/esm2022/internals/ngxs-store-internals.mjs +0 -5
  49. package/esm2022/internals/state-stream.mjs +0 -33
  50. package/esm2022/internals/state-token.mjs +0 -17
  51. package/esm2022/internals/symbols.mjs +0 -11
  52. package/esm2022/internals/testing/fresh-platform.mjs +0 -72
  53. package/esm2022/internals/testing/helpers/ngxs-test.component.mjs +0 -16
  54. package/esm2022/internals/testing/helpers/ngxs-test.module.mjs +0 -20
  55. package/esm2022/internals/testing/index.mjs +0 -4
  56. package/esm2022/internals/testing/ngxs-store-internals-testing.mjs +0 -5
  57. package/esm2022/internals/testing/ngxs.setup.mjs +0 -49
  58. package/esm2022/internals/testing/skip-console-logging.mjs +0 -37
  59. package/esm2022/internals/testing/symbol.mjs +0 -2
  60. package/esm2022/ngxs-store.mjs +0 -5
  61. package/esm2022/operators/append.mjs +0 -20
  62. package/esm2022/operators/compose.mjs +0 -6
  63. package/esm2022/operators/iif.mjs +0 -38
  64. package/esm2022/operators/index.mjs +0 -14
  65. package/esm2022/operators/insert-item.mjs +0 -29
  66. package/esm2022/operators/ngxs-store-operators.mjs +0 -5
  67. package/esm2022/operators/patch.mjs +0 -21
  68. package/esm2022/operators/remove-item.mjs +0 -22
  69. package/esm2022/operators/types.mjs +0 -2
  70. package/esm2022/operators/update-item.mjs +0 -40
  71. package/esm2022/operators/utils.mjs +0 -19
  72. package/esm2022/plugins/actions.mjs +0 -16
  73. package/esm2022/plugins/index.mjs +0 -4
  74. package/esm2022/plugins/ngxs-store-plugins.mjs +0 -5
  75. package/esm2022/plugins/symbols.mjs +0 -15
  76. package/esm2022/plugins/utils.mjs +0 -51
  77. package/esm2022/src/actions/action-registry.mjs +0 -34
  78. package/esm2022/src/actions/symbols.mjs +0 -2
  79. package/esm2022/src/actions-stream.mjs +0 -61
  80. package/esm2022/src/configs/messages.config.mjs +0 -48
  81. package/esm2022/src/decorators/action.mjs +0 -31
  82. package/esm2022/src/decorators/select/select-factory.mjs +0 -29
  83. package/esm2022/src/decorators/select/select.mjs +0 -29
  84. package/esm2022/src/decorators/select/symbols.mjs +0 -29
  85. package/esm2022/src/decorators/selector/selector.mjs +0 -29
  86. package/esm2022/src/decorators/selector/symbols.mjs +0 -2
  87. package/esm2022/src/decorators/selector-options.mjs +0 -21
  88. package/esm2022/src/decorators/state.mjs +0 -35
  89. package/esm2022/src/dev-features/ngxs-development.module.mjs +0 -28
  90. package/esm2022/src/dev-features/ngxs-unhandled-actions-logger.mjs +0 -43
  91. package/esm2022/src/dev-features/symbols.mjs +0 -7
  92. package/esm2022/src/execution/dispatch-outside-zone-ngxs-execution-strategy.mjs +0 -52
  93. package/esm2022/src/execution/internal-ngxs-execution-strategy.mjs +0 -21
  94. package/esm2022/src/execution/noop-ngxs-execution-strategy.mjs +0 -17
  95. package/esm2022/src/execution/symbols.mjs +0 -28
  96. package/esm2022/src/internal/dispatcher.mjs +0 -125
  97. package/esm2022/src/internal/fallback-subscriber.mjs +0 -29
  98. package/esm2022/src/internal/internals.mjs +0 -205
  99. package/esm2022/src/internal/lifecycle-state-manager.mjs +0 -81
  100. package/esm2022/src/internal/provide-internal-tokens.mjs +0 -20
  101. package/esm2022/src/internal/state-context-factory.mjs +0 -70
  102. package/esm2022/src/internal/state-factory.mjs +0 -311
  103. package/esm2022/src/internal/state-operations.mjs +0 -60
  104. package/esm2022/src/internal/state-operators.mjs +0 -20
  105. package/esm2022/src/internal/unhandled-rxjs-error-callback.mjs +0 -46
  106. package/esm2022/src/ivy/ivy-enabled-in-dev-mode.mjs +0 -25
  107. package/esm2022/src/module.mjs +0 -27
  108. package/esm2022/src/modules/ngxs-feature.module.mjs +0 -18
  109. package/esm2022/src/modules/ngxs-root.module.mjs +0 -18
  110. package/esm2022/src/ngxs-unhandled-error-handler.mjs +0 -29
  111. package/esm2022/src/operators/leave-ngxs.mjs +0 -9
  112. package/esm2022/src/operators/of-action.mjs +0 -104
  113. package/esm2022/src/plugin-manager.mjs +0 -34
  114. package/esm2022/src/plugin_api.mjs +0 -2
  115. package/esm2022/src/private_api.mjs +0 -5
  116. package/esm2022/src/public_api.mjs +0 -20
  117. package/esm2022/src/selectors/create-model-selector.mjs +0 -30
  118. package/esm2022/src/selectors/create-pick-selector.mjs +0 -16
  119. package/esm2022/src/selectors/create-property-selectors.mjs +0 -20
  120. package/esm2022/src/selectors/create-selector.mjs +0 -9
  121. package/esm2022/src/selectors/index.mjs +0 -6
  122. package/esm2022/src/selectors/private_api.mjs +0 -2
  123. package/esm2022/src/selectors/selector-checks.util.mjs +0 -43
  124. package/esm2022/src/selectors/selector-metadata.mjs +0 -35
  125. package/esm2022/src/selectors/selector-models.mjs +0 -2
  126. package/esm2022/src/selectors/selector-types.util.mjs +0 -2
  127. package/esm2022/src/selectors/selector-utils.mjs +0 -95
  128. package/esm2022/src/standalone-features/feature-providers.mjs +0 -18
  129. package/esm2022/src/standalone-features/index.mjs +0 -5
  130. package/esm2022/src/standalone-features/initializers.mjs +0 -94
  131. package/esm2022/src/standalone-features/plugin.mjs +0 -33
  132. package/esm2022/src/standalone-features/preboot.mjs +0 -31
  133. package/esm2022/src/standalone-features/provide-states.mjs +0 -26
  134. package/esm2022/src/standalone-features/provide-store.mjs +0 -26
  135. package/esm2022/src/standalone-features/root-providers.mjs +0 -34
  136. package/esm2022/src/store.mjs +0 -117
  137. package/esm2022/src/symbols.mjs +0 -86
  138. package/esm2022/src/utils/create-dispatch-map.mjs +0 -11
  139. package/esm2022/src/utils/create-select-map.mjs +0 -13
  140. package/esm2022/src/utils/dispatch.mjs +0 -7
  141. package/esm2022/src/utils/freeze.mjs +0 -20
  142. package/esm2022/src/utils/public_api.mjs +0 -5
  143. package/esm2022/src/utils/select.mjs +0 -19
  144. 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==