@ngxs/store 3.8.2 → 18.0.0-dev.master-f4c2c19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/{esm2015/index.js → esm2022/index.mjs} +2 -2
- package/esm2022/internals/custom-rxjs-subjects.mjs +92 -0
- package/esm2022/internals/index.mjs +10 -0
- package/esm2022/internals/initial-state.mjs +18 -0
- package/esm2022/internals/internal-tokens.mjs +6 -0
- package/esm2022/internals/memoize.mjs +45 -0
- package/esm2022/internals/metadata.mjs +57 -0
- package/esm2022/internals/ngxs-app-bootstrapped-state.mjs +19 -0
- package/esm2022/internals/state-stream.mjs +32 -0
- package/esm2022/internals/state-token.mjs +17 -0
- package/esm2022/internals/symbols.mjs +11 -0
- package/esm2022/internals/testing/fresh-platform.mjs +72 -0
- package/{esm2015/internals/testing/helpers/ngxs-test.component.js → esm2022/internals/testing/helpers/ngxs-test.component.mjs} +4 -4
- package/esm2022/internals/testing/helpers/ngxs-test.module.mjs +20 -0
- package/{esm2015/internals/testing/index.js → esm2022/internals/testing/index.mjs} +2 -2
- package/esm2022/internals/testing/ngxs.setup.mjs +48 -0
- package/{esm2015/internals/testing/skip-console-logging.js → esm2022/internals/testing/skip-console-logging.mjs} +1 -1
- package/esm2022/internals/testing/symbol.mjs +2 -0
- package/esm2022/operators/append.mjs +20 -0
- package/esm2022/operators/iif.mjs +38 -0
- package/esm2022/operators/insert-item.mjs +29 -0
- package/esm2022/operators/patch.mjs +21 -0
- package/esm2022/operators/remove-item.mjs +22 -0
- package/esm2022/operators/update-item.mjs +40 -0
- package/esm2022/plugins/actions.mjs +16 -0
- package/esm2022/plugins/index.mjs +4 -0
- package/esm2022/plugins/ngxs-store-plugins.mjs +5 -0
- package/esm2022/plugins/symbols.mjs +6 -0
- package/esm2022/plugins/utils.mjs +51 -0
- package/esm2022/src/actions/symbols.mjs +2 -0
- package/esm2022/src/actions-stream.mjs +52 -0
- package/esm2022/src/configs/messages.config.mjs +48 -0
- package/esm2022/src/decorators/action.mjs +31 -0
- package/esm2022/src/decorators/select/select-factory.mjs +29 -0
- package/esm2022/src/decorators/select/select.mjs +29 -0
- package/esm2022/src/decorators/select/symbols.mjs +29 -0
- package/esm2022/src/decorators/selector/selector.mjs +29 -0
- package/esm2022/src/decorators/selector/symbols.mjs +2 -0
- package/esm2022/src/decorators/selector-options.mjs +21 -0
- package/esm2022/src/decorators/state.mjs +35 -0
- package/esm2022/src/dev-features/ngxs-development.module.mjs +28 -0
- package/esm2022/src/dev-features/ngxs-unhandled-actions-logger.mjs +45 -0
- package/esm2022/src/dev-features/symbols.mjs +7 -0
- package/esm2022/src/execution/dispatch-outside-zone-ngxs-execution-strategy.mjs +55 -0
- package/{esm2015/src/execution/internal-ngxs-execution-strategy.js → esm2022/src/execution/internal-ngxs-execution-strategy.mjs} +6 -6
- package/{esm2015/src/execution/noop-ngxs-execution-strategy.js → esm2022/src/execution/noop-ngxs-execution-strategy.mjs} +4 -4
- package/esm2022/src/execution/symbols.mjs +29 -0
- package/esm2022/src/internal/dispatcher.mjs +106 -0
- package/esm2022/src/internal/fallback-subscriber.mjs +29 -0
- package/esm2022/src/internal/internals.mjs +206 -0
- package/esm2022/src/internal/lifecycle-state-manager.mjs +86 -0
- package/esm2022/src/internal/state-context-factory.mjs +71 -0
- package/esm2022/src/internal/state-factory.mjs +311 -0
- package/esm2022/src/internal/state-operations.mjs +63 -0
- package/esm2022/src/internal/state-operators.mjs +20 -0
- package/esm2022/src/internal/unhandled-rxjs-error-callback.mjs +39 -0
- package/esm2022/src/ivy/ivy-enabled-in-dev-mode.mjs +25 -0
- package/esm2022/src/module.mjs +27 -0
- package/esm2022/src/modules/ngxs-feature.module.mjs +18 -0
- package/esm2022/src/modules/ngxs-root.module.mjs +18 -0
- package/esm2022/src/ngxs-unhandled-error-handler.mjs +29 -0
- package/esm2022/src/operators/of-action.mjs +104 -0
- package/esm2022/src/plugin-manager.mjs +37 -0
- package/esm2022/src/plugin_api.mjs +2 -0
- package/{esm2015/src/private_api.js → esm2022/src/private_api.mjs} +2 -1
- package/esm2022/src/public_api.mjs +20 -0
- package/esm2022/src/selectors/create-model-selector.mjs +30 -0
- package/esm2022/src/selectors/create-pick-selector.mjs +16 -0
- package/esm2022/src/selectors/create-property-selectors.mjs +20 -0
- package/esm2022/src/selectors/create-selector.mjs +9 -0
- package/esm2022/src/selectors/private_api.mjs +2 -0
- package/esm2022/src/selectors/selector-checks.util.mjs +18 -0
- package/esm2022/src/selectors/selector-metadata.mjs +35 -0
- package/esm2022/src/selectors/selector-models.mjs +2 -0
- package/esm2022/src/selectors/selector-types.util.mjs +2 -0
- package/esm2022/src/selectors/selector-utils.mjs +95 -0
- package/esm2022/src/standalone-features/feature-providers.mjs +20 -0
- package/esm2022/src/standalone-features/index.mjs +5 -0
- package/esm2022/src/standalone-features/initializers.mjs +89 -0
- package/esm2022/src/standalone-features/plugin.mjs +20 -0
- package/esm2022/src/standalone-features/preboot.mjs +32 -0
- package/esm2022/src/standalone-features/provide-states.mjs +26 -0
- package/esm2022/src/standalone-features/provide-store.mjs +26 -0
- package/esm2022/src/standalone-features/root-providers.mjs +47 -0
- package/esm2022/src/store.mjs +117 -0
- package/esm2022/src/symbols.mjs +87 -0
- package/esm2022/src/utils/compose.mjs +26 -0
- package/esm2022/src/utils/create-dispatch-map.mjs +11 -0
- package/esm2022/src/utils/create-select-map.mjs +13 -0
- package/esm2022/src/utils/dispatch.mjs +7 -0
- package/{esm2015/src/utils/freeze.js → esm2022/src/utils/freeze.mjs} +1 -1
- package/esm2022/src/utils/public_api.mjs +5 -0
- package/esm2022/src/utils/select.mjs +19 -0
- package/esm2022/src/utils/store-validators.mjs +25 -0
- package/{fesm2015/ngxs-store-internals-testing.js → fesm2022/ngxs-store-internals-testing.mjs} +84 -81
- package/fesm2022/ngxs-store-internals-testing.mjs.map +1 -0
- package/fesm2022/ngxs-store-internals.mjs +296 -0
- package/fesm2022/ngxs-store-internals.mjs.map +1 -0
- package/{fesm2015/ngxs-store-operators.js → fesm2022/ngxs-store-operators.mjs} +3 -3
- package/fesm2022/ngxs-store-operators.mjs.map +1 -0
- package/fesm2022/ngxs-store-plugins.mjs +80 -0
- package/fesm2022/ngxs-store-plugins.mjs.map +1 -0
- package/{fesm2015/ngxs-store.js → fesm2022/ngxs-store.mjs} +1319 -1265
- package/fesm2022/ngxs-store.mjs.map +1 -0
- package/index.d.ts +1 -1
- package/{src/internal → internals}/custom-rxjs-subjects.d.ts +2 -2
- package/internals/index.d.ts +8 -4
- package/internals/initial-state.d.ts +5 -5
- package/internals/memoize.d.ts +1 -1
- package/internals/metadata.d.ts +25 -0
- package/internals/ngxs-app-bootstrapped-state.d.ts +8 -0
- package/internals/state-stream.d.ts +15 -0
- package/internals/state-token.d.ts +7 -0
- package/internals/symbols.d.ts +84 -3
- package/internals/testing/helpers/ngxs-test.component.d.ts +1 -1
- package/internals/testing/index.d.ts +2 -2
- package/internals/testing/symbol.d.ts +2 -2
- package/operators/patch.d.ts +2 -2
- package/operators/types.d.ts +5 -5
- package/operators/utils.d.ts +1 -1
- package/package.json +44 -13
- package/{src/actions → plugins}/actions.d.ts +3 -3
- package/plugins/index.d.ts +3 -0
- package/plugins/symbols.d.ts +13 -0
- package/{src/utils → plugins}/utils.d.ts +0 -17
- package/schematics/collection.json +36 -0
- package/schematics/src/actions/actions.factory.d.ts +3 -0
- package/schematics/src/actions/actions.factory.js +24 -0
- package/schematics/src/actions/actions.factory.js.map +1 -0
- package/schematics/src/actions/files/__name__.actions.ts__template__ +4 -0
- package/schematics/src/actions/schema.json +35 -0
- package/schematics/src/ng-add/add-declaration.d.ts +4 -0
- package/schematics/src/ng-add/add-declaration.js +109 -0
- package/schematics/src/ng-add/add-declaration.js.map +1 -0
- package/schematics/src/ng-add/ng-add.factory.d.ts +9 -0
- package/schematics/src/ng-add/ng-add.factory.js +89 -0
- package/schematics/src/ng-add/ng-add.factory.js.map +1 -0
- package/schematics/src/ng-add/schema.json +72 -0
- package/schematics/src/starter-kit/files/store/auth/auth.actions.ts__template__ +6 -0
- package/schematics/src/starter-kit/files/store/auth/auth.state.spec.ts__template__ +55 -0
- package/schematics/src/starter-kit/files/store/auth/auth.state.ts__template__ +47 -0
- package/schematics/src/starter-kit/files/store/dashboard/index.ts__template__ +4 -0
- package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.actions.ts__template__ +10 -0
- package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.state.spec.ts__template__ +92 -0
- package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.state.ts__template__ +62 -0
- package/schematics/src/starter-kit/files/store/dashboard/states/user/user.actions.ts__template__ +6 -0
- package/schematics/src/starter-kit/files/store/dashboard/states/user/user.state.spec.ts__template__ +61 -0
- package/schematics/src/starter-kit/files/store/dashboard/states/user/user.state.ts__template__ +42 -0
- package/schematics/src/starter-kit/files/store/store.config.ts__template__ +39 -0
- package/schematics/src/starter-kit/files/store/store.module.ts__template__ +22 -0
- package/schematics/src/starter-kit/schema.json +22 -0
- package/schematics/src/starter-kit/starter-kit.factory.d.ts +3 -0
- package/schematics/src/starter-kit/starter-kit.factory.js +21 -0
- package/schematics/src/starter-kit/starter-kit.factory.js.map +1 -0
- package/schematics/src/state/files/__name__.state.spec.ts__template__ +25 -0
- package/schematics/src/state/files/__name__.state.ts__template__ +22 -0
- package/schematics/src/state/schema.json +44 -0
- package/schematics/src/state/state.factory.d.ts +3 -0
- package/schematics/src/state/state.factory.js +29 -0
- package/schematics/src/state/state.factory.js.map +1 -0
- package/schematics/src/store/files/__name__.actions.ts__template__ +4 -0
- package/schematics/src/store/files/__name__.state.spec.ts__template__ +26 -0
- package/schematics/src/store/files/__name__.state.ts__template__ +29 -0
- package/schematics/src/store/schema.json +44 -0
- package/schematics/src/store/store.factory.d.ts +3 -0
- package/schematics/src/store/store.factory.js +29 -0
- package/schematics/src/store/store.factory.js.map +1 -0
- package/schematics/src/utils/common/lib.config.d.ts +10 -0
- package/schematics/src/utils/common/lib.config.js +15 -0
- package/schematics/src/utils/common/lib.config.js.map +1 -0
- package/schematics/src/utils/common/project-files.config.d.ts +3 -0
- package/schematics/src/utils/common/project-files.config.js +7 -0
- package/schematics/src/utils/common/project-files.config.js.map +1 -0
- package/schematics/src/utils/common/properties.d.ts +1 -0
- package/schematics/src/utils/common/properties.js +8 -0
- package/schematics/src/utils/common/properties.js.map +1 -0
- package/schematics/src/utils/config.d.ts +119 -0
- package/schematics/src/utils/config.js +21 -0
- package/schematics/src/utils/config.js.map +1 -0
- package/schematics/src/utils/generate-utils.d.ts +4 -0
- package/schematics/src/utils/generate-utils.js +14 -0
- package/schematics/src/utils/generate-utils.js.map +1 -0
- package/schematics/src/utils/interfaces/package.interface.d.ts +7 -0
- package/schematics/src/utils/interfaces/package.interface.js +3 -0
- package/schematics/src/utils/interfaces/package.interface.js.map +1 -0
- package/schematics/src/utils/ng-utils/README.md +1 -0
- package/schematics/src/utils/ng-utils/ast-utils.d.ts +99 -0
- package/schematics/src/utils/ng-utils/ast-utils.js +517 -0
- package/schematics/src/utils/ng-utils/ast-utils.js.map +1 -0
- package/schematics/src/utils/ng-utils/ng-ast-utils.d.ts +5 -0
- package/schematics/src/utils/ng-utils/ng-ast-utils.js +67 -0
- package/schematics/src/utils/ng-utils/ng-ast-utils.js.map +1 -0
- package/schematics/src/utils/ng-utils/project.d.ts +2 -0
- package/schematics/src/utils/ng-utils/project.js +27 -0
- package/schematics/src/utils/ng-utils/project.js.map +1 -0
- package/schematics/src/utils/ng-utils/standalone/app_config.d.ts +16 -0
- package/schematics/src/utils/ng-utils/standalone/app_config.js +84 -0
- package/schematics/src/utils/ng-utils/standalone/app_config.js.map +1 -0
- package/schematics/src/utils/ng-utils/standalone/code_block.d.ts +46 -0
- package/schematics/src/utils/ng-utils/standalone/code_block.js +73 -0
- package/schematics/src/utils/ng-utils/standalone/code_block.js.map +1 -0
- package/schematics/src/utils/ng-utils/standalone/index.d.ts +1 -0
- package/schematics/src/utils/ng-utils/standalone/index.js +7 -0
- package/schematics/src/utils/ng-utils/standalone/index.js.map +1 -0
- package/schematics/src/utils/ng-utils/standalone/rules.d.ts +38 -0
- package/schematics/src/utils/ng-utils/standalone/rules.js +195 -0
- package/schematics/src/utils/ng-utils/standalone/rules.js.map +1 -0
- package/schematics/src/utils/ng-utils/standalone/util.d.ts +28 -0
- package/schematics/src/utils/ng-utils/standalone/util.js +138 -0
- package/schematics/src/utils/ng-utils/standalone/util.js.map +1 -0
- package/schematics/src/utils/normalize-options.d.ts +11 -0
- package/schematics/src/utils/normalize-options.js +27 -0
- package/schematics/src/utils/normalize-options.js.map +1 -0
- package/schematics/src/utils/project.d.ts +19 -0
- package/schematics/src/utils/project.js +46 -0
- package/schematics/src/utils/project.js.map +1 -0
- package/schematics/src/utils/versions.json +3 -0
- package/src/actions/symbols.d.ts +3 -17
- package/src/actions-stream.d.ts +2 -2
- package/src/configs/messages.config.d.ts +3 -1
- package/src/decorators/action.d.ts +28 -3
- package/src/decorators/select/select.d.ts +3 -0
- package/src/decorators/select/symbols.d.ts +2 -3
- package/src/decorators/selector/selector.d.ts +2 -3
- package/src/decorators/selector/symbols.d.ts +73 -4
- package/src/decorators/selector-options.d.ts +2 -2
- package/src/decorators/state.d.ts +2 -3
- package/src/dev-features/ngxs-development.module.d.ts +1 -0
- package/src/execution/symbols.d.ts +8 -2
- package/src/internal/dispatcher.d.ts +5 -5
- package/src/internal/fallback-subscriber.d.ts +3 -0
- package/src/internal/internals.d.ts +13 -69
- package/src/internal/lifecycle-state-manager.d.ts +6 -6
- package/src/internal/state-factory.d.ts +8 -6
- package/src/internal/state-operations.d.ts +2 -2
- package/src/internal/unhandled-rxjs-error-callback.d.ts +2 -0
- package/src/module.d.ts +3 -14
- package/src/modules/ngxs-feature.module.d.ts +2 -9
- package/src/modules/ngxs-root.module.d.ts +2 -9
- package/src/ngxs-unhandled-error-handler.d.ts +16 -0
- package/src/operators/of-action.d.ts +3 -3
- package/src/plugin-manager.d.ts +1 -1
- package/src/plugin_api.d.ts +1 -5
- package/src/private_api.d.ts +1 -0
- package/src/public_api.d.ts +11 -8
- package/src/selectors/create-model-selector.d.ts +2 -2
- package/src/selectors/create-pick-selector.d.ts +1 -1
- package/src/selectors/create-property-selectors.d.ts +3 -3
- package/src/selectors/create-selector.d.ts +10 -10
- package/src/selectors/private_api.d.ts +7 -0
- package/src/selectors/selector-checks.util.d.ts +2 -2
- package/src/selectors/selector-metadata.d.ts +4 -4
- package/src/selectors/selector-models.d.ts +4 -4
- package/src/selectors/selector-types.util.d.ts +6 -7
- package/src/selectors/selector-utils.d.ts +3 -3
- package/src/standalone-features/feature-providers.d.ts +7 -0
- package/src/standalone-features/index.d.ts +4 -0
- package/src/standalone-features/initializers.d.ts +29 -0
- package/src/standalone-features/plugin.d.ts +17 -0
- package/src/standalone-features/preboot.d.ts +26 -0
- package/src/standalone-features/provide-states.d.ts +18 -0
- package/src/standalone-features/provide-store.d.ts +22 -0
- package/src/standalone-features/root-providers.d.ts +8 -0
- package/src/store.d.ts +13 -15
- package/src/symbols.d.ts +12 -54
- package/src/utils/compose.d.ts +1 -1
- package/src/utils/create-dispatch-map.d.ts +4 -0
- package/src/utils/create-select-map.d.ts +4 -0
- package/src/utils/dispatch.d.ts +2 -0
- package/src/utils/public_api.d.ts +4 -0
- package/src/utils/select.d.ts +16 -0
- package/src/utils/store-validators.d.ts +4 -3
- package/bundles/ngxs-store-internals-testing.umd.js +0 -684
- package/bundles/ngxs-store-internals-testing.umd.js.map +0 -1
- package/bundles/ngxs-store-internals.umd.js +0 -141
- package/bundles/ngxs-store-internals.umd.js.map +0 -1
- package/bundles/ngxs-store-operators.umd.js +0 -224
- package/bundles/ngxs-store-operators.umd.js.map +0 -1
- package/bundles/ngxs-store.umd.js +0 -3076
- package/bundles/ngxs-store.umd.js.map +0 -1
- package/esm2015/internals/index.js +0 -5
- package/esm2015/internals/initial-state.js +0 -17
- package/esm2015/internals/internal-tokens.js +0 -5
- package/esm2015/internals/memoize.js +0 -45
- package/esm2015/internals/ngxs-bootstrapper.js +0 -29
- package/esm2015/internals/src/symbols.js +0 -2
- package/esm2015/internals/symbols.js +0 -2
- package/esm2015/internals/testing/fresh-platform.js +0 -70
- package/esm2015/internals/testing/helpers/ngxs-test.module.js +0 -21
- package/esm2015/internals/testing/ngxs.setup.js +0 -46
- package/esm2015/internals/testing/symbol.js +0 -2
- package/esm2015/operators/append.js +0 -20
- package/esm2015/operators/iif.js +0 -38
- package/esm2015/operators/insert-item.js +0 -29
- package/esm2015/operators/patch.js +0 -21
- package/esm2015/operators/remove-item.js +0 -22
- package/esm2015/operators/update-item.js +0 -40
- package/esm2015/src/actions/actions.js +0 -16
- package/esm2015/src/actions/symbols.js +0 -2
- package/esm2015/src/actions-stream.js +0 -52
- package/esm2015/src/configs/messages.config.js +0 -36
- package/esm2015/src/decorators/action.js +0 -33
- package/esm2015/src/decorators/select/select-factory.js +0 -29
- package/esm2015/src/decorators/select/select.js +0 -26
- package/esm2015/src/decorators/select/symbols.js +0 -29
- package/esm2015/src/decorators/selector/selector.js +0 -32
- package/esm2015/src/decorators/selector/symbols.js +0 -2
- package/esm2015/src/decorators/selector-options.js +0 -21
- package/esm2015/src/decorators/state.js +0 -36
- package/esm2015/src/dev-features/ngxs-development.module.js +0 -22
- package/esm2015/src/dev-features/ngxs-unhandled-actions-logger.js +0 -46
- package/esm2015/src/dev-features/symbols.js +0 -6
- package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +0 -57
- package/esm2015/src/execution/symbols.js +0 -23
- package/esm2015/src/internal/custom-rxjs-subjects.js +0 -92
- package/esm2015/src/internal/dispatcher.js +0 -104
- package/esm2015/src/internal/error-handler.js +0 -64
- package/esm2015/src/internal/internals.js +0 -248
- package/esm2015/src/internal/lifecycle-state-manager.js +0 -79
- package/esm2015/src/internal/state-context-factory.js +0 -68
- package/esm2015/src/internal/state-factory.js +0 -288
- package/esm2015/src/internal/state-operations.js +0 -63
- package/esm2015/src/internal/state-operators.js +0 -20
- package/esm2015/src/internal/state-stream.js +0 -25
- package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +0 -25
- package/esm2015/src/module.js +0 -88
- package/esm2015/src/modules/ngxs-feature.module.js +0 -45
- package/esm2015/src/modules/ngxs-root.module.js +0 -41
- package/esm2015/src/operators/of-action.js +0 -102
- package/esm2015/src/plugin-manager.js +0 -37
- package/esm2015/src/plugin_api.js +0 -6
- package/esm2015/src/public_api.js +0 -27
- package/esm2015/src/public_to_deprecate.js +0 -14
- package/esm2015/src/selectors/create-model-selector.js +0 -30
- package/esm2015/src/selectors/create-pick-selector.js +0 -16
- package/esm2015/src/selectors/create-property-selectors.js +0 -20
- package/esm2015/src/selectors/create-selector.js +0 -9
- package/esm2015/src/selectors/selector-checks.util.js +0 -18
- package/esm2015/src/selectors/selector-metadata.js +0 -30
- package/esm2015/src/selectors/selector-models.js +0 -2
- package/esm2015/src/selectors/selector-types.util.js +0 -2
- package/esm2015/src/selectors/selector-utils.js +0 -74
- package/esm2015/src/state-token/state-token.js +0 -17
- package/esm2015/src/state-token/symbols.js +0 -2
- package/esm2015/src/store.js +0 -107
- package/esm2015/src/symbols.js +0 -58
- package/esm2015/src/utils/compose.js +0 -26
- package/esm2015/src/utils/store-validators.js +0 -25
- package/esm2015/src/utils/utils.js +0 -92
- package/fesm2015/ngxs-store-internals-testing.js.map +0 -1
- package/fesm2015/ngxs-store-internals.js +0 -101
- package/fesm2015/ngxs-store-internals.js.map +0 -1
- package/fesm2015/ngxs-store-operators.js.map +0 -1
- package/fesm2015/ngxs-store.js.map +0 -1
- package/internals/ngxs-bootstrapper.d.ts +0 -16
- package/internals/ngxs-store-internals.d.ts +0 -5
- package/internals/package.json +0 -10
- package/internals/src/symbols.d.ts +0 -7
- package/internals/testing/ngxs-store-internals-testing.d.ts +0 -5
- package/internals/testing/package.json +0 -10
- package/ngxs-store.d.ts +0 -5
- package/operators/ngxs-store-operators.d.ts +0 -5
- package/operators/package.json +0 -10
- package/src/internal/error-handler.d.ts +0 -26
- package/src/internal/state-stream.d.ts +0 -14
- package/src/public_to_deprecate.d.ts +0 -21
- package/src/state-token/state-token.d.ts +0 -7
- package/src/state-token/symbols.d.ts +0 -5
- /package/{esm2015/internals/ngxs-store-internals.js → esm2022/internals/ngxs-store-internals.mjs} +0 -0
- /package/{esm2015/internals/testing/ngxs-store-internals-testing.js → esm2022/internals/testing/ngxs-store-internals-testing.mjs} +0 -0
- /package/{esm2015/ngxs-store.js → esm2022/ngxs-store.mjs} +0 -0
- /package/{esm2015/operators/compose.js → esm2022/operators/compose.mjs} +0 -0
- /package/{esm2015/operators/index.js → esm2022/operators/index.mjs} +0 -0
- /package/{esm2015/operators/ngxs-store-operators.js → esm2022/operators/ngxs-store-operators.mjs} +0 -0
- /package/{esm2015/operators/types.js → esm2022/operators/types.mjs} +0 -0
- /package/{esm2015/operators/utils.js → esm2022/operators/utils.mjs} +0 -0
- /package/{esm2015/src/operators/leave-ngxs.js → esm2022/src/operators/leave-ngxs.mjs} +0 -0
- /package/{esm2015/src/selectors/index.js → esm2022/src/selectors/index.mjs} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZWNvcmF0b3JzL3NlbGVjdG9yL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1U2VsZWN0b3JEZWYsIMm1U2VsZWN0b3JSZXR1cm5UeXBlIH0gZnJvbSAnLi4vLi4vc2VsZWN0b3JzJztcblxuLyoqXG4gKiBEZWZpbmVzIGEgdHVwbGUgb2Ygc2VsZWN0b3IgZnVuY3Rpb25zLCBzdGF0ZSB0b2tlbnMsIGFuZCBzdGF0ZSBjbGFzc2VzIHRoYXQgYSBzZWxlY3RvciBkZWNvcmF0ZWRcbiAqIGJ5IGBAU2VsZWN0b3IoKWAgY2FuIGRlcGVuZCBvbi5cbiAqL1xuZXhwb3J0IHR5cGUgU2VsZWN0b3JEZWZUdXBsZSA9IMm1U2VsZWN0b3JEZWY8YW55PltdIHwgW8m1U2VsZWN0b3JEZWY8YW55Pl07XG5cbnR5cGUgVW5rbm93blRvQW55PFQ+ID0gdW5rbm93biBleHRlbmRzIFQgPyBhbnkgOiBUO1xudHlwZSBFbnN1cmVBcnJheTxUPiA9IFQgZXh0ZW5kcyBhbnlbXSA/IFQgOiBuZXZlcjtcblxuLyoqXG4gKiBHaXZlbiBhIHR1cGxlIG9mIHNlbGVjdG9yIGZ1bmN0aW9ucywgc3RhdGUgdG9rZW5zLCBzdGF0ZSBjbGFzc2VzLCBldGMuLCByZXR1cm5zIGEgdHVwbGUgb2Ygd2hhdFxuICogYSBkZXBlbmRlbnQgc2VsZWN0b3Igd291bGQgZXhwZWN0IHRvIHJlY2VpdmUgZm9yIHRoYXQgcGFyZW50IGFzIGFuIGFyZ3VtZW50IHdoZW4gY2FsbGVkLlxuICpcbiAqIEZvciBleGFtcGxlLCBpZiB0aGUgZmlyc3QgZWxlbWVudCBpbiBgUGFyZW50c1R1cGxlYCBpcyBhIHNlbGVjdG9yIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhXG4gKiBgbnVtYmVyYCwgdGhlbiB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgcmVzdWx0IHR1cGxlIHdpbGwgYmUgYG51bWJlcmAuIElmIHRoZSBzZWNvbmQgZWxlbWVudFxuICogaW4gYFBhcmVudHNUdXBsZWAgaXMgYSBzdGF0ZSBjbGFzcyB3aXRoIG1vZGVsIGB7IG5hbWU6IHN0cmluZyB9YCwgdGhlbiB0aGUgc2Vjb25kIGVsZW1lbnQgb2ZcbiAqIHRoZSByZXN1bHQgdHVwbGUgd2lsbCBiZSBgeyBuYW1lOiBzdHJpbmcgfWAuXG4gKi9cbnR5cGUgU2VsZWN0b3JSZXR1cm5UeXBlTGlzdDxQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlPiA9IEVuc3VyZUFycmF5PHtcbiAgW1BhcmVudHNUdXBsZUluZGV4IGluIGtleW9mIFBhcmVudHNUdXBsZV06IFBhcmVudHNUdXBsZVtQYXJlbnRzVHVwbGVJbmRleF0gZXh0ZW5kcyDJtVNlbGVjdG9yRGVmPGFueT5cbiAgICA/IFVua25vd25Ub0FueTzJtVNlbGVjdG9yUmV0dXJuVHlwZTxQYXJlbnRzVHVwbGVbUGFyZW50c1R1cGxlSW5kZXhdPj5cbiAgICA6IG5ldmVyO1xufT47XG5cbi8qKlxuICogRGVmaW5lcyBhIHNlbGVjdG9yIGZ1bmN0aW9uIG1hdGNoaW5nIGEgZ2l2ZW4gYXJndW1lbnQgbGlzdCBvZiBwYXJlbnQgc2VsZWN0b3JzL3N0YXRlcy90b2tlbnNcbiAqIGFuZCBhIGdpdmVuIHJldHVybiB0eXBlLlxuICovXG5leHBvcnQgdHlwZSBTZWxlY3RvclNwZWM8UGFyZW50c1R1cGxlLCBSZXR1cm4+ID0gUGFyZW50c1R1cGxlIGV4dGVuZHMgW11cbiAgPyAoKSA9PiBhbnlcbiAgOiBQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlXG4gICAgPyAoLi4uc3RhdGVzOiBTZWxlY3RvclJldHVyblR5cGVMaXN0PFBhcmVudHNUdXBsZT4pID0+IFJldHVyblxuICAgIDogKCkgPT4gYW55O1xuXG4vKipcbiAqIERlZmluZXMgYSBzZWxlY3RvciBmdW5jdGlvbiBtYXRjaGluZyBgU2VsZWN0b3JTcGVjPFBhcmVudHNUdXBsZSwgUmV0dXJuPmAgYnV0IHdpdGggdGhlIGFzc3VtcHRpb24gdGhhdCB0aGVcbiAqIGNvbnRhaW5lciBzdGF0ZSBoYXMgYmVlbiBpbmplY3RlZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKi9cbnR5cGUgU2VsZWN0b3JTcGVjV2l0aEluamVjdGVkU3RhdGU8UGFyZW50c1R1cGxlLCBSZXR1cm4+ID0gU2VsZWN0b3JTcGVjPFxuICBQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlID8gW2FueSwgLi4uUGFyZW50c1R1cGxlXSA6IFthbnldLFxuICBQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlID8gUmV0dXJuIDogYW55XG4+O1xuXG4vKipcbiAqIERlZmluZXMgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIGZvciB0aGUgYEBTZWxlY3RvcmAgZGVjb3JhdG9yIHRoYXQgZGVjb3JhdGVzIGEgZnVuY3Rpb24gd2l0aFxuICogcGFyZW50IHNlbGVjdG9ycy9zdGF0ZXMvdG9rZW5zIGBQYXJlbnRzVHVwbGVgIGFuZCByZXR1cm4gdHlwZSBgUmV0dXJuYC5cbiAqL1xudHlwZSBEZXNjcmlwdG9yV2l0aE5vSW5qZWN0ZWRTdGF0ZTxQYXJlbnRzVHVwbGUsIFJldHVybj4gPSBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxcbiAgU2VsZWN0b3JTcGVjPFBhcmVudHNUdXBsZSwgUmV0dXJuPlxuPjtcblxuLyoqXG4gKiBTYW1lIGFzIGBEZXNjcmlwdG9yV2l0aE5vSW5qZWN0ZWRTdGF0ZWAgYnV0IHdpdGggc3RhdGUgaW5qZWN0ZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LlxuICovXG50eXBlIERlc2NyaXB0b3JXaXRoSW5qZWN0ZWRTdGF0ZTxQYXJlbnRzVHVwbGUsIFJldHVybj4gPSBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxcbiAgU2VsZWN0b3JTcGVjV2l0aEluamVjdGVkU3RhdGU8UGFyZW50c1R1cGxlLCBSZXR1cm4+XG4+O1xuXG50eXBlIERlY29yYXRvckFyZ3M8RGVzY3JpcHRvcj4gPSBbdGFyZ2V0OiBhbnksIGtleTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yPzogRGVzY3JpcHRvcl07XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgcmV0dXJuIHR5cGUgb2YgYSBjYWxsIHRvIGBAU2VsZWN0b3JgIHdoZW4gdGhlcmUgaXMgbm8gYXJndW1lbnQgZ2l2ZW5cbiAqIChlLmcuIGBAU2VsZWN0b3IoKWAgY291bnRzLCBidXQgYEBTZWxlY3RvcihbXSlgIGRvZXMgbm90KVxuICpcbiAqIFRoaXMgcmVzdWx0IGlzIGEgZGVjb3JhdG9yIHRoYXQgY2FuIG9ubHkgYmUgdXNlZCB0byBkZWNvcmF0ZSBhIGZ1bmN0aW9uIHdpdGggbm8gYXJndW1lbnRzIG9yIGFcbiAqIHNpbmdsZSBhcmd1bWVudCB0aGF0IGlzIHRoZSBjb250YWluZXIgc3RhdGUuXG4gKi9cbnR5cGUgU2VsZWN0b3JUeXBlTm9EZWNvcmF0b3JBcmdzID0ge1xuICA8UmV0dXJuPihcbiAgICAuLi5hcmdzOiBEZWNvcmF0b3JBcmdzPERlc2NyaXB0b3JXaXRoTm9JbmplY3RlZFN0YXRlPHVua25vd24sIFJldHVybj4+XG4gICk6IHZvaWQgfCBEZXNjcmlwdG9yV2l0aE5vSW5qZWN0ZWRTdGF0ZTx1bmtub3duLCBSZXR1cm4+O1xuICA8UmV0dXJuPihcbiAgICAuLi5hcmdzOiBEZWNvcmF0b3JBcmdzPERlc2NyaXB0b3JXaXRoSW5qZWN0ZWRTdGF0ZTx1bmtub3duLCBSZXR1cm4+PlxuICApOiB2b2lkIHwgRGVzY3JpcHRvcldpdGhJbmplY3RlZFN0YXRlPHVua25vd24sIFJldHVybj47XG59O1xuXG4vKipcbiAqIERlZmluZXMgdGhlIHJldHVybiB0eXBlIG9mIGEgY2FsbCB0byBgQFNlbGVjdG9yYCB3aGVuIHRoZXJlIGlzIGFuIGFyZ3VtZW50IGdpdmVuLlxuICogKGUuZy4gYEBTZWxlY3RvcihbXSlgIGNvdW50cywgYnV0IGBAU2VsZWN0b3IoKWAgZG9lcyBub3QpXG4gKlxuICogVGhpcyByZXN1bHQgaXMgYSBkZWNvcmF0b3IgdGhhdCBjYW4gb25seSBiZSB1c2VkIHRvIGRlY29yYXRlIGEgZnVuY3Rpb24gd2l0aCBhbiBhcmd1bWVudCBsaXN0XG4gKiBtYXRjaGluZyB0aGUgcmVzdWx0cyBvZiB0aGUgdHVwbGUgb2YgcGFyZW50cyBgUGFyZW50c1R1cGxlYC5cbiAqL1xudHlwZSBTZWxlY3RvclR5cGVXaXRoRGVjb3JhdG9yQXJnczxQYXJlbnRzVHVwbGU+ID0ge1xuICA8UmV0dXJuPihcbiAgICAuLi5hcmdzOiBEZWNvcmF0b3JBcmdzPERlc2NyaXB0b3JXaXRoTm9JbmplY3RlZFN0YXRlPFBhcmVudHNUdXBsZSwgUmV0dXJuPj5cbiAgKTogdm9pZCB8IERlc2NyaXB0b3JXaXRoTm9JbmplY3RlZFN0YXRlPFBhcmVudHNUdXBsZSwgUmV0dXJuPjtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIFJlYWQgdGhlIGRlcHJlY2F0aW9uIG5vdGljZSBhdCB0aGlzIGxpbms6IGh0dHBzOi8vbmd4cy5pby9kZXByZWNhdGlvbnMvaW5qZWN0LWNvbnRhaW5lci1zdGF0ZS1kZXByZWNhdGlvbi5tZC5cbiAgICovXG4gIDxSZXR1cm4+KFxuICAgIC4uLmFyZ3M6IERlY29yYXRvckFyZ3M8RGVzY3JpcHRvcldpdGhJbmplY3RlZFN0YXRlPFBhcmVudHNUdXBsZSwgUmV0dXJuPj5cbiAgKTogdm9pZCB8IERlc2NyaXB0b3JXaXRoSW5qZWN0ZWRTdGF0ZTxQYXJlbnRzVHVwbGUsIFJldHVybj47XG59O1xuXG4vKipcbiAqIERlZmluZXMgdGhlIHJldHVybiB0eXBlIG9mIGEgY2FsbCB0byBgQFNlbGVjdG9yYC4gVGhpcyByZXN1bHQgaXMgYSBkZWNvcmF0b3IgdGhhdCBjYW4gb25seSBiZVxuICogdXNlZCB0byBkZWNvcmF0ZSBhIGZ1bmN0aW9uIHdpdGggYW4gYXJndW1lbnQgbGlzdCBtYXRjaGluZyBgUGFyZW50c1R1cGxlYCwgdGhlIHJlc3VsdHMgb2YgdGhlXG4gKiB0dXBsZSBvZiBwYXJlbnQgc2VsZWN0b3JzL3N0YXRlIHRva2Vucy9zdGF0ZSBjbGFzc2VzLlxuICovXG5leHBvcnQgdHlwZSBTZWxlY3RvclR5cGU8UGFyZW50c1R1cGxlPiA9IHVua25vd24gZXh0ZW5kcyBQYXJlbnRzVHVwbGVcbiAgPyBTZWxlY3RvclR5cGVOb0RlY29yYXRvckFyZ3NcbiAgOiBTZWxlY3RvclR5cGVXaXRoRGVjb3JhdG9yQXJnczxQYXJlbnRzVHVwbGU+O1xuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
|
@@ -0,0 +1,35 @@
|
|
|
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==
|
|
@@ -0,0 +1,28 @@
|
|
|
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: "17.3.3", ngImport: i0, type: NgxsDevelopmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: NgxsDevelopmentModule }); }
|
|
17
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsDevelopmentModule }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", 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
|
|
@@ -0,0 +1,45 @@
|
|
|
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(options) {
|
|
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
|
+
if (typeof options.warnOnUnhandledActions === 'object') {
|
|
13
|
+
this.ignoreActions(...options.warnOnUnhandledActions.ignore);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Adds actions to the internal list of actions that should be ignored.
|
|
18
|
+
*/
|
|
19
|
+
ignoreActions(...actions) {
|
|
20
|
+
for (const action of actions) {
|
|
21
|
+
this._ignoredActions.add(action.type);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/** @internal */
|
|
25
|
+
warn(action) {
|
|
26
|
+
const actionShouldBeIgnored = Array.from(this._ignoredActions).some(type => type === getActionTypeFromInstance(action));
|
|
27
|
+
if (actionShouldBeIgnored) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
action =
|
|
31
|
+
action.constructor && action.constructor.name !== 'Object'
|
|
32
|
+
? action.constructor.name
|
|
33
|
+
: action.type;
|
|
34
|
+
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.`);
|
|
35
|
+
}
|
|
36
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsUnhandledActionsLogger, deps: [{ token: NGXS_DEVELOPMENT_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
37
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsUnhandledActionsLogger }); }
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsUnhandledActionsLogger, decorators: [{
|
|
40
|
+
type: Injectable
|
|
41
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
42
|
+
type: Inject,
|
|
43
|
+
args: [NGXS_DEVELOPMENT_OPTIONS]
|
|
44
|
+
}] }] });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy11bmhhbmRsZWQtYWN0aW9ucy1sb2dnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGV2LWZlYXR1cmVzL25neHMtdW5oYW5kbGVkLWFjdGlvbnMtbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHeEYsT0FBTyxFQUEwQix3QkFBd0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFHN0UsTUFBTSxPQUFPLDBCQUEwQjtJQU9yQyxZQUE4QyxPQUErQjtRQU43RTs7O1dBR0c7UUFDSyxvQkFBZSxHQUFHLElBQUksR0FBRyxDQUFTLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUc1RSxJQUFJLE9BQU8sT0FBTyxDQUFDLHNCQUFzQixLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxHQUFHLE9BQXFCO1FBQ3BDLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLElBQUksQ0FBQyxNQUFXO1FBQ2QsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQ2pFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUNuRCxDQUFDO1FBRUYsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1lBQzFCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTTtZQUNKLE1BQU0sQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssUUFBUTtnQkFDeEQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSTtnQkFDekIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFFbEIsT0FBTyxDQUFDLElBQUksQ0FDVixPQUFPLE1BQU0sNklBQTZJLENBQzNKLENBQUM7SUFDSixDQUFDO2lJQXhDVSwwQkFBMEIsa0JBT2pCLHdCQUF3QjtxSUFQakMsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVOzswQkFRSSxNQUFNOzJCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5pdFN0YXRlLCBVcGRhdGVTdGF0ZSwgZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZSB9IGZyb20gJ0BuZ3hzL3N0b3JlL3BsdWdpbnMnO1xuXG5pbXBvcnQgeyBBY3Rpb25UeXBlIH0gZnJvbSAnLi4vYWN0aW9ucy9zeW1ib2xzJztcbmltcG9ydCB7IE5neHNEZXZlbG9wbWVudE9wdGlvbnMsIE5HWFNfREVWRUxPUE1FTlRfT1BUSU9OUyB9IGZyb20gJy4vc3ltYm9scyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZ3hzVW5oYW5kbGVkQWN0aW9uc0xvZ2dlciB7XG4gIC8qKlxuICAgKiBUaGVzZSBhY3Rpb25zIHNob3VsZCBiZSBpZ25vcmVkIGJ5IGRlZmF1bHQ7IHRoZSB1c2VyIGNhbiBpbmNyZWFzZSB0aGlzXG4gICAqIGxpc3QgaW4gdGhlIGZ1dHVyZSB2aWEgdGhlIGBpZ25vcmVBY3Rpb25zYCBtZXRob2QuXG4gICAqL1xuICBwcml2YXRlIF9pZ25vcmVkQWN0aW9ucyA9IG5ldyBTZXQ8c3RyaW5nPihbSW5pdFN0YXRlLnR5cGUsIFVwZGF0ZVN0YXRlLnR5cGVdKTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE5HWFNfREVWRUxPUE1FTlRfT1BUSU9OUykgb3B0aW9uczogTmd4c0RldmVsb3BtZW50T3B0aW9ucykge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy53YXJuT25VbmhhbmRsZWRBY3Rpb25zID09PSAnb2JqZWN0Jykge1xuICAgICAgdGhpcy5pZ25vcmVBY3Rpb25zKC4uLm9wdGlvbnMud2Fybk9uVW5oYW5kbGVkQWN0aW9ucy5pZ25vcmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFjdGlvbnMgdG8gdGhlIGludGVybmFsIGxpc3Qgb2YgYWN0aW9ucyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkLlxuICAgKi9cbiAgaWdub3JlQWN0aW9ucyguLi5hY3Rpb25zOiBBY3Rpb25UeXBlW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBhY3Rpb25zKSB7XG4gICAgICB0aGlzLl9pZ25vcmVkQWN0aW9ucy5hZGQoYWN0aW9uLnR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgd2FybihhY3Rpb246IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGlvblNob3VsZEJlSWdub3JlZCA9IEFycmF5LmZyb20odGhpcy5faWdub3JlZEFjdGlvbnMpLnNvbWUoXG4gICAgICB0eXBlID0+IHR5cGUgPT09IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UoYWN0aW9uKVxuICAgICk7XG5cbiAgICBpZiAoYWN0aW9uU2hvdWxkQmVJZ25vcmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYWN0aW9uID1cbiAgICAgIGFjdGlvbi5jb25zdHJ1Y3RvciAmJiBhY3Rpb24uY29uc3RydWN0b3IubmFtZSAhPT0gJ09iamVjdCdcbiAgICAgICAgPyBhY3Rpb24uY29uc3RydWN0b3IubmFtZVxuICAgICAgICA6IGFjdGlvbi50eXBlO1xuXG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYFRoZSAke2FjdGlvbn0gYWN0aW9uIGhhcyBiZWVuIGRpc3BhdGNoZWQgYnV0IGhhc24ndCBiZWVuIGhhbmRsZWQuIFRoaXMgbWF5IGhhcHBlbiBpZiB0aGUgc3RhdGUgd2l0aCBhbiBhY3Rpb24gaGFuZGxlciBmb3IgdGhpcyBhY3Rpb24gaXMgbm90IHJlZ2lzdGVyZWQuYFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
|
|
3
|
+
export const NGXS_DEVELOPMENT_OPTIONS = new InjectionToken(NG_DEV_MODE ? 'NGXS_DEVELOPMENT_OPTIONS' : '', {
|
|
4
|
+
providedIn: 'root',
|
|
5
|
+
factory: () => ({ warnOnUnhandledActions: true })
|
|
6
|
+
});
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZXYtZmVhdHVyZXMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSS9DLE1BQU0sV0FBVyxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUM7QUFZbEUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQ3hELFdBQVcsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDN0M7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLHNCQUFzQixFQUFFLElBQUksRUFBRSxDQUFDO0NBQ2xELENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFjdGlvblR5cGUgfSBmcm9tICcuLi9hY3Rpb25zL3N5bWJvbHMnO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3hzRGV2ZWxvcG1lbnRPcHRpb25zIHtcbiAgLy8gVGhpcyBhbGxvd3Mgc2V0dGluZyBvbmx5IGB0cnVlYCBiZWNhdXNlIHRoZXJlJ3Mgbm8gcmVhc29uIHRvIHNldCBgZmFsc2VgLlxuICAvLyBEZXZlbG9wZXJzIG1heSBqdXN0IHNraXAgaW1wb3J0aW5nIHRoZSBkZXZlbG9wbWVudCBtb2R1bGUgYXQgYWxsLlxuICB3YXJuT25VbmhhbmRsZWRBY3Rpb25zOlxuICAgIHwgdHJ1ZVxuICAgIHwge1xuICAgICAgICBpZ25vcmU6IEFjdGlvblR5cGVbXTtcbiAgICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBOR1hTX0RFVkVMT1BNRU5UX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48Tmd4c0RldmVsb3BtZW50T3B0aW9ucz4oXG4gIE5HX0RFVl9NT0RFID8gJ05HWFNfREVWRUxPUE1FTlRfT1BUSU9OUycgOiAnJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiAoeyB3YXJuT25VbmhhbmRsZWRBY3Rpb25zOiB0cnVlIH0pXG4gIH1cbik7XG4iXX0=
|
|
@@ -0,0 +1,55 @@
|
|
|
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(_ngZone, _platformId) {
|
|
7
|
+
this._ngZone = _ngZone;
|
|
8
|
+
this._platformId = _platformId;
|
|
9
|
+
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
10
|
+
verifyZoneIsNotNooped(_ngZone);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
enter(func) {
|
|
14
|
+
if (isPlatformServer(this._platformId)) {
|
|
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: "17.3.3", ngImport: i0, type: DispatchOutsideZoneNgxsExecutionStrategy, deps: [{ token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DispatchOutsideZoneNgxsExecutionStrategy, providedIn: 'root' }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DispatchOutsideZoneNgxsExecutionStrategy, decorators: [{
|
|
38
|
+
type: Injectable,
|
|
39
|
+
args: [{ providedIn: 'root' }]
|
|
40
|
+
}], ctorParameters: () => [{ type: i0.NgZone }, { type: undefined, decorators: [{
|
|
41
|
+
type: Inject,
|
|
42
|
+
args: [PLATFORM_ID]
|
|
43
|
+
}] }] });
|
|
44
|
+
// Caretaker note: this should exist as a separate function and not a class method,
|
|
45
|
+
// since class methods are not tree-shakable.
|
|
46
|
+
function verifyZoneIsNotNooped(ngZone) {
|
|
47
|
+
// `NoopNgZone` is not exposed publicly as it doesn't expect
|
|
48
|
+
// to be used outside of the core Angular code, thus we just have
|
|
49
|
+
// to check if the zone doesn't extend or instanceof `NgZone`.
|
|
50
|
+
if (ngZone instanceof NgZone) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
console.warn(getZoneWarningMessage());
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2gtb3V0c2lkZS16b25lLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2V4ZWN1dGlvbi9kaXNwYXRjaC1vdXRzaWRlLXpvbmUtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUduRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLHdDQUF3QztJQUNuRCxZQUNVLE9BQWUsRUFDTSxXQUFtQjtRQUR4QyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ00sZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFFaEQsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFLENBQUM7WUFDbEQscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUksSUFBYTtRQUNwQixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLGdCQUFnQixDQUFJLElBQWE7UUFDdkMsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxpQkFBaUIsQ0FBSSxJQUFhO1FBQ3hDLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7aUlBakNVLHdDQUF3Qyx3Q0FHekMsV0FBVztxSUFIVix3Q0FBd0MsY0FEM0IsTUFBTTs7MkZBQ25CLHdDQUF3QztrQkFEcEQsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUk3QixNQUFNOzJCQUFDLFdBQVc7O0FBaUN2QixtRkFBbUY7QUFDbkYsNkNBQTZDO0FBQzdDLFNBQVMscUJBQXFCLENBQUMsTUFBYztJQUMzQyw0REFBNEQ7SUFDNUQsaUVBQWlFO0lBQ2pFLDhEQUE4RDtJQUM5RCxJQUFJLE1BQU0sWUFBWSxNQUFNLEVBQUUsQ0FBQztRQUM3QixPQUFPO0lBQ1QsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgZ2V0Wm9uZVdhcm5pbmdNZXNzYWdlIH0gZnJvbSAnLi4vY29uZmlncy9tZXNzYWdlcy5jb25maWcnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgaW1wbGVtZW50cyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIF9wbGF0Zm9ybUlkOiBzdHJpbmdcbiAgKSB7XG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZSkge1xuICAgICAgdmVyaWZ5Wm9uZUlzTm90Tm9vcGVkKF9uZ1pvbmUpO1xuICAgIH1cbiAgfVxuXG4gIGVudGVyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLl9wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuIHRoaXMucnVuSW5zaWRlQW5ndWxhcihmdW5jKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucnVuT3V0c2lkZUFuZ3VsYXIoZnVuYyk7XG4gIH1cblxuICBsZWF2ZTxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgcmV0dXJuIHRoaXMucnVuSW5zaWRlQW5ndWxhcihmdW5jKTtcbiAgfVxuXG4gIHByaXZhdGUgcnVuSW5zaWRlQW5ndWxhcjxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgaWYgKE5nWm9uZS5pc0luQW5ndWxhclpvbmUoKSkge1xuICAgICAgcmV0dXJuIGZ1bmMoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX25nWm9uZS5ydW4oZnVuYyk7XG4gIH1cblxuICBwcml2YXRlIHJ1bk91dHNpZGVBbmd1bGFyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICBpZiAoTmdab25lLmlzSW5Bbmd1bGFyWm9uZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKGZ1bmMpO1xuICAgIH1cbiAgICByZXR1cm4gZnVuYygpO1xuICB9XG59XG5cbi8vIENhcmV0YWtlciBub3RlOiB0aGlzIHNob3VsZCBleGlzdCBhcyBhIHNlcGFyYXRlIGZ1bmN0aW9uIGFuZCBub3QgYSBjbGFzcyBtZXRob2QsXG4vLyBzaW5jZSBjbGFzcyBtZXRob2RzIGFyZSBub3QgdHJlZS1zaGFrYWJsZS5cbmZ1bmN0aW9uIHZlcmlmeVpvbmVJc05vdE5vb3BlZChuZ1pvbmU6IE5nWm9uZSk6IHZvaWQge1xuICAvLyBgTm9vcE5nWm9uZWAgaXMgbm90IGV4cG9zZWQgcHVibGljbHkgYXMgaXQgZG9lc24ndCBleHBlY3RcbiAgLy8gdG8gYmUgdXNlZCBvdXRzaWRlIG9mIHRoZSBjb3JlIEFuZ3VsYXIgY29kZSwgdGh1cyB3ZSBqdXN0IGhhdmVcbiAgLy8gdG8gY2hlY2sgaWYgdGhlIHpvbmUgZG9lc24ndCBleHRlbmQgb3IgaW5zdGFuY2VvZiBgTmdab25lYC5cbiAgaWYgKG5nWm9uZSBpbnN0YW5jZW9mIE5nWm9uZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnNvbGUud2FybihnZXRab25lV2FybmluZ01lc3NhZ2UoKSk7XG59XG4iXX0=
|
|
@@ -11,14 +11,14 @@ export class InternalNgxsExecutionStrategy {
|
|
|
11
11
|
leave(func) {
|
|
12
12
|
return this._executionStrategy.leave(func);
|
|
13
13
|
}
|
|
14
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalNgxsExecutionStrategy, deps: [{ token: NGXS_EXECUTION_STRATEGY }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalNgxsExecutionStrategy, providedIn: 'root' }); }
|
|
14
16
|
}
|
|
15
|
-
|
|
16
|
-
/** @nocollapse */ InternalNgxsExecutionStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalNgxsExecutionStrategy, providedIn: 'root' });
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalNgxsExecutionStrategy, decorators: [{
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalNgxsExecutionStrategy, decorators: [{
|
|
18
18
|
type: Injectable,
|
|
19
19
|
args: [{ providedIn: 'root' }]
|
|
20
|
-
}], ctorParameters:
|
|
20
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
21
21
|
type: Inject,
|
|
22
22
|
args: [NGXS_EXECUTION_STRATEGY]
|
|
23
|
-
}] }]
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
}] }] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZXhlY3V0aW9uL2ludGVybmFsLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBeUIsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRzNFLE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFDMkMsa0JBQXlDO1FBQXpDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7SUFDakYsQ0FBQztJQUVKLEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7aUlBWFUsNkJBQTZCLGtCQUU5Qix1QkFBdUI7cUlBRnRCLDZCQUE2QixjQURoQixNQUFNOzsyRkFDbkIsNkJBQTZCO2tCQUR6QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBRzdCLE1BQU07MkJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5neHNFeGVjdXRpb25TdHJhdGVneSwgTkdYU19FWEVDVVRJT05fU1RSQVRFR1kgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IGltcGxlbWVudHMgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChOR1hTX0VYRUNVVElPTl9TVFJBVEVHWSkgcHJpdmF0ZSBfZXhlY3V0aW9uU3RyYXRlZ3k6IE5neHNFeGVjdXRpb25TdHJhdGVneVxuICApIHt9XG5cbiAgZW50ZXI8VD4oZnVuYzogKCkgPT4gVCk6IFQge1xuICAgIHJldHVybiB0aGlzLl9leGVjdXRpb25TdHJhdGVneS5lbnRlcihmdW5jKTtcbiAgfVxuXG4gIGxlYXZlPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fZXhlY3V0aW9uU3RyYXRlZ3kubGVhdmUoZnVuYyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -7,11 +7,11 @@ export class NoopNgxsExecutionStrategy {
|
|
|
7
7
|
leave(func) {
|
|
8
8
|
return func();
|
|
9
9
|
}
|
|
10
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NoopNgxsExecutionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NoopNgxsExecutionStrategy, providedIn: 'root' }); }
|
|
10
12
|
}
|
|
11
|
-
|
|
12
|
-
/** @nocollapse */ NoopNgxsExecutionStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NoopNgxsExecutionStrategy, providedIn: 'root' });
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NoopNgxsExecutionStrategy, decorators: [{
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NoopNgxsExecutionStrategy, decorators: [{
|
|
14
14
|
type: Injectable,
|
|
15
15
|
args: [{ providedIn: 'root' }]
|
|
16
16
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9leGVjdXRpb24vbm9vcC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztpSUFQVSx5QkFBeUI7cUlBQXpCLHlCQUF5QixjQURaLE1BQU07OzJGQUNuQix5QkFBeUI7a0JBRHJDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgaW1wbGVtZW50cyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kge1xuICBlbnRlcjxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgcmV0dXJuIGZ1bmMoKTtcbiAgfVxuXG4gIGxlYXZlPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICByZXR1cm4gZnVuYygpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
|
|
5
|
+
/**
|
|
6
|
+
* Consumers have the option to utilize the execution strategy provided by
|
|
7
|
+
* `NgxsModule.forRoot({executionStrategy})` or `provideStore([], {executionStrategy})`.
|
|
8
|
+
*/
|
|
9
|
+
export const CUSTOM_NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE ? 'CUSTOM_NGXS_EXECUTION_STRATEGY' : '');
|
|
10
|
+
/**
|
|
11
|
+
* The injection token is used internally to resolve an instance of the execution
|
|
12
|
+
* strategy. It checks whether consumers have provided their own `executionStrategy`
|
|
13
|
+
* and also verifies if we are operating in a zone-aware environment.
|
|
14
|
+
*/
|
|
15
|
+
export const NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE ? 'NGXS_EXECUTION_STRATEGY' : '', {
|
|
16
|
+
providedIn: 'root',
|
|
17
|
+
factory: () => {
|
|
18
|
+
const ngZone = inject(NgZone);
|
|
19
|
+
const injector = inject(INJECTOR);
|
|
20
|
+
const executionStrategy = injector.get(CUSTOM_NGXS_EXECUTION_STRATEGY);
|
|
21
|
+
const isNgZoneEnabled = ngZone instanceof NgZone;
|
|
22
|
+
return executionStrategy
|
|
23
|
+
? injector.get(executionStrategy)
|
|
24
|
+
: injector.get(isNgZoneEnabled
|
|
25
|
+
? DispatchOutsideZoneNgxsExecutionStrategy
|
|
26
|
+
: NoopNgxsExecutionStrategy);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9leGVjdXRpb24vc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQVEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTNHLE1BQU0sV0FBVyxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUM7QUFFbEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxjQUFjLENBRTlELFdBQVcsQ0FBQyxDQUFDLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRXZEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FDdkQsV0FBVyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUM1QztJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sZUFBZSxHQUFHLE1BQU0sWUFBWSxNQUFNLENBQUM7UUFDakQsT0FBTyxpQkFBaUI7WUFDdEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUM7WUFDakMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ1YsZUFBZTtnQkFDYixDQUFDLENBQUMsd0NBQXdDO2dCQUMxQyxDQUFDLENBQUMseUJBQXlCLENBQzlCLENBQUM7SUFDUixDQUFDO0NBQ0YsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIGluamVjdCwgSU5KRUNUT1IsIFR5cGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOb29wTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9ub29wLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2Rpc3BhdGNoLW91dHNpZGUtem9uZS1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5cbmNvbnN0IE5HX0RFVl9NT0RFID0gdHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlO1xuXG4vKipcbiAqIENvbnN1bWVycyBoYXZlIHRoZSBvcHRpb24gdG8gdXRpbGl6ZSB0aGUgZXhlY3V0aW9uIHN0cmF0ZWd5IHByb3ZpZGVkIGJ5XG4gKiBgTmd4c01vZHVsZS5mb3JSb290KHtleGVjdXRpb25TdHJhdGVneX0pYCBvciBgcHJvdmlkZVN0b3JlKFtdLCB7ZXhlY3V0aW9uU3RyYXRlZ3l9KWAuXG4gKi9cbmV4cG9ydCBjb25zdCBDVVNUT01fTkdYU19FWEVDVVRJT05fU1RSQVRFR1kgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIFR5cGU8Tmd4c0V4ZWN1dGlvblN0cmF0ZWd5PiB8IHVuZGVmaW5lZFxuPihOR19ERVZfTU9ERSA/ICdDVVNUT01fTkdYU19FWEVDVVRJT05fU1RSQVRFR1knIDogJycpO1xuXG4vKipcbiAqIFRoZSBpbmplY3Rpb24gdG9rZW4gaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHJlc29sdmUgYW4gaW5zdGFuY2Ugb2YgdGhlIGV4ZWN1dGlvblxuICogc3RyYXRlZ3kuIEl0IGNoZWNrcyB3aGV0aGVyIGNvbnN1bWVycyBoYXZlIHByb3ZpZGVkIHRoZWlyIG93biBgZXhlY3V0aW9uU3RyYXRlZ3lgXG4gKiBhbmQgYWxzbyB2ZXJpZmllcyBpZiB3ZSBhcmUgb3BlcmF0aW5nIGluIGEgem9uZS1hd2FyZSBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IE5HWFNfRVhFQ1VUSU9OX1NUUkFURUdZID0gbmV3IEluamVjdGlvblRva2VuPE5neHNFeGVjdXRpb25TdHJhdGVneT4oXG4gIE5HX0RFVl9NT0RFID8gJ05HWFNfRVhFQ1VUSU9OX1NUUkFURUdZJyA6ICcnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgIGNvbnN0IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgICAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSU5KRUNUT1IpO1xuICAgICAgY29uc3QgZXhlY3V0aW9uU3RyYXRlZ3kgPSBpbmplY3Rvci5nZXQoQ1VTVE9NX05HWFNfRVhFQ1VUSU9OX1NUUkFURUdZKTtcbiAgICAgIGNvbnN0IGlzTmdab25lRW5hYmxlZCA9IG5nWm9uZSBpbnN0YW5jZW9mIE5nWm9uZTtcbiAgICAgIHJldHVybiBleGVjdXRpb25TdHJhdGVneVxuICAgICAgICA/IGluamVjdG9yLmdldChleGVjdXRpb25TdHJhdGVneSlcbiAgICAgICAgOiBpbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBpc05nWm9uZUVuYWJsZWRcbiAgICAgICAgICAgICAgPyBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5XG4gICAgICAgICAgICAgIDogTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneVxuICAgICAgICAgICk7XG4gICAgfVxuICB9XG4pO1xuXG4vKlxuICogRXhlY3V0aW9uIHN0cmF0ZWd5IGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNFeGVjdXRpb25TdHJhdGVneSB7XG4gIGVudGVyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUO1xuICBsZWF2ZTxUPihmdW5jOiAoKSA9PiBUKTogVDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Injectable, NgZone } from '@angular/core';
|
|
2
|
+
import { EMPTY, forkJoin, of, Subject, throwError } from 'rxjs';
|
|
3
|
+
import { exhaustMap, filter, map, shareReplay, take } from 'rxjs/operators';
|
|
4
|
+
import { getActionTypeFromInstance } from '@ngxs/store/plugins';
|
|
5
|
+
import { ɵStateStream } from '@ngxs/store/internals';
|
|
6
|
+
import { compose } from '../utils/compose';
|
|
7
|
+
import { InternalActions } from '../actions-stream';
|
|
8
|
+
import { PluginManager } from '../plugin-manager';
|
|
9
|
+
import { InternalNgxsExecutionStrategy } from '../execution/internal-ngxs-execution-strategy';
|
|
10
|
+
import { leaveNgxs } from '../operators/leave-ngxs';
|
|
11
|
+
import { fallbackSubscriber } from './fallback-subscriber';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "../actions-stream";
|
|
14
|
+
import * as i2 from "../plugin-manager";
|
|
15
|
+
import * as i3 from "@ngxs/store/internals";
|
|
16
|
+
import * as i4 from "../execution/internal-ngxs-execution-strategy";
|
|
17
|
+
/**
|
|
18
|
+
* Internal Action result stream that is emitted when an action is completed.
|
|
19
|
+
* This is used as a method of returning the action result to the dispatcher
|
|
20
|
+
* for the observable returned by the dispatch(...) call.
|
|
21
|
+
* The dispatcher then asynchronously pushes the result from this stream onto the main action stream as a result.
|
|
22
|
+
*/
|
|
23
|
+
export class InternalDispatchedActionResults extends Subject {
|
|
24
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalDispatchedActionResults, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
25
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalDispatchedActionResults, providedIn: 'root' }); }
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalDispatchedActionResults, decorators: [{
|
|
28
|
+
type: Injectable,
|
|
29
|
+
args: [{ providedIn: 'root' }]
|
|
30
|
+
}] });
|
|
31
|
+
export class InternalDispatcher {
|
|
32
|
+
constructor(_ngZone, _actions, _actionResults, _pluginManager, _stateStream, _ngxsExecutionStrategy) {
|
|
33
|
+
this._ngZone = _ngZone;
|
|
34
|
+
this._actions = _actions;
|
|
35
|
+
this._actionResults = _actionResults;
|
|
36
|
+
this._pluginManager = _pluginManager;
|
|
37
|
+
this._stateStream = _stateStream;
|
|
38
|
+
this._ngxsExecutionStrategy = _ngxsExecutionStrategy;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Dispatches event(s).
|
|
42
|
+
*/
|
|
43
|
+
dispatch(actionOrActions) {
|
|
44
|
+
const result = this._ngxsExecutionStrategy.enter(() => this.dispatchByEvents(actionOrActions));
|
|
45
|
+
return result.pipe(fallbackSubscriber(this._ngZone), leaveNgxs(this._ngxsExecutionStrategy));
|
|
46
|
+
}
|
|
47
|
+
dispatchByEvents(actionOrActions) {
|
|
48
|
+
if (Array.isArray(actionOrActions)) {
|
|
49
|
+
if (actionOrActions.length === 0)
|
|
50
|
+
return of(undefined);
|
|
51
|
+
return forkJoin(actionOrActions.map(action => this.dispatchSingle(action))).pipe(map(() => undefined));
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return this.dispatchSingle(actionOrActions);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
dispatchSingle(action) {
|
|
58
|
+
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
59
|
+
const type = getActionTypeFromInstance(action);
|
|
60
|
+
if (!type) {
|
|
61
|
+
const error = new Error(`This action doesn't have a type property: ${action.constructor.name}`);
|
|
62
|
+
return throwError(() => error);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const prevState = this._stateStream.getValue();
|
|
66
|
+
const plugins = this._pluginManager.plugins;
|
|
67
|
+
return compose([
|
|
68
|
+
...plugins,
|
|
69
|
+
(nextState, nextAction) => {
|
|
70
|
+
if (nextState !== prevState) {
|
|
71
|
+
this._stateStream.next(nextState);
|
|
72
|
+
}
|
|
73
|
+
const actionResult$ = this.getActionResultStream(nextAction);
|
|
74
|
+
actionResult$.subscribe(ctx => this._actions.next(ctx));
|
|
75
|
+
this._actions.next({ action: nextAction, status: "DISPATCHED" /* ActionStatus.Dispatched */ });
|
|
76
|
+
return this.createDispatchObservable(actionResult$);
|
|
77
|
+
}
|
|
78
|
+
])(prevState, action).pipe(shareReplay());
|
|
79
|
+
}
|
|
80
|
+
getActionResultStream(action) {
|
|
81
|
+
return this._actionResults.pipe(filter((ctx) => ctx.action === action && ctx.status !== "DISPATCHED" /* ActionStatus.Dispatched */), take(1), shareReplay());
|
|
82
|
+
}
|
|
83
|
+
createDispatchObservable(actionResult$) {
|
|
84
|
+
return actionResult$
|
|
85
|
+
.pipe(exhaustMap((ctx) => {
|
|
86
|
+
switch (ctx.status) {
|
|
87
|
+
case "SUCCESSFUL" /* ActionStatus.Successful */:
|
|
88
|
+
// The `createDispatchObservable` function should return the
|
|
89
|
+
// state, as its result is utilized by plugins.
|
|
90
|
+
return of(this._stateStream.getValue());
|
|
91
|
+
case "ERRORED" /* ActionStatus.Errored */:
|
|
92
|
+
return throwError(() => ctx.error);
|
|
93
|
+
default:
|
|
94
|
+
return EMPTY;
|
|
95
|
+
}
|
|
96
|
+
}))
|
|
97
|
+
.pipe(shareReplay());
|
|
98
|
+
}
|
|
99
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalDispatcher, deps: [{ token: i0.NgZone }, { token: i1.InternalActions }, { token: InternalDispatchedActionResults }, { token: i2.PluginManager }, { token: i3.ɵStateStream }, { token: i4.InternalNgxsExecutionStrategy }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
100
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalDispatcher, providedIn: 'root' }); }
|
|
101
|
+
}
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalDispatcher, decorators: [{
|
|
103
|
+
type: Injectable,
|
|
104
|
+
args: [{ providedIn: 'root' }]
|
|
105
|
+
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i1.InternalActions }, { type: InternalDispatchedActionResults }, { type: i2.PluginManager }, { type: i3.ɵStateStream }, { type: i4.InternalNgxsExecutionStrategy }] });
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUErQixlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDOUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFFM0Q7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsT0FBc0I7aUlBQTlELCtCQUErQjtxSUFBL0IsK0JBQStCLGNBRGxCLE1BQU07OzJGQUNuQiwrQkFBK0I7a0JBRDNDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQUlsQyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsT0FBZSxFQUNmLFFBQXlCLEVBQ3pCLGNBQStDLEVBQy9DLGNBQTZCLEVBQzdCLFlBQTBCLEVBQzFCLHNCQUFxRDtRQUxyRCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQWlDO1FBQy9DLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBK0I7SUFDNUQsQ0FBQztJQUVKOztPQUVHO0lBQ0gsUUFBUSxDQUFDLGVBQTRCO1FBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQ3BELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FDdkMsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDaEIsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUNoQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsZUFBNEI7UUFDbkQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDbkMsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFdkQsT0FBTyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDOUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUNyQixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsTUFBVztRQUNoQyxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNsRCxNQUFNLElBQUksR0FBdUIseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNWLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUNyQiw2Q0FBNkMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FDdkUsQ0FBQztnQkFDRixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFFNUMsT0FBTyxPQUFPLENBQUM7WUFDYixHQUFHLE9BQU87WUFDVixDQUFDLFNBQWMsRUFBRSxVQUFlLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO2dCQUNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDN0QsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLDRDQUF5QixFQUFFLENBQUMsQ0FBQztnQkFDNUUsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdEQsQ0FBQztTQUNGLENBQUMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQVc7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDN0IsTUFBTSxDQUNKLENBQUMsR0FBa0IsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sK0NBQTRCLENBQ3hGLEVBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFdBQVcsRUFBRSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRU8sd0JBQXdCLENBQzlCLGFBQXdDO1FBRXhDLE9BQU8sYUFBYTthQUNqQixJQUFJLENBQ0gsVUFBVSxDQUFDLENBQUMsR0FBa0IsRUFBRSxFQUFFO1lBQ2hDLFFBQVEsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNuQjtvQkFDRSw0REFBNEQ7b0JBQzVELCtDQUErQztvQkFDL0MsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQztvQkFDRSxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JDO29CQUNFLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSDthQUNBLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7aUlBN0ZVLGtCQUFrQjtxSUFBbEIsa0JBQWtCLGNBREwsTUFBTTs7MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVNUFRZLCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZSB9IGZyb20gJ0BuZ3hzL3N0b3JlL3BsdWdpbnMnO1xuaW1wb3J0IHsgybVQbGFpbk9iamVjdCwgybVTdGF0ZVN0cmVhbSB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7IGNvbXBvc2UgfSBmcm9tICcuLi91dGlscy9jb21wb3NlJztcbmltcG9ydCB7IEFjdGlvbkNvbnRleHQsIEFjdGlvblN0YXR1cywgSW50ZXJuYWxBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9ucy1zdHJlYW0nO1xuaW1wb3J0IHsgUGx1Z2luTWFuYWdlciB9IGZyb20gJy4uL3BsdWdpbi1tYW5hZ2VyJztcbmltcG9ydCB7IEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi4vZXhlY3V0aW9uL2ludGVybmFsLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IGxlYXZlTmd4cyB9IGZyb20gJy4uL29wZXJhdG9ycy9sZWF2ZS1uZ3hzJztcbmltcG9ydCB7IGZhbGxiYWNrU3Vic2NyaWJlciB9IGZyb20gJy4vZmFsbGJhY2stc3Vic2NyaWJlcic7XG5cbi8qKlxuICogSW50ZXJuYWwgQWN0aW9uIHJlc3VsdCBzdHJlYW0gdGhhdCBpcyBlbWl0dGVkIHdoZW4gYW4gYWN0aW9uIGlzIGNvbXBsZXRlZC5cbiAqIFRoaXMgaXMgdXNlZCBhcyBhIG1ldGhvZCBvZiByZXR1cm5pbmcgdGhlIGFjdGlvbiByZXN1bHQgdG8gdGhlIGRpc3BhdGNoZXJcbiAqIGZvciB0aGUgb2JzZXJ2YWJsZSByZXR1cm5lZCBieSB0aGUgZGlzcGF0Y2goLi4uKSBjYWxsLlxuICogVGhlIGRpc3BhdGNoZXIgdGhlbiBhc3luY2hyb25vdXNseSBwdXNoZXMgdGhlIHJlc3VsdCBmcm9tIHRoaXMgc3RyZWFtIG9udG8gdGhlIG1haW4gYWN0aW9uIHN0cmVhbSBhcyBhIHJlc3VsdC5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzIGV4dGVuZHMgU3ViamVjdDxBY3Rpb25Db250ZXh0PiB7fVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsRGlzcGF0Y2hlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgX2FjdGlvbnM6IEludGVybmFsQWN0aW9ucyxcbiAgICBwcml2YXRlIF9hY3Rpb25SZXN1bHRzOiBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzLFxuICAgIHByaXZhdGUgX3BsdWdpbk1hbmFnZXI6IFBsdWdpbk1hbmFnZXIsXG4gICAgcHJpdmF0ZSBfc3RhdGVTdHJlYW06IMm1U3RhdGVTdHJlYW0sXG4gICAgcHJpdmF0ZSBfbmd4c0V4ZWN1dGlvblN0cmF0ZWd5OiBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneVxuICApIHt9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoZXMgZXZlbnQocykuXG4gICAqL1xuICBkaXNwYXRjaChhY3Rpb25PckFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmVudGVyKCgpID0+XG4gICAgICB0aGlzLmRpc3BhdGNoQnlFdmVudHMoYWN0aW9uT3JBY3Rpb25zKVxuICAgICk7XG5cbiAgICByZXR1cm4gcmVzdWx0LnBpcGUoXG4gICAgICBmYWxsYmFja1N1YnNjcmliZXIodGhpcy5fbmdab25lKSxcbiAgICAgIGxlYXZlTmd4cyh0aGlzLl9uZ3hzRXhlY3V0aW9uU3RyYXRlZ3kpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGF0Y2hCeUV2ZW50cyhhY3Rpb25PckFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYWN0aW9uT3JBY3Rpb25zKSkge1xuICAgICAgaWYgKGFjdGlvbk9yQWN0aW9ucy5sZW5ndGggPT09IDApIHJldHVybiBvZih1bmRlZmluZWQpO1xuXG4gICAgICByZXR1cm4gZm9ya0pvaW4oYWN0aW9uT3JBY3Rpb25zLm1hcChhY3Rpb24gPT4gdGhpcy5kaXNwYXRjaFNpbmdsZShhY3Rpb24pKSkucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHVuZGVmaW5lZClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc3BhdGNoU2luZ2xlKGFjdGlvbk9yQWN0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkaXNwYXRjaFNpbmdsZShhY3Rpb246IGFueSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGUpIHtcbiAgICAgIGNvbnN0IHR5cGU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UoYWN0aW9uKTtcbiAgICAgIGlmICghdHlwZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihcbiAgICAgICAgICBgVGhpcyBhY3Rpb24gZG9lc24ndCBoYXZlIGEgdHlwZSBwcm9wZXJ0eTogJHthY3Rpb24uY29uc3RydWN0b3IubmFtZX1gXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLl9zdGF0ZVN0cmVhbS5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IHBsdWdpbnMgPSB0aGlzLl9wbHVnaW5NYW5hZ2VyLnBsdWdpbnM7XG5cbiAgICByZXR1cm4gY29tcG9zZShbXG4gICAgICAuLi5wbHVnaW5zLFxuICAgICAgKG5leHRTdGF0ZTogYW55LCBuZXh0QWN0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKG5leHRTdGF0ZSAhPT0gcHJldlN0YXRlKSB7XG4gICAgICAgICAgdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChuZXh0U3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGlvblJlc3VsdCQgPSB0aGlzLmdldEFjdGlvblJlc3VsdFN0cmVhbShuZXh0QWN0aW9uKTtcbiAgICAgICAgYWN0aW9uUmVzdWx0JC5zdWJzY3JpYmUoY3R4ID0+IHRoaXMuX2FjdGlvbnMubmV4dChjdHgpKTtcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5uZXh0KHsgYWN0aW9uOiBuZXh0QWN0aW9uLCBzdGF0dXM6IEFjdGlvblN0YXR1cy5EaXNwYXRjaGVkIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVEaXNwYXRjaE9ic2VydmFibGUoYWN0aW9uUmVzdWx0JCk7XG4gICAgICB9XG4gICAgXSkocHJldlN0YXRlLCBhY3Rpb24pLnBpcGUoc2hhcmVSZXBsYXkoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGlvblJlc3VsdFN0cmVhbShhY3Rpb246IGFueSk6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dD4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25SZXN1bHRzLnBpcGUoXG4gICAgICBmaWx0ZXIoXG4gICAgICAgIChjdHg6IEFjdGlvbkNvbnRleHQpID0+IGN0eC5hY3Rpb24gPT09IGFjdGlvbiAmJiBjdHguc3RhdHVzICE9PSBBY3Rpb25TdGF0dXMuRGlzcGF0Y2hlZFxuICAgICAgKSxcbiAgICAgIHRha2UoMSksXG4gICAgICBzaGFyZVJlcGxheSgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGlzcGF0Y2hPYnNlcnZhYmxlKFxuICAgIGFjdGlvblJlc3VsdCQ6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dD5cbiAgKTogT2JzZXJ2YWJsZTzJtVBsYWluT2JqZWN0PiB7XG4gICAgcmV0dXJuIGFjdGlvblJlc3VsdCRcbiAgICAgIC5waXBlKFxuICAgICAgICBleGhhdXN0TWFwKChjdHg6IEFjdGlvbkNvbnRleHQpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGN0eC5zdGF0dXMpIHtcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uU3RhdHVzLlN1Y2Nlc3NmdWw6XG4gICAgICAgICAgICAgIC8vIFRoZSBgY3JlYXRlRGlzcGF0Y2hPYnNlcnZhYmxlYCBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIHRoZVxuICAgICAgICAgICAgICAvLyBzdGF0ZSwgYXMgaXRzIHJlc3VsdCBpcyB1dGlsaXplZCBieSBwbHVnaW5zLlxuICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKSk7XG4gICAgICAgICAgICBjYXNlIEFjdGlvblN0YXR1cy5FcnJvcmVkOlxuICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBjdHguZXJyb3IpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5waXBlKHNoYXJlUmVwbGF5KCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
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==
|