@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,89 @@
|
|
|
1
|
+
import { ENVIRONMENT_INITIALIZER, InjectionToken, inject } from '@angular/core';
|
|
2
|
+
import { Store } from '../store';
|
|
3
|
+
import { NGXS_PREBOOT_FNS } from './preboot';
|
|
4
|
+
import { InitState, UpdateState } from '../plugin_api';
|
|
5
|
+
import { FEATURE_STATE_TOKEN, ROOT_STATE_TOKEN } from '../symbols';
|
|
6
|
+
import { StateFactory } from '../internal/state-factory';
|
|
7
|
+
import { SelectFactory } from '../decorators/select/select-factory';
|
|
8
|
+
import { InternalStateOperations } from '../internal/state-operations';
|
|
9
|
+
import { LifecycleStateManager } from '../internal/lifecycle-state-manager';
|
|
10
|
+
const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
|
|
11
|
+
/**
|
|
12
|
+
* This function is shared by both NgModule and standalone features.
|
|
13
|
+
* When using `NgxsModule.forRoot` and `provideStore`, we can depend on the
|
|
14
|
+
* same initialization functionality.
|
|
15
|
+
*/
|
|
16
|
+
export function rootStoreInitializer() {
|
|
17
|
+
const prebootFns = inject(NGXS_PREBOOT_FNS, { optional: true }) || [];
|
|
18
|
+
prebootFns.forEach(prebootFn => prebootFn());
|
|
19
|
+
const factory = inject(StateFactory);
|
|
20
|
+
const internalStateOperations = inject(InternalStateOperations);
|
|
21
|
+
inject(Store);
|
|
22
|
+
inject(SelectFactory);
|
|
23
|
+
const states = inject(ROOT_STATE_TOKEN, { optional: true }) || [];
|
|
24
|
+
const lifecycleStateManager = inject(LifecycleStateManager);
|
|
25
|
+
// Add stores to the state graph and return their defaults.
|
|
26
|
+
const results = factory.addAndReturnDefaults(states);
|
|
27
|
+
internalStateOperations.setStateToTheCurrentWithNew(results);
|
|
28
|
+
// Connect our actions stream.
|
|
29
|
+
factory.connectActionHandlers();
|
|
30
|
+
// Dispatch the init action and invoke init and bootstrap functions after.
|
|
31
|
+
lifecycleStateManager.ngxsBootstrap(new InitState(), results);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* This function is utilized by both NgModule and standalone features.
|
|
35
|
+
* When using `NgxsModule.forFeature` and `provideStates`, we can depend on
|
|
36
|
+
* the same initialization functionality.
|
|
37
|
+
*/
|
|
38
|
+
export function featureStatesInitializer() {
|
|
39
|
+
inject(Store);
|
|
40
|
+
const internalStateOperations = inject(InternalStateOperations);
|
|
41
|
+
const factory = inject(StateFactory);
|
|
42
|
+
const states = inject(FEATURE_STATE_TOKEN, { optional: true }) || [];
|
|
43
|
+
const lifecycleStateManager = inject(LifecycleStateManager);
|
|
44
|
+
// Since FEATURE_STATE_TOKEN is a multi token, we need to
|
|
45
|
+
// flatten it [[Feature1State, Feature2State], [Feature3State]].
|
|
46
|
+
const flattenedStates = states.reduce((total, values) => total.concat(values), []);
|
|
47
|
+
// add stores to the state graph and return their defaults.
|
|
48
|
+
const results = factory.addAndReturnDefaults(flattenedStates);
|
|
49
|
+
if (results.states.length) {
|
|
50
|
+
internalStateOperations.setStateToTheCurrentWithNew(results);
|
|
51
|
+
// Dispatch the update action and invoke init and bootstrap functions after.
|
|
52
|
+
lifecycleStateManager.ngxsBootstrap(new UpdateState(results.defaults), results);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* InjectionToken that registers the global Store.
|
|
57
|
+
*/
|
|
58
|
+
export const NGXS_ROOT_STORE_INITIALIZER = new InjectionToken(NG_DEV_MODE ? 'NGXS_ROOT_STORE_INITIALIZER' : '');
|
|
59
|
+
/**
|
|
60
|
+
* InjectionToken that registers feature states.
|
|
61
|
+
*/
|
|
62
|
+
export const NGXS_FEATURE_STORE_INITIALIZER = new InjectionToken(NG_DEV_MODE ? 'NGXS_FEATURE_STORE_INITIALIZER' : '');
|
|
63
|
+
export const NGXS_ROOT_ENVIRONMENT_INITIALIZER = [
|
|
64
|
+
{ provide: NGXS_ROOT_STORE_INITIALIZER, useFactory: rootStoreInitializer },
|
|
65
|
+
{
|
|
66
|
+
provide: ENVIRONMENT_INITIALIZER,
|
|
67
|
+
multi: true,
|
|
68
|
+
useFactory() {
|
|
69
|
+
return () => inject(NGXS_ROOT_STORE_INITIALIZER);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
];
|
|
73
|
+
/**
|
|
74
|
+
* The `NGXS_FEATURE_ENVIRONMENT_INITIALIZER` functions as an environment initializer
|
|
75
|
+
* at the `Route` level. Angular Router creates an environment route injector for each
|
|
76
|
+
* matched route where navigation occurs. The injector is created once, ensuring that
|
|
77
|
+
* the feature states initialization only happens once as well.
|
|
78
|
+
*/
|
|
79
|
+
export const NGXS_FEATURE_ENVIRONMENT_INITIALIZER = [
|
|
80
|
+
{ provide: NGXS_FEATURE_STORE_INITIALIZER, useFactory: featureStatesInitializer },
|
|
81
|
+
{
|
|
82
|
+
provide: ENVIRONMENT_INITIALIZER,
|
|
83
|
+
multi: true,
|
|
84
|
+
useFactory() {
|
|
85
|
+
return () => inject(NGXS_FEATURE_STORE_INITIALIZER);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
];
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3N0YW5kYWxvbmUtZmVhdHVyZXMvaW5pdGlhbGl6ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQVksTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTVFLE1BQU0sV0FBVyxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUM7QUFFbEU7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RFLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRTdDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyQyxNQUFNLHVCQUF1QixH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QjtRQUNoQyxLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVU7WUFDUixPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3RELENBQUM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUiwgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IMm1U3RhdGVDbGFzc0ludGVybmFsIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBOR1hTX1BSRUJPT1RfRk5TIH0gZnJvbSAnLi9wcmVib290JztcbmltcG9ydCB7IEluaXRTdGF0ZSwgVXBkYXRlU3RhdGUgfSBmcm9tICcuLi9wbHVnaW5fYXBpJztcbmltcG9ydCB7IEZFQVRVUkVfU1RBVEVfVE9LRU4sIFJPT1RfU1RBVEVfVE9LRU4gfSBmcm9tICcuLi9zeW1ib2xzJztcbmltcG9ydCB7IFN0YXRlRmFjdG9yeSB9IGZyb20gJy4uL2ludGVybmFsL3N0YXRlLWZhY3RvcnknO1xuaW1wb3J0IHsgU3RhdGVzQW5kRGVmYXVsdHMgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgU2VsZWN0RmFjdG9yeSB9IGZyb20gJy4uL2RlY29yYXRvcnMvc2VsZWN0L3NlbGVjdC1mYWN0b3J5JztcbmltcG9ydCB7IEludGVybmFsU3RhdGVPcGVyYXRpb25zIH0gZnJvbSAnLi4vaW50ZXJuYWwvc3RhdGUtb3BlcmF0aW9ucyc7XG5pbXBvcnQgeyBMaWZlY3ljbGVTdGF0ZU1hbmFnZXIgfSBmcm9tICcuLi9pbnRlcm5hbC9saWZlY3ljbGUtc3RhdGUtbWFuYWdlcic7XG5cbmNvbnN0IE5HX0RFVl9NT0RFID0gdHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlO1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gaXMgc2hhcmVkIGJ5IGJvdGggTmdNb2R1bGUgYW5kIHN0YW5kYWxvbmUgZmVhdHVyZXMuXG4gKiBXaGVuIHVzaW5nIGBOZ3hzTW9kdWxlLmZvclJvb3RgIGFuZCBgcHJvdmlkZVN0b3JlYCwgd2UgY2FuIGRlcGVuZCBvbiB0aGVcbiAqIHNhbWUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25hbGl0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJvb3RTdG9yZUluaXRpYWxpemVyKCk6IHZvaWQge1xuICBjb25zdCBwcmVib290Rm5zID0gaW5qZWN0KE5HWFNfUFJFQk9PVF9GTlMsIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgW107XG4gIHByZWJvb3RGbnMuZm9yRWFjaChwcmVib290Rm4gPT4gcHJlYm9vdEZuKCkpO1xuXG4gIGNvbnN0IGZhY3RvcnkgPSBpbmplY3QoU3RhdGVGYWN0b3J5KTtcbiAgY29uc3QgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgPSBpbmplY3QoSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMpO1xuXG4gIGluamVjdChTdG9yZSk7XG4gIGluamVjdChTZWxlY3RGYWN0b3J5KTtcblxuICBjb25zdCBzdGF0ZXMgPSBpbmplY3QoUk9PVF9TVEFURV9UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBbXTtcbiAgY29uc3QgbGlmZWN5Y2xlU3RhdGVNYW5hZ2VyID0gaW5qZWN0KExpZmVjeWNsZVN0YXRlTWFuYWdlcik7XG5cbiAgLy8gQWRkIHN0b3JlcyB0byB0aGUgc3RhdGUgZ3JhcGggYW5kIHJldHVybiB0aGVpciBkZWZhdWx0cy5cbiAgY29uc3QgcmVzdWx0czogU3RhdGVzQW5kRGVmYXVsdHMgPSBmYWN0b3J5LmFkZEFuZFJldHVybkRlZmF1bHRzKHN0YXRlcyk7XG5cbiAgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuc2V0U3RhdGVUb1RoZUN1cnJlbnRXaXRoTmV3KHJlc3VsdHMpO1xuXG4gIC8vIENvbm5lY3Qgb3VyIGFjdGlvbnMgc3RyZWFtLlxuICBmYWN0b3J5LmNvbm5lY3RBY3Rpb25IYW5kbGVycygpO1xuXG4gIC8vIERpc3BhdGNoIHRoZSBpbml0IGFjdGlvbiBhbmQgaW52b2tlIGluaXQgYW5kIGJvb3RzdHJhcCBmdW5jdGlvbnMgYWZ0ZXIuXG4gIGxpZmVjeWNsZVN0YXRlTWFuYWdlci5uZ3hzQm9vdHN0cmFwKG5ldyBJbml0U3RhdGUoKSwgcmVzdWx0cyk7XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyB1dGlsaXplZCBieSBib3RoIE5nTW9kdWxlIGFuZCBzdGFuZGFsb25lIGZlYXR1cmVzLlxuICogV2hlbiB1c2luZyBgTmd4c01vZHVsZS5mb3JGZWF0dXJlYCBhbmQgYHByb3ZpZGVTdGF0ZXNgLCB3ZSBjYW4gZGVwZW5kIG9uXG4gKiB0aGUgc2FtZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbmFsaXR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmVhdHVyZVN0YXRlc0luaXRpYWxpemVyKCk6IHZvaWQge1xuICBpbmplY3QoU3RvcmUpO1xuXG4gIGNvbnN0IGludGVybmFsU3RhdGVPcGVyYXRpb25zID0gaW5qZWN0KEludGVybmFsU3RhdGVPcGVyYXRpb25zKTtcbiAgY29uc3QgZmFjdG9yeSA9IGluamVjdChTdGF0ZUZhY3RvcnkpO1xuICBjb25zdCBzdGF0ZXMgPSBpbmplY3QoRkVBVFVSRV9TVEFURV9UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBbXTtcbiAgY29uc3QgbGlmZWN5Y2xlU3RhdGVNYW5hZ2VyID0gaW5qZWN0KExpZmVjeWNsZVN0YXRlTWFuYWdlcik7XG5cbiAgLy8gU2luY2UgRkVBVFVSRV9TVEFURV9UT0tFTiBpcyBhIG11bHRpIHRva2VuLCB3ZSBuZWVkIHRvXG4gIC8vIGZsYXR0ZW4gaXQgW1tGZWF0dXJlMVN0YXRlLCBGZWF0dXJlMlN0YXRlXSwgW0ZlYXR1cmUzU3RhdGVdXS5cbiAgY29uc3QgZmxhdHRlbmVkU3RhdGVzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbFtdID0gc3RhdGVzLnJlZHVjZShcbiAgICAodG90YWw6IMm1U3RhdGVDbGFzc0ludGVybmFsW10sIHZhbHVlczogybVTdGF0ZUNsYXNzSW50ZXJuYWxbXSkgPT4gdG90YWwuY29uY2F0KHZhbHVlcyksXG4gICAgW11cbiAgKTtcblxuICAvLyBhZGQgc3RvcmVzIHRvIHRoZSBzdGF0ZSBncmFwaCBhbmQgcmV0dXJuIHRoZWlyIGRlZmF1bHRzLlxuICBjb25zdCByZXN1bHRzOiBTdGF0ZXNBbmREZWZhdWx0cyA9IGZhY3RvcnkuYWRkQW5kUmV0dXJuRGVmYXVsdHMoZmxhdHRlbmVkU3RhdGVzKTtcblxuICBpZiAocmVzdWx0cy5zdGF0ZXMubGVuZ3RoKSB7XG4gICAgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuc2V0U3RhdGVUb1RoZUN1cnJlbnRXaXRoTmV3KHJlc3VsdHMpO1xuXG4gICAgLy8gRGlzcGF0Y2ggdGhlIHVwZGF0ZSBhY3Rpb24gYW5kIGludm9rZSBpbml0IGFuZCBib290c3RyYXAgZnVuY3Rpb25zIGFmdGVyLlxuICAgIGxpZmVjeWNsZVN0YXRlTWFuYWdlci5uZ3hzQm9vdHN0cmFwKG5ldyBVcGRhdGVTdGF0ZShyZXN1bHRzLmRlZmF1bHRzKSwgcmVzdWx0cyk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbmplY3Rpb25Ub2tlbiB0aGF0IHJlZ2lzdGVycyB0aGUgZ2xvYmFsIFN0b3JlLlxuICovXG5leHBvcnQgY29uc3QgTkdYU19ST09UX1NUT1JFX0lOSVRJQUxJWkVSID0gbmV3IEluamVjdGlvblRva2VuPHZvaWQ+KFxuICBOR19ERVZfTU9ERSA/ICdOR1hTX1JPT1RfU1RPUkVfSU5JVElBTElaRVInIDogJydcbik7XG5cbi8qKlxuICogSW5qZWN0aW9uVG9rZW4gdGhhdCByZWdpc3RlcnMgZmVhdHVyZSBzdGF0ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBOR1hTX0ZFQVRVUkVfU1RPUkVfSU5JVElBTElaRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48dm9pZD4oXG4gIE5HX0RFVl9NT0RFID8gJ05HWFNfRkVBVFVSRV9TVE9SRV9JTklUSUFMSVpFUicgOiAnJ1xuKTtcblxuZXhwb3J0IGNvbnN0IE5HWFNfUk9PVF9FTlZJUk9OTUVOVF9JTklUSUFMSVpFUjogUHJvdmlkZXJbXSA9IFtcbiAgeyBwcm92aWRlOiBOR1hTX1JPT1RfU1RPUkVfSU5JVElBTElaRVIsIHVzZUZhY3Rvcnk6IHJvb3RTdG9yZUluaXRpYWxpemVyIH0sXG4gIHtcbiAgICBwcm92aWRlOiBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUixcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICB1c2VGYWN0b3J5KCkge1xuICAgICAgcmV0dXJuICgpID0+IGluamVjdChOR1hTX1JPT1RfU1RPUkVfSU5JVElBTElaRVIpO1xuICAgIH1cbiAgfVxuXTtcblxuLyoqXG4gKiBUaGUgYE5HWFNfRkVBVFVSRV9FTlZJUk9OTUVOVF9JTklUSUFMSVpFUmAgZnVuY3Rpb25zIGFzIGFuIGVudmlyb25tZW50IGluaXRpYWxpemVyXG4gKiBhdCB0aGUgYFJvdXRlYCBsZXZlbC4gQW5ndWxhciBSb3V0ZXIgY3JlYXRlcyBhbiBlbnZpcm9ubWVudCByb3V0ZSBpbmplY3RvciBmb3IgZWFjaFxuICogbWF0Y2hlZCByb3V0ZSB3aGVyZSBuYXZpZ2F0aW9uIG9jY3Vycy4gVGhlIGluamVjdG9yIGlzIGNyZWF0ZWQgb25jZSwgZW5zdXJpbmcgdGhhdFxuICogdGhlIGZlYXR1cmUgc3RhdGVzIGluaXRpYWxpemF0aW9uIG9ubHkgaGFwcGVucyBvbmNlIGFzIHdlbGwuXG4gKi9cbmV4cG9ydCBjb25zdCBOR1hTX0ZFQVRVUkVfRU5WSVJPTk1FTlRfSU5JVElBTElaRVI6IFByb3ZpZGVyW10gPSBbXG4gIHsgcHJvdmlkZTogTkdYU19GRUFUVVJFX1NUT1JFX0lOSVRJQUxJWkVSLCB1c2VGYWN0b3J5OiBmZWF0dXJlU3RhdGVzSW5pdGlhbGl6ZXIgfSxcbiAge1xuICAgIHByb3ZpZGU6IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLFxuICAgIG11bHRpOiB0cnVlLFxuICAgIHVzZUZhY3RvcnkoKSB7XG4gICAgICByZXR1cm4gKCkgPT4gaW5qZWN0KE5HWFNfRkVBVFVSRV9TVE9SRV9JTklUSUFMSVpFUik7XG4gICAgfVxuICB9XG5dO1xuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { makeEnvironmentProviders } from '@angular/core';
|
|
2
|
+
import { NGXS_PLUGINS } from '@ngxs/store/plugins';
|
|
3
|
+
/**
|
|
4
|
+
* This function registers a custom global plugin for the state.
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* bootstrapApplication(AppComponent, {
|
|
8
|
+
* providers: [
|
|
9
|
+
* provideStore(
|
|
10
|
+
* [CountriesState],
|
|
11
|
+
* withNgxsPlugin(LogoutPlugin)
|
|
12
|
+
* )
|
|
13
|
+
* ]
|
|
14
|
+
* });
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export function withNgxsPlugin(plugin) {
|
|
18
|
+
return makeEnvironmentProviders([{ provide: NGXS_PLUGINS, useClass: plugin, multi: true }]);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3N0YW5kYWxvbmUtZmVhdHVyZXMvcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEIsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLHFCQUFxQixDQUFDO0FBRS9EOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQXdCO0lBQ3JELE9BQU8sd0JBQXdCLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzlGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgVHlwZSwgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR1hTX1BMVUdJTlMsIE5neHNQbHVnaW4gfSBmcm9tICdAbmd4cy9zdG9yZS9wbHVnaW5zJztcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlZ2lzdGVycyBhIGN1c3RvbSBnbG9iYWwgcGx1Z2luIGZvciB0aGUgc3RhdGUuXG4gKlxuICogYGBgdHNcbiAqIGJvb3RzdHJhcEFwcGxpY2F0aW9uKEFwcENvbXBvbmVudCwge1xuICogICBwcm92aWRlcnM6IFtcbiAqICAgICBwcm92aWRlU3RvcmUoXG4gKiAgICAgICBbQ291bnRyaWVzU3RhdGVdLFxuICogICAgICAgd2l0aE5neHNQbHVnaW4oTG9nb3V0UGx1Z2luKVxuICogICAgIClcbiAqICAgXVxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhOZ3hzUGx1Z2luKHBsdWdpbjogVHlwZTxOZ3hzUGx1Z2luPik6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbeyBwcm92aWRlOiBOR1hTX1BMVUdJTlMsIHVzZUNsYXNzOiBwbHVnaW4sIG11bHRpOiB0cnVlIH1dKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { InjectionToken, makeEnvironmentProviders } from '@angular/core';
|
|
2
|
+
const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
|
|
3
|
+
/**
|
|
4
|
+
* InjectionToken that registers preboot functions (called before the root initializer).
|
|
5
|
+
*/
|
|
6
|
+
export const NGXS_PREBOOT_FNS = new InjectionToken(NG_DEV_MODE ? 'NGXS_PREBOOT_FNS' : '');
|
|
7
|
+
/**
|
|
8
|
+
* This function registers a preboot function which will be called before the root
|
|
9
|
+
* store initializer is run, but after all of the NGXS features are provided and
|
|
10
|
+
* available for injection. This is useful for registering action stream listeners
|
|
11
|
+
* before any action is dispatched.
|
|
12
|
+
*
|
|
13
|
+
* ```ts
|
|
14
|
+
* bootstrapApplication(AppComponent, {
|
|
15
|
+
* providers: [
|
|
16
|
+
* provideStore(
|
|
17
|
+
* [CountriesState],
|
|
18
|
+
* withNgxsPreboot(() => {
|
|
19
|
+
* const actions$ = inject(Actions);
|
|
20
|
+
* actions$.subscribe(ctx => console.log(ctx));
|
|
21
|
+
* })
|
|
22
|
+
* )
|
|
23
|
+
* ]
|
|
24
|
+
* });
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export function withNgxsPreboot(prebootFn) {
|
|
28
|
+
return makeEnvironmentProviders([
|
|
29
|
+
{ provide: NGXS_PREBOOT_FNS, multi: true, useValue: prebootFn }
|
|
30
|
+
]);
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlYm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zdGFuZGFsb25lLWZlYXR1cmVzL3ByZWJvb3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RSxNQUFNLFdBQVcsR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDO0FBRWxFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQ2hELFdBQVcsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDdEMsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxTQUF1QjtJQUNyRCxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRTtLQUNoRSxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZTtcblxuLyoqXG4gKiBJbmplY3Rpb25Ub2tlbiB0aGF0IHJlZ2lzdGVycyBwcmVib290IGZ1bmN0aW9ucyAoY2FsbGVkIGJlZm9yZSB0aGUgcm9vdCBpbml0aWFsaXplcikuXG4gKi9cbmV4cG9ydCBjb25zdCBOR1hTX1BSRUJPT1RfRk5TID0gbmV3IEluamVjdGlvblRva2VuPFZvaWRGdW5jdGlvbltdPihcbiAgTkdfREVWX01PREUgPyAnTkdYU19QUkVCT09UX0ZOUycgOiAnJ1xuKTtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlZ2lzdGVycyBhIHByZWJvb3QgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBjYWxsZWQgYmVmb3JlIHRoZSByb290XG4gKiBzdG9yZSBpbml0aWFsaXplciBpcyBydW4sIGJ1dCBhZnRlciBhbGwgb2YgdGhlIE5HWFMgZmVhdHVyZXMgYXJlIHByb3ZpZGVkIGFuZFxuICogYXZhaWxhYmxlIGZvciBpbmplY3Rpb24uIFRoaXMgaXMgdXNlZnVsIGZvciByZWdpc3RlcmluZyBhY3Rpb24gc3RyZWFtIGxpc3RlbmVyc1xuICogYmVmb3JlIGFueSBhY3Rpb24gaXMgZGlzcGF0Y2hlZC5cbiAqXG4gKiBgYGB0c1xuICogYm9vdHN0cmFwQXBwbGljYXRpb24oQXBwQ29tcG9uZW50LCB7XG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgIHByb3ZpZGVTdG9yZShcbiAqICAgICAgIFtDb3VudHJpZXNTdGF0ZV0sXG4gKiAgICAgICB3aXRoTmd4c1ByZWJvb3QoKCkgPT4ge1xuICogICAgICAgICBjb25zdCBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAqICAgICAgICAgYWN0aW9ucyQuc3Vic2NyaWJlKGN0eCA9PiBjb25zb2xlLmxvZyhjdHgpKTtcbiAqICAgICAgIH0pXG4gKiAgICAgKVxuICogICBdXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aE5neHNQcmVib290KHByZWJvb3RGbjogVm9pZEZ1bmN0aW9uKSB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHsgcHJvdmlkZTogTkdYU19QUkVCT09UX0ZOUywgbXVsdGk6IHRydWUsIHVzZVZhbHVlOiBwcmVib290Rm4gfVxuICBdKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { makeEnvironmentProviders } from '@angular/core';
|
|
2
|
+
import { getFeatureProviders } from './feature-providers';
|
|
3
|
+
import { NGXS_FEATURE_ENVIRONMENT_INITIALIZER } from './initializers';
|
|
4
|
+
/**
|
|
5
|
+
* This version serves as a standalone alternative to `NgxsModule.forFeature`.
|
|
6
|
+
* It can be used in a similar manner to register feature states, but at the
|
|
7
|
+
* `Route` providers level:
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* const routes: Routes = [
|
|
11
|
+
* {
|
|
12
|
+
* path: 'products',
|
|
13
|
+
* loadComponent: async () => {...},
|
|
14
|
+
* providers: [provideStates([ProductsState])]
|
|
15
|
+
* }
|
|
16
|
+
* ];
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export function provideStates(states, ...features) {
|
|
20
|
+
return makeEnvironmentProviders([
|
|
21
|
+
...getFeatureProviders(states),
|
|
22
|
+
features,
|
|
23
|
+
NGXS_FEATURE_ENVIRONMENT_INITIALIZER
|
|
24
|
+
]);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1zdGF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc3RhbmRhbG9uZS1mZWF0dXJlcy9wcm92aWRlLXN0YXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRFOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsTUFBcUIsRUFDckIsR0FBRyxRQUFnQztJQUVuQyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDO1FBQzlCLFFBQVE7UUFDUixvQ0FBb0M7S0FDckMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50UHJvdmlkZXJzLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IMm1U3RhdGVDbGFzcyB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7IGdldEZlYXR1cmVQcm92aWRlcnMgfSBmcm9tICcuL2ZlYXR1cmUtcHJvdmlkZXJzJztcbmltcG9ydCB7IE5HWFNfRkVBVFVSRV9FTlZJUk9OTUVOVF9JTklUSUFMSVpFUiB9IGZyb20gJy4vaW5pdGlhbGl6ZXJzJztcblxuLyoqXG4gKiBUaGlzIHZlcnNpb24gc2VydmVzIGFzIGEgc3RhbmRhbG9uZSBhbHRlcm5hdGl2ZSB0byBgTmd4c01vZHVsZS5mb3JGZWF0dXJlYC5cbiAqIEl0IGNhbiBiZSB1c2VkIGluIGEgc2ltaWxhciBtYW5uZXIgdG8gcmVnaXN0ZXIgZmVhdHVyZSBzdGF0ZXMsIGJ1dCBhdCB0aGVcbiAqIGBSb3V0ZWAgcHJvdmlkZXJzIGxldmVsOlxuICpcbiAqIGBgYHRzXG4gKiBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAqICAge1xuICogICAgIHBhdGg6ICdwcm9kdWN0cycsXG4gKiAgICAgbG9hZENvbXBvbmVudDogYXN5bmMgKCkgPT4gey4uLn0sXG4gKiAgICAgcHJvdmlkZXJzOiBbcHJvdmlkZVN0YXRlcyhbUHJvZHVjdHNTdGF0ZV0pXVxuICogICB9XG4gKiBdO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU3RhdGVzKFxuICBzdGF0ZXM6IMm1U3RhdGVDbGFzc1tdLFxuICAuLi5mZWF0dXJlczogRW52aXJvbm1lbnRQcm92aWRlcnNbXVxuKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICAuLi5nZXRGZWF0dXJlUHJvdmlkZXJzKHN0YXRlcyksXG4gICAgZmVhdHVyZXMsXG4gICAgTkdYU19GRUFUVVJFX0VOVklST05NRU5UX0lOSVRJQUxJWkVSXG4gIF0pO1xufVxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { makeEnvironmentProviders } from '@angular/core';
|
|
2
|
+
import { getRootProviders } from './root-providers';
|
|
3
|
+
import { NGXS_ROOT_ENVIRONMENT_INITIALIZER } from './initializers';
|
|
4
|
+
export function provideStore(states = [], ...optionsAndFeatures) {
|
|
5
|
+
const features = [];
|
|
6
|
+
// Options are empty by default (see `forRoot`).
|
|
7
|
+
let options = {};
|
|
8
|
+
if (optionsAndFeatures.length > 0) {
|
|
9
|
+
if (isEnvironmentProvider(optionsAndFeatures[0])) {
|
|
10
|
+
features.push(...optionsAndFeatures);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
options = optionsAndFeatures[0];
|
|
14
|
+
features.push(...optionsAndFeatures.slice(1));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return makeEnvironmentProviders([
|
|
18
|
+
...getRootProviders(states, options),
|
|
19
|
+
NGXS_ROOT_ENVIRONMENT_INITIALIZER,
|
|
20
|
+
features
|
|
21
|
+
]);
|
|
22
|
+
}
|
|
23
|
+
function isEnvironmentProvider(target) {
|
|
24
|
+
return !!target.ɵproviders;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zdGFuZGFsb25lLWZlYXR1cmVzL3Byb3ZpZGUtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3Qix3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQThCbkUsTUFBTSxVQUFVLFlBQVksQ0FDMUIsU0FBd0IsRUFBRSxFQUMxQixHQUFHLGtCQUF5QjtJQUU1QixNQUFNLFFBQVEsR0FBMkIsRUFBRSxDQUFDO0lBQzVDLGdEQUFnRDtJQUNoRCxJQUFJLE9BQU8sR0FBc0IsRUFBRSxDQUFDO0lBRXBDLElBQUksa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2xDLElBQUkscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pELFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDO1FBQ3BDLGlDQUFpQztRQUNqQyxRQUFRO0tBQ1QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsTUFBVztJQUN4QyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyDJtVN0YXRlQ2xhc3MgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBOZ3hzTW9kdWxlT3B0aW9ucyB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgZ2V0Um9vdFByb3ZpZGVycyB9IGZyb20gJy4vcm9vdC1wcm92aWRlcnMnO1xuaW1wb3J0IHsgTkdYU19ST09UX0VOVklST05NRU5UX0lOSVRJQUxJWkVSIH0gZnJvbSAnLi9pbml0aWFsaXplcnMnO1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgZ2xvYmFsIHN0b3JlIHByb3ZpZGVycyBhbmQgaW5pdGlhbGl6ZXMgdGhlIHN0b3JlLlxuICpcbiAqIGBgYHRzXG4gKiBib290c3RyYXBBcHBsaWNhdGlvbihBcHBDb21wb25lbnQsIHtcbiAqICAgcHJvdmlkZXJzOiBbcHJvdmlkZVN0b3JlKFtDb3VudHJpZXNTdGF0ZV0pXVxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBUaGUgYHByb3ZpZGVTdG9yZWAgbWF5IGJlIG9wdGlvbmFsbHkgY2FsbGVkIHdpdGggYSBjb25maWcgYmVmb3JlIHRoZSBsaXN0IG9mIGZlYXR1cmVzOlxuICpcbiAqIGBgYHRzXG4gKiBwcm92aWRlU3RvcmUoW0NvdW50cmllc1N0YXRlXSwge1xuICogICBkZXZlbG9wbWVudE1vZGU6ICFlbnZpcm9ubWVudC5wcm9kdWN0aW9uXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVN0b3JlKFxuICBzdGF0ZXM/OiDJtVN0YXRlQ2xhc3NbXSxcbiAgLi4uZmVhdHVyZXM6IEVudmlyb25tZW50UHJvdmlkZXJzW11cbik6IEVudmlyb25tZW50UHJvdmlkZXJzO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVN0b3JlKFxuICBzdGF0ZXM/OiDJtVN0YXRlQ2xhc3NbXSxcbiAgb3B0aW9ucz86IE5neHNNb2R1bGVPcHRpb25zLFxuICAuLi5mZWF0dXJlczogRW52aXJvbm1lbnRQcm92aWRlcnNbXVxuKTogRW52aXJvbm1lbnRQcm92aWRlcnM7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU3RvcmUoXG4gIHN0YXRlczogybVTdGF0ZUNsYXNzW10gPSBbXSxcbiAgLi4ub3B0aW9uc0FuZEZlYXR1cmVzOiBhbnlbXVxuKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICBjb25zdCBmZWF0dXJlczogRW52aXJvbm1lbnRQcm92aWRlcnNbXSA9IFtdO1xuICAvLyBPcHRpb25zIGFyZSBlbXB0eSBieSBkZWZhdWx0IChzZWUgYGZvclJvb3RgKS5cbiAgbGV0IG9wdGlvbnM6IE5neHNNb2R1bGVPcHRpb25zID0ge307XG5cbiAgaWYgKG9wdGlvbnNBbmRGZWF0dXJlcy5sZW5ndGggPiAwKSB7XG4gICAgaWYgKGlzRW52aXJvbm1lbnRQcm92aWRlcihvcHRpb25zQW5kRmVhdHVyZXNbMF0pKSB7XG4gICAgICBmZWF0dXJlcy5wdXNoKC4uLm9wdGlvbnNBbmRGZWF0dXJlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9wdGlvbnMgPSBvcHRpb25zQW5kRmVhdHVyZXNbMF07XG4gICAgICBmZWF0dXJlcy5wdXNoKC4uLm9wdGlvbnNBbmRGZWF0dXJlcy5zbGljZSgxKSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgLi4uZ2V0Um9vdFByb3ZpZGVycyhzdGF0ZXMsIG9wdGlvbnMpLFxuICAgIE5HWFNfUk9PVF9FTlZJUk9OTUVOVF9JTklUSUFMSVpFUixcbiAgICBmZWF0dXJlc1xuICBdKTtcbn1cblxuZnVuY3Rpb24gaXNFbnZpcm9ubWVudFByb3ZpZGVyKHRhcmdldDogYW55KTogdGFyZ2V0IGlzIEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgcmV0dXJuICEhdGFyZ2V0Lsm1cHJvdmlkZXJzO1xufVxuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { APP_BOOTSTRAP_LISTENER, inject } from '@angular/core';
|
|
2
|
+
import { ɵNGXS_STATE_CONTEXT_FACTORY, ɵNGXS_STATE_FACTORY, ɵNgxsAppBootstrappedState } from '@ngxs/store/internals';
|
|
3
|
+
import { PluginManager } from '../plugin-manager';
|
|
4
|
+
import { StateFactory } from '../internal/state-factory';
|
|
5
|
+
import { CUSTOM_NGXS_EXECUTION_STRATEGY } from '../execution/symbols';
|
|
6
|
+
import { StateContextFactory } from '../internal/state-context-factory';
|
|
7
|
+
import { ROOT_STATE_TOKEN, NGXS_OPTIONS } from '../symbols';
|
|
8
|
+
/**
|
|
9
|
+
* This function provides the required providers when invoking `NgxsModule.forRoot`
|
|
10
|
+
* or `provideStore`. It is shared between the NgModule and standalone APIs.
|
|
11
|
+
*/
|
|
12
|
+
export function getRootProviders(states, options) {
|
|
13
|
+
return [
|
|
14
|
+
StateFactory,
|
|
15
|
+
PluginManager,
|
|
16
|
+
...states,
|
|
17
|
+
{
|
|
18
|
+
provide: ROOT_STATE_TOKEN,
|
|
19
|
+
useValue: states
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
provide: APP_BOOTSTRAP_LISTENER,
|
|
23
|
+
useFactory: () => {
|
|
24
|
+
const appBootstrappedState = inject(ɵNgxsAppBootstrappedState);
|
|
25
|
+
return () => appBootstrappedState.bootstrap();
|
|
26
|
+
},
|
|
27
|
+
multi: true
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
provide: NGXS_OPTIONS,
|
|
31
|
+
useValue: options
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
provide: CUSTOM_NGXS_EXECUTION_STRATEGY,
|
|
35
|
+
useValue: options.executionStrategy
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
provide: ɵNGXS_STATE_CONTEXT_FACTORY,
|
|
39
|
+
useExisting: StateContextFactory
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
provide: ɵNGXS_STATE_FACTORY,
|
|
43
|
+
useExisting: StateFactory
|
|
44
|
+
}
|
|
45
|
+
];
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc3RhbmRhbG9uZS1mZWF0dXJlcy9yb290LXByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQVksTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFFTCwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUMxQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFxQixnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0U7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixNQUFxQixFQUNyQixPQUEwQjtJQUUxQixPQUFPO1FBQ0wsWUFBWTtRQUNaLGFBQWE7UUFDYixHQUFHLE1BQU07UUFDVDtZQUNFLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsUUFBUSxFQUFFLE1BQU07U0FDakI7UUFDRDtZQUNFLE9BQU8sRUFBRSxzQkFBc0I7WUFDL0IsVUFBVSxFQUFFLEdBQUcsRUFBRTtnQkFDZixNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2dCQUMvRCxPQUFPLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2hELENBQUM7WUFDRCxLQUFLLEVBQUUsSUFBSTtTQUNaO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsWUFBWTtZQUNyQixRQUFRLEVBQUUsT0FBTztTQUNsQjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDhCQUE4QjtZQUN2QyxRQUFRLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjtTQUNwQztRQUNEO1lBQ0UsT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxXQUFXLEVBQUUsbUJBQW1CO1NBQ2pDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFdBQVcsRUFBRSxZQUFZO1NBQzFCO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfQk9PVFNUUkFQX0xJU1RFTkVSLCBQcm92aWRlciwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICDJtVN0YXRlQ2xhc3MsXG4gIMm1TkdYU19TVEFURV9DT05URVhUX0ZBQ1RPUlksXG4gIMm1TkdYU19TVEFURV9GQUNUT1JZLFxuICDJtU5neHNBcHBCb290c3RyYXBwZWRTdGF0ZVxufSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBQbHVnaW5NYW5hZ2VyIH0gZnJvbSAnLi4vcGx1Z2luLW1hbmFnZXInO1xuaW1wb3J0IHsgU3RhdGVGYWN0b3J5IH0gZnJvbSAnLi4vaW50ZXJuYWwvc3RhdGUtZmFjdG9yeSc7XG5pbXBvcnQgeyBDVVNUT01fTkdYU19FWEVDVVRJT05fU1RSQVRFR1kgfSBmcm9tICcuLi9leGVjdXRpb24vc3ltYm9scyc7XG5pbXBvcnQgeyBTdGF0ZUNvbnRleHRGYWN0b3J5IH0gZnJvbSAnLi4vaW50ZXJuYWwvc3RhdGUtY29udGV4dC1mYWN0b3J5JztcbmltcG9ydCB7IE5neHNNb2R1bGVPcHRpb25zLCBST09UX1NUQVRFX1RPS0VOLCBOR1hTX09QVElPTlMgfSBmcm9tICcuLi9zeW1ib2xzJztcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIHRoZSByZXF1aXJlZCBwcm92aWRlcnMgd2hlbiBpbnZva2luZyBgTmd4c01vZHVsZS5mb3JSb290YFxuICogb3IgYHByb3ZpZGVTdG9yZWAuIEl0IGlzIHNoYXJlZCBiZXR3ZWVuIHRoZSBOZ01vZHVsZSBhbmQgc3RhbmRhbG9uZSBBUElzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um9vdFByb3ZpZGVycyhcbiAgc3RhdGVzOiDJtVN0YXRlQ2xhc3NbXSxcbiAgb3B0aW9uczogTmd4c01vZHVsZU9wdGlvbnNcbik6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIFN0YXRlRmFjdG9yeSxcbiAgICBQbHVnaW5NYW5hZ2VyLFxuICAgIC4uLnN0YXRlcyxcbiAgICB7XG4gICAgICBwcm92aWRlOiBST09UX1NUQVRFX1RPS0VOLFxuICAgICAgdXNlVmFsdWU6IHN0YXRlc1xuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVBQX0JPT1RTVFJBUF9MSVNURU5FUixcbiAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgY29uc3QgYXBwQm9vdHN0cmFwcGVkU3RhdGUgPSBpbmplY3QoybVOZ3hzQXBwQm9vdHN0cmFwcGVkU3RhdGUpO1xuICAgICAgICByZXR1cm4gKCkgPT4gYXBwQm9vdHN0cmFwcGVkU3RhdGUuYm9vdHN0cmFwKCk7XG4gICAgICB9LFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HWFNfT1BUSU9OUyxcbiAgICAgIHVzZVZhbHVlOiBvcHRpb25zXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBDVVNUT01fTkdYU19FWEVDVVRJT05fU1RSQVRFR1ksXG4gICAgICB1c2VWYWx1ZTogb3B0aW9ucy5leGVjdXRpb25TdHJhdGVneVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogybVOR1hTX1NUQVRFX0NPTlRFWFRfRkFDVE9SWSxcbiAgICAgIHVzZUV4aXN0aW5nOiBTdGF0ZUNvbnRleHRGYWN0b3J5XG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiDJtU5HWFNfU1RBVEVfRkFDVE9SWSxcbiAgICAgIHVzZUV4aXN0aW5nOiBTdGF0ZUZhY3RvcnlcbiAgICB9XG4gIF07XG59XG4iXX0=
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional, computed } from '@angular/core';
|
|
2
|
+
import { of, throwError } from 'rxjs';
|
|
3
|
+
import { catchError, distinctUntilChanged, map, shareReplay, take } from 'rxjs/operators';
|
|
4
|
+
import { ɵINITIAL_STATE_TOKEN, ɵStateStream } from '@ngxs/store/internals';
|
|
5
|
+
import { InternalNgxsExecutionStrategy } from './execution/internal-ngxs-execution-strategy';
|
|
6
|
+
import { InternalStateOperations } from './internal/state-operations';
|
|
7
|
+
import { getRootSelectorFactory } from './selectors/selector-utils';
|
|
8
|
+
import { leaveNgxs } from './operators/leave-ngxs';
|
|
9
|
+
import { NgxsConfig } from './symbols';
|
|
10
|
+
import { StateFactory } from './internal/state-factory';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@ngxs/store/internals";
|
|
13
|
+
import * as i2 from "./internal/state-operations";
|
|
14
|
+
import * as i3 from "./symbols";
|
|
15
|
+
import * as i4 from "./execution/internal-ngxs-execution-strategy";
|
|
16
|
+
import * as i5 from "./internal/state-factory";
|
|
17
|
+
export class Store {
|
|
18
|
+
constructor(_stateStream, _internalStateOperations, _config, _internalExecutionStrategy, _stateFactory, initialStateValue) {
|
|
19
|
+
this._stateStream = _stateStream;
|
|
20
|
+
this._internalStateOperations = _internalStateOperations;
|
|
21
|
+
this._config = _config;
|
|
22
|
+
this._internalExecutionStrategy = _internalExecutionStrategy;
|
|
23
|
+
this._stateFactory = _stateFactory;
|
|
24
|
+
/**
|
|
25
|
+
* This is a derived state stream that leaves NGXS execution strategy to emit state changes within the Angular zone,
|
|
26
|
+
* because state is being changed actually within the `<root>` zone, see `InternalDispatcher#dispatchSingle`.
|
|
27
|
+
* All selects would use this stream, and it would call leave only once for any state change across all active selectors.
|
|
28
|
+
*/
|
|
29
|
+
this._selectableStateStream = this._stateStream.pipe(leaveNgxs(this._internalExecutionStrategy), shareReplay({ bufferSize: 1, refCount: true }));
|
|
30
|
+
this.initStateStream(initialStateValue);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Dispatches event(s).
|
|
34
|
+
*/
|
|
35
|
+
dispatch(actionOrActions) {
|
|
36
|
+
return this._internalStateOperations.getRootStateOperations().dispatch(actionOrActions);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Selects a slice of data from the store.
|
|
40
|
+
*/
|
|
41
|
+
select(selector) {
|
|
42
|
+
const selectorFn = this.getStoreBoundSelectorFn(selector);
|
|
43
|
+
return this._selectableStateStream.pipe(map(selectorFn), catchError((error) => {
|
|
44
|
+
// if error is TypeError we swallow it to prevent usual errors with property access
|
|
45
|
+
if (this._config.selectorOptions.suppressErrors && error instanceof TypeError) {
|
|
46
|
+
return of(undefined);
|
|
47
|
+
}
|
|
48
|
+
// rethrow other errors
|
|
49
|
+
return throwError(error);
|
|
50
|
+
}), distinctUntilChanged(), leaveNgxs(this._internalExecutionStrategy));
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Select one slice of data from the store.
|
|
54
|
+
*/
|
|
55
|
+
selectOnce(selector) {
|
|
56
|
+
return this.select(selector).pipe(take(1));
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Select a snapshot from the state.
|
|
60
|
+
*/
|
|
61
|
+
selectSnapshot(selector) {
|
|
62
|
+
const selectorFn = this.getStoreBoundSelectorFn(selector);
|
|
63
|
+
return selectorFn(this._stateStream.getValue());
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Select a signal from the state.
|
|
67
|
+
*/
|
|
68
|
+
selectSignal(selector) {
|
|
69
|
+
const selectorFn = this.getStoreBoundSelectorFn(selector);
|
|
70
|
+
return computed(() => selectorFn(this._stateStream.state()));
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Allow the user to subscribe to the root of the state
|
|
74
|
+
*/
|
|
75
|
+
subscribe(fn) {
|
|
76
|
+
return this._selectableStateStream
|
|
77
|
+
.pipe(leaveNgxs(this._internalExecutionStrategy))
|
|
78
|
+
.subscribe(fn);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Return the raw value of the state.
|
|
82
|
+
*/
|
|
83
|
+
snapshot() {
|
|
84
|
+
return this._internalStateOperations.getRootStateOperations().getState();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Reset the state to a specific point in time. This method is useful
|
|
88
|
+
* for plugin's who need to modify the state directly or unit testing.
|
|
89
|
+
*/
|
|
90
|
+
reset(state) {
|
|
91
|
+
this._internalStateOperations.getRootStateOperations().setState(state);
|
|
92
|
+
}
|
|
93
|
+
getStoreBoundSelectorFn(selector) {
|
|
94
|
+
const makeSelectorFn = getRootSelectorFactory(selector);
|
|
95
|
+
const runtimeContext = this._stateFactory.getRuntimeSelectorContext();
|
|
96
|
+
return makeSelectorFn(runtimeContext);
|
|
97
|
+
}
|
|
98
|
+
initStateStream(initialStateValue) {
|
|
99
|
+
const value = this._stateStream.value;
|
|
100
|
+
const storeIsEmpty = !value || Object.keys(value).length === 0;
|
|
101
|
+
if (storeIsEmpty) {
|
|
102
|
+
this._stateStream.next(initialStateValue);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: Store, deps: [{ token: i1.ɵStateStream }, { token: i2.InternalStateOperations }, { token: i3.NgxsConfig }, { token: i4.InternalNgxsExecutionStrategy }, { token: i5.StateFactory }, { token: ɵINITIAL_STATE_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
106
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: Store, providedIn: 'root' }); }
|
|
107
|
+
}
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: Store, decorators: [{
|
|
109
|
+
type: Injectable,
|
|
110
|
+
args: [{ providedIn: 'root' }]
|
|
111
|
+
}], ctorParameters: () => [{ type: i1.ɵStateStream }, { type: i2.InternalStateOperations }, { type: i3.NgxsConfig }, { type: i4.InternalNgxsExecutionStrategy }, { type: i5.StateFactory }, { type: undefined, decorators: [{
|
|
112
|
+
type: Optional
|
|
113
|
+
}, {
|
|
114
|
+
type: Inject,
|
|
115
|
+
args: [ɵINITIAL_STATE_TOKEN]
|
|
116
|
+
}] }] });
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWMsRUFBRSxFQUFnQixVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFJeEQsTUFBTSxPQUFPLEtBQUs7SUFXaEIsWUFDVSxZQUEwQixFQUMxQix3QkFBaUQsRUFDakQsT0FBbUIsRUFDbkIsMEJBQXlELEVBQ3pELGFBQTJCLEVBR25DLGlCQUFzQjtRQVBkLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFDakQsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQStCO1FBQ3pELGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FB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QyxjQUFjLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sZUFBZSxDQUFDLGlCQUFzQjtRQUM1QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUN0QyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFFL0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO2lJQWhIVSxLQUFLLHdMQWtCTixvQkFBb0I7cUlBbEJuQixLQUFLLGNBRFEsTUFBTTs7MkZBQ25CLEtBQUs7a0JBRGpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFrQjdCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgU2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXksIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyDJtUlOSVRJQUxfU1RBVEVfVE9LRU4sIMm1U3RhdGVTdHJlYW0gfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vZXhlY3V0aW9uL2ludGVybmFsLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IEludGVybmFsU3RhdGVPcGVyYXRpb25zIH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1vcGVyYXRpb25zJztcbmltcG9ydCB7IGdldFJvb3RTZWxlY3RvckZhY3RvcnkgfSBmcm9tICcuL3NlbGVjdG9ycy9zZWxlY3Rvci11dGlscyc7XG5pbXBvcnQgeyBsZWF2ZU5neHMgfSBmcm9tICcuL29wZXJhdG9ycy9sZWF2ZS1uZ3hzJztcbmltcG9ydCB7IE5neHNDb25maWcgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgU3RhdGVGYWN0b3J5IH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1mYWN0b3J5JztcbmltcG9ydCB7IFR5cGVkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9ycyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RvcmUge1xuICAvKipcbiAgICogVGhpcyBpcyBhIGRlcml2ZWQgc3RhdGUgc3RyZWFtIHRoYXQgbGVhdmVzIE5HWFMgZXhlY3V0aW9uIHN0cmF0ZWd5IHRvIGVtaXQgc3RhdGUgY2hhbmdlcyB3aXRoaW4gdGhlIEFuZ3VsYXIgem9uZSxcbiAgICogYmVjYXVzZSBzdGF0ZSBpcyBiZWluZyBjaGFuZ2VkIGFjdHVhbGx5IHdpdGhpbiB0aGUgYDxyb290PmAgem9uZSwgc2VlIGBJbnRlcm5hbERpc3BhdGNoZXIjZGlzcGF0Y2hTaW5nbGVgLlxuICAgKiBBbGwgc2VsZWN0cyB3b3VsZCB1c2UgdGhpcyBzdHJlYW0sIGFuZCBpdCB3b3VsZCBjYWxsIGxlYXZlIG9ubHkgb25jZSBmb3IgYW55IHN0YXRlIGNoYW5nZSBhY3Jvc3MgYWxsIGFjdGl2ZSBzZWxlY3RvcnMuXG4gICAqL1xuICBwcml2YXRlIF9zZWxlY3RhYmxlU3RhdGVTdHJlYW0gPSB0aGlzLl9zdGF0ZVN0cmVhbS5waXBlKFxuICAgIGxlYXZlTmd4cyh0aGlzLl9pbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5KSxcbiAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfc3RhdGVTdHJlYW06IMm1U3RhdGVTdHJlYW0sXG4gICAgcHJpdmF0ZSBfaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnM6IEludGVybmFsU3RhdGVPcGVyYXRpb25zLFxuICAgIHByaXZhdGUgX2NvbmZpZzogTmd4c0NvbmZpZyxcbiAgICBwcml2YXRlIF9pbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5OiBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSxcbiAgICBwcml2YXRlIF9zdGF0ZUZhY3Rvcnk6IFN0YXRlRmFjdG9yeSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoybVJTklUSUFMX1NUQVRFX1RPS0VOKVxuICAgIGluaXRpYWxTdGF0ZVZhbHVlOiBhbnlcbiAgKSB7XG4gICAgdGhpcy5pbml0U3RhdGVTdHJlYW0oaW5pdGlhbFN0YXRlVmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoZXMgZXZlbnQocykuXG4gICAqL1xuICBkaXNwYXRjaChhY3Rpb25PckFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsU3RhdGVPcGVyYXRpb25zLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKS5kaXNwYXRjaChhY3Rpb25PckFjdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBzbGljZSBvZiBkYXRhIGZyb20gdGhlIHN0b3JlLlxuICAgKi9cbiAgc2VsZWN0PFQ+KHNlbGVjdG9yOiBUeXBlZFNlbGVjdG9yPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3Qgc2VsZWN0b3JGbiA9IHRoaXMuZ2V0U3RvcmVCb3VuZFNlbGVjdG9yRm4oc2VsZWN0b3IpO1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RhYmxlU3RhdGVTdHJlYW0ucGlwZShcbiAgICAgIG1hcChzZWxlY3RvckZuKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBFcnJvcik6IE9ic2VydmFibGU8bmV2ZXI+IHwgT2JzZXJ2YWJsZTx1bmRlZmluZWQ+ID0+IHtcbiAgICAgICAgLy8gaWYgZXJyb3IgaXMgVHlwZUVycm9yIHdlIHN3YWxsb3cgaXQgdG8gcHJldmVudCB1c3VhbCBlcnJvcnMgd2l0aCBwcm9wZXJ0eSBhY2Nlc3NcbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5zZWxlY3Rvck9wdGlvbnMuc3VwcHJlc3NFcnJvcnMgJiYgZXJyb3IgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJldGhyb3cgb3RoZXIgZXJyb3JzXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIGxlYXZlTmd4cyh0aGlzLl9pbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IG9uZSBzbGljZSBvZiBkYXRhIGZyb20gdGhlIHN0b3JlLlxuICAgKi9cbiAgc2VsZWN0T25jZTxUPihzZWxlY3RvcjogVHlwZWRTZWxlY3RvcjxUPik6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdChzZWxlY3RvcikucGlwZSh0YWtlKDEpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3QgYSBzbmFwc2hvdCBmcm9tIHRoZSBzdGF0ZS5cbiAgICovXG4gIHNlbGVjdFNuYXBzaG90PFQ+KHNlbGVjdG9yOiBUeXBlZFNlbGVjdG9yPFQ+KTogVCB7XG4gICAgY29uc3Qgc2VsZWN0b3JGbiA9IHRoaXMuZ2V0U3RvcmVCb3VuZFNlbGVjdG9yRm4oc2VsZWN0b3IpO1xuICAgIHJldHVybiBzZWxlY3RvckZuKHRoaXMuX3N0YXRlU3RyZWFtLmdldFZhbHVlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBhIHNpZ25hbCBmcm9tIHRoZSBzdGF0ZS5cbiAgICovXG4gIHNlbGVjdFNpZ25hbDxUPihzZWxlY3RvcjogVHlwZWRTZWxlY3RvcjxUPik6IFNpZ25hbDxUPiB7XG4gICAgY29uc3Qgc2VsZWN0b3JGbiA9IHRoaXMuZ2V0U3RvcmVCb3VuZFNlbGVjdG9yRm4oc2VsZWN0b3IpO1xuICAgIHJldHVybiBjb21wdXRlZDxUPigoKSA9PiBzZWxlY3RvckZuKHRoaXMuX3N0YXRlU3RyZWFtLnN0YXRlKCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvdyB0aGUgdXNlciB0byBzdWJzY3JpYmUgdG8gdGhlIHJvb3Qgb2YgdGhlIHN0YXRlXG4gICAqL1xuICBzdWJzY3JpYmUoZm4/OiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGFibGVTdGF0ZVN0cmVhbVxuICAgICAgLnBpcGUobGVhdmVOZ3hzKHRoaXMuX2ludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3kpKVxuICAgICAgLnN1YnNjcmliZShmbik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSByYXcgdmFsdWUgb2YgdGhlIHN0YXRlLlxuICAgKi9cbiAgc25hcHNob3QoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuZ2V0Um9vdFN0YXRlT3BlcmF0aW9ucygpLmdldFN0YXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgdGhlIHN0YXRlIHRvIGEgc3BlY2lmaWMgcG9pbnQgaW4gdGltZS4gVGhpcyBtZXRob2QgaXMgdXNlZnVsXG4gICAqIGZvciBwbHVnaW4ncyB3aG8gbmVlZCB0byBtb2RpZnkgdGhlIHN0YXRlIGRpcmVjdGx5IG9yIHVuaXQgdGVzdGluZy5cbiAgICovXG4gIHJlc2V0KHN0YXRlOiBhbnkpIHtcbiAgICB0aGlzLl9pbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCkuc2V0U3RhdGUoc3RhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdG9yZUJvdW5kU2VsZWN0b3JGbihzZWxlY3RvcjogYW55KSB7XG4gICAgY29uc3QgbWFrZVNlbGVjdG9yRm4gPSBnZXRSb290U2VsZWN0b3JGYWN0b3J5KHNlbGVjdG9yKTtcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMuX3N0YXRlRmFjdG9yeS5nZXRSdW50aW1lU2VsZWN0b3JDb250ZXh0KCk7XG4gICAgcmV0dXJuIG1ha2VTZWxlY3RvckZuKHJ1bnRpbWVDb250ZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFN0YXRlU3RyZWFtKGluaXRpYWxTdGF0ZVZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX3N0YXRlU3RyZWFtLnZhbHVlO1xuICAgIGNvbnN0IHN0b3JlSXNFbXB0eSA9ICF2YWx1ZSB8fCBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwO1xuXG4gICAgaWYgKHN0b3JlSXNFbXB0eSkge1xuICAgICAgdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChpbml0aWFsU3RhdGVWYWx1ZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Injectable, InjectionToken, inject } from '@angular/core';
|
|
2
|
+
import { DispatchOutsideZoneNgxsExecutionStrategy } from './execution/dispatch-outside-zone-ngxs-execution-strategy';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
|
|
5
|
+
// The injection token is used to resolve a list of states provided at
|
|
6
|
+
// the root level through either `NgxsModule.forRoot` or `provideStore`.
|
|
7
|
+
export const ROOT_STATE_TOKEN = new InjectionToken(NG_DEV_MODE ? 'ROOT_STATE_TOKEN' : '');
|
|
8
|
+
// The injection token is used to resolve a list of states provided at
|
|
9
|
+
// the feature level through either `NgxsModule.forFeature` or `provideStates`.
|
|
10
|
+
// The Array<Array> is used to overload the resolved value of the token because
|
|
11
|
+
// it is a multi-provider token.
|
|
12
|
+
export const FEATURE_STATE_TOKEN = new InjectionToken(NG_DEV_MODE ? 'FEATURE_STATE_TOKEN' : '');
|
|
13
|
+
// The injection token is used to resolve to options provided at the root
|
|
14
|
+
// level through either `NgxsModule.forRoot` or `provideStore`.
|
|
15
|
+
export const NGXS_OPTIONS = new InjectionToken(NG_DEV_MODE ? 'NGXS_OPTIONS' : '');
|
|
16
|
+
/**
|
|
17
|
+
* The NGXS config settings.
|
|
18
|
+
*/
|
|
19
|
+
export class NgxsConfig {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.compatibility = {
|
|
22
|
+
strictContentSecurityPolicy: false
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Determines the execution context to perform async operations inside. An implementation can be
|
|
26
|
+
* provided to override the default behaviour where the async operations are run
|
|
27
|
+
* outside Angular's zone but all observable behaviours of NGXS are run back inside Angular's zone.
|
|
28
|
+
* These observable behaviours are from:
|
|
29
|
+
* `store.selectSignal(...)`, `store.select(...)`, `actions.subscribe(...)` or `store.dispatch(...).subscribe(...)`
|
|
30
|
+
* Every `zone.run` causes Angular to run change detection on the whole tree (`app.tick()`) so of your
|
|
31
|
+
* application doesn't rely on zone.js running change detection then you can switch to the
|
|
32
|
+
* `NoopNgxsExecutionStrategy` that doesn't interact with zones.
|
|
33
|
+
* (default: null)
|
|
34
|
+
*/
|
|
35
|
+
this.executionStrategy = DispatchOutsideZoneNgxsExecutionStrategy;
|
|
36
|
+
/**
|
|
37
|
+
* Defining shared selector options
|
|
38
|
+
*/
|
|
39
|
+
this.selectorOptions = {
|
|
40
|
+
injectContainerState: false,
|
|
41
|
+
suppressErrors: false
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
45
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsConfig, providedIn: 'root', useFactory: () => {
|
|
46
|
+
const defaultConfig = new NgxsConfig();
|
|
47
|
+
const config = inject(NGXS_OPTIONS);
|
|
48
|
+
return {
|
|
49
|
+
...defaultConfig,
|
|
50
|
+
...config,
|
|
51
|
+
selectorOptions: {
|
|
52
|
+
...defaultConfig.selectorOptions,
|
|
53
|
+
...config.selectorOptions
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
} }); }
|
|
57
|
+
}
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsConfig, decorators: [{
|
|
59
|
+
type: Injectable,
|
|
60
|
+
args: [{
|
|
61
|
+
providedIn: 'root',
|
|
62
|
+
useFactory: () => {
|
|
63
|
+
const defaultConfig = new NgxsConfig();
|
|
64
|
+
const config = inject(NGXS_OPTIONS);
|
|
65
|
+
return {
|
|
66
|
+
...defaultConfig,
|
|
67
|
+
...config,
|
|
68
|
+
selectorOptions: {
|
|
69
|
+
...defaultConfig.selectorOptions,
|
|
70
|
+
...config.selectorOptions
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}]
|
|
75
|
+
}] });
|
|
76
|
+
/**
|
|
77
|
+
* Represents a basic change from a previous to a new value for a single state instance.
|
|
78
|
+
* Passed as a value in a NgxsSimpleChanges object to the ngxsOnChanges hook.
|
|
79
|
+
*/
|
|
80
|
+
export class NgxsSimpleChange {
|
|
81
|
+
constructor(previousValue, currentValue, firstChange) {
|
|
82
|
+
this.previousValue = previousValue;
|
|
83
|
+
this.currentValue = currentValue;
|
|
84
|
+
this.firstChange = firstChange;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFRLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU96RSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFFckgsTUFBTSxXQUFXLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQztBQUVsRSxzRUFBc0U7QUFDdEUsd0VBQXdFO0FBQ3hFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUNoRCxXQUFXLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3RDLENBQUM7QUFFRixzRUFBc0U7QUFDdEUsK0VBQStFO0FBQy9FLCtFQUErRTtBQUMvRSxnQ0FBZ0M7QUFDaEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQ25ELFdBQVcsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDekMsQ0FBQztBQUVGLHlFQUF5RTtBQUN6RSwrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUM1QyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNsQyxDQUFDO0FBTUY7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLFVBQVU7SUFmdkI7UUEwQkUsa0JBQWEsR0FPVDtZQUNGLDJCQUEyQixFQUFFLEtBQUs7U0FDbkMsQ0FBQztRQUNGOzs7Ozs7Ozs7O1dBVUc7UUFDSCxzQkFBaUIsR0FBZ0Msd0NBQXdDLENBQUM7UUFDMUY7O1dBRUc7UUFDSCxvQkFBZSxHQUEyQjtZQUN4QyxvQkFBb0IsRUFBRSxLQUFLO1lBQzNCLGNBQWMsRUFBRSxLQUFLO1NBQ3RCLENBQUM7S0FDSDtpSUF4Q1ksVUFBVTtxSUFBVixVQUFVLGNBZFQsTUFBTSxjQUNOLEdBQWUsRUFBRTtZQUMzQixNQUFNLGFBQWEsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwQyxPQUFPO2dCQUNMLEdBQUcsYUFBYTtnQkFDaEIsR0FBRyxNQUFNO2dCQUNULGVBQWUsRUFBRTtvQkFDZixHQUFHLGFBQWEsQ0FBQyxlQUFlO29CQUNoQyxHQUFHLE1BQU0sQ0FBQyxlQUFlO2lCQUMxQjthQUNGLENBQUM7UUFDSixDQUFDOzsyRkFFVSxVQUFVO2tCQWZ0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO29CQUNsQixVQUFVLEVBQUUsR0FBZSxFQUFFO3dCQUMzQixNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQzt3QkFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUNwQyxPQUFPOzRCQUNMLEdBQUcsYUFBYTs0QkFDaEIsR0FBRyxNQUFNOzRCQUNULGVBQWUsRUFBRTtnQ0FDZixHQUFHLGFBQWEsQ0FBQyxlQUFlO2dDQUNoQyxHQUFHLE1BQU0sQ0FBQyxlQUFlOzZCQUMxQjt5QkFDRixDQUFDO29CQUNKLENBQUM7aUJBQ0Y7O0FBc0VEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFDa0IsYUFBZ0IsRUFDaEIsWUFBZSxFQUNmLFdBQW9CO1FBRnBCLGtCQUFhLEdBQWIsYUFBYSxDQUFHO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFHO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQVM7SUFDbkMsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIFR5cGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUvb3BlcmF0b3JzJztcbmltcG9ydCB7IMm1U2hhcmVkU2VsZWN0b3JPcHRpb25zLCDJtVN0YXRlQ2xhc3MgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9zeW1ib2xzJztcbmltcG9ydCB7IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9kaXNwYXRjaC1vdXRzaWRlLXpvbmUtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZTtcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgYSBsaXN0IG9mIHN0YXRlcyBwcm92aWRlZCBhdFxuLy8gdGhlIHJvb3QgbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYE5neHNNb2R1bGUuZm9yUm9vdGAgb3IgYHByb3ZpZGVTdG9yZWAuXG5leHBvcnQgY29uc3QgUk9PVF9TVEFURV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBcnJheTzJtVN0YXRlQ2xhc3M+PihcbiAgTkdfREVWX01PREUgPyAnUk9PVF9TVEFURV9UT0tFTicgOiAnJ1xuKTtcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgYSBsaXN0IG9mIHN0YXRlcyBwcm92aWRlZCBhdFxuLy8gdGhlIGZlYXR1cmUgbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYE5neHNNb2R1bGUuZm9yRmVhdHVyZWAgb3IgYHByb3ZpZGVTdGF0ZXNgLlxuLy8gVGhlIEFycmF5PEFycmF5PiBpcyB1c2VkIHRvIG92ZXJsb2FkIHRoZSByZXNvbHZlZCB2YWx1ZSBvZiB0aGUgdG9rZW4gYmVjYXVzZVxuLy8gaXQgaXMgYSBtdWx0aS1wcm92aWRlciB0b2tlbi5cbmV4cG9ydCBjb25zdCBGRUFUVVJFX1NUQVRFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEFycmF5PEFycmF5PMm1U3RhdGVDbGFzcz4+PihcbiAgTkdfREVWX01PREUgPyAnRkVBVFVSRV9TVEFURV9UT0tFTicgOiAnJ1xuKTtcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgdG8gb3B0aW9ucyBwcm92aWRlZCBhdCB0aGUgcm9vdFxuLy8gbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYE5neHNNb2R1bGUuZm9yUm9vdGAgb3IgYHByb3ZpZGVTdG9yZWAuXG5leHBvcnQgY29uc3QgTkdYU19PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPE5neHNNb2R1bGVPcHRpb25zPihcbiAgTkdfREVWX01PREUgPyAnTkdYU19PUFRJT05TJyA6ICcnXG4pO1xuXG5leHBvcnQgdHlwZSBOZ3hzTGlmZUN5Y2xlID0gUGFydGlhbDxOZ3hzT25DaGFuZ2VzPiAmXG4gIFBhcnRpYWw8Tmd4c09uSW5pdD4gJlxuICBQYXJ0aWFsPE5neHNBZnRlckJvb3RzdHJhcD47XG5cbi8qKlxuICogVGhlIE5HWFMgY29uZmlnIHNldHRpbmdzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgdXNlRmFjdG9yeTogKCk6IE5neHNDb25maWcgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRDb25maWcgPSBuZXcgTmd4c0NvbmZpZygpO1xuICAgIGNvbnN0IGNvbmZpZyA9IGluamVjdChOR1hTX09QVElPTlMpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5kZWZhdWx0Q29uZmlnLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgc2VsZWN0b3JPcHRpb25zOiB7XG4gICAgICAgIC4uLmRlZmF1bHRDb25maWcuc2VsZWN0b3JPcHRpb25zLFxuICAgICAgICAuLi5jb25maWcuc2VsZWN0b3JPcHRpb25zXG4gICAgICB9XG4gICAgfTtcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hzQ29uZmlnIHtcbiAgLyoqXG4gICAqIFJ1biBpbiBkZXZlbG9wbWVudCBtb2RlLiBUaGlzIHdpbGwgYWRkIGFkZGl0aW9uYWwgZGVidWdnaW5nIGZlYXR1cmVzOlxuICAgKiAtIE9iamVjdC5mcmVlemUgb24gdGhlIHN0YXRlIGFuZCBhY3Rpb25zIHRvIGd1YXJhbnRlZSBpbW11dGFiaWxpdHlcbiAgICogKGRlZmF1bHQ6IGZhbHNlKVxuICAgKlxuICAgKiBOb3RlOiB0aGlzIHByb3BlcnR5IHdpbGwgYmUgYWNjb3VudGVkIG9ubHkgaW4gZGV2ZWxvcG1lbnQgbW9kZS5cbiAgICogSXQgbWFrZXMgc2Vuc2UgdG8gdXNlIGl0IG9ubHkgZHVyaW5nIGRldmVsb3BtZW50IHRvIGVuc3VyZSB0aGVyZSdyZSBubyBzdGF0ZSBtdXRhdGlvbnMuXG4gICAqIFdoZW4gYnVpbGRpbmcgZm9yIHByb2R1Y3Rpb24sIHRoZSBgT2JqZWN0LmZyZWV6ZWAgd2lsbCBiZSB0cmVlLXNoYWtlbiBhd2F5LlxuICAgKi9cbiAgZGV2ZWxvcG1lbnRNb2RlOiBib29sZWFuO1xuICBjb21wYXRpYmlsaXR5OiB7XG4gICAgLyoqXG4gICAgICogU3VwcG9ydCBhIHN0cmljdCBDb250ZW50IFNlY3VyaXR5IFBvbGljeS5cbiAgICAgKiBUaGlzIHdpbGwgY2lyY3VtdmVudCBzb21lIG9wdGltaXNhdGlvbnMgdGhhdCB2aW9sYXRlIGEgc3RyaWN0IENTUCB0aHJvdWdoIHRoZSB1c2Ugb2YgYG5ldyBGdW5jdGlvbiguLi4pYC5cbiAgICAgKiAoZGVmYXVsdDogZmFsc2UpXG4gICAgICovXG4gICAgc3RyaWN0Q29udGVudFNlY3VyaXR5UG9saWN5OiBib29sZWFuO1xuICB9ID0ge1xuICAgIHN0cmljdENvbnRlbnRTZWN1cml0eVBvbGljeTogZmFsc2VcbiAgfTtcbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIGV4ZWN1dGlvbiBjb250ZXh0IHRvIHBlcmZvcm0gYXN5bmMgb3BlcmF0aW9ucyBpbnNpZGUuIEFuIGltcGxlbWVudGF0aW9uIGNhbiBiZVxuICAgKiBwcm92aWRlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgd2hlcmUgdGhlIGFzeW5jIG9wZXJhdGlvbnMgYXJlIHJ1blxuICAgKiBvdXRzaWRlIEFuZ3VsYXIncyB6b25lIGJ1dCBhbGwgb2JzZXJ2YWJsZSBiZWhhdmlvdXJzIG9mIE5HWFMgYXJlIHJ1biBiYWNrIGluc2lkZSBBbmd1bGFyJ3Mgem9uZS5cbiAgICogVGhlc2Ugb2JzZXJ2YWJsZSBiZWhhdmlvdXJzIGFyZSBmcm9tOlxuICAgKiAgIGBzdG9yZS5zZWxlY3RTaWduYWwoLi4uKWAsIGBzdG9yZS5zZWxlY3QoLi4uKWAsIGBhY3Rpb25zLnN1YnNjcmliZSguLi4pYCBvciBgc3RvcmUuZGlzcGF0Y2goLi4uKS5zdWJzY3JpYmUoLi4uKWBcbiAgICogRXZlcnkgYHpvbmUucnVuYCBjYXVzZXMgQW5ndWxhciB0byBydW4gY2hhbmdlIGRldGVjdGlvbiBvbiB0aGUgd2hvbGUgdHJlZSAoYGFwcC50aWNrKClgKSBzbyBvZiB5b3VyXG4gICAqIGFwcGxpY2F0aW9uIGRvZXNuJ3QgcmVseSBvbiB6b25lLmpzIHJ1bm5pbmcgY2hhbmdlIGRldGVjdGlvbiB0aGVuIHlvdSBjYW4gc3dpdGNoIHRvIHRoZVxuICAgKiBgTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneWAgdGhhdCBkb2Vzbid0IGludGVyYWN0IHdpdGggem9uZXMuXG4gICAqIChkZWZhdWx0OiBudWxsKVxuICAgKi9cbiAgZXhlY3V0aW9uU3RyYXRlZ3k6IFR5cGU8Tmd4c0V4ZWN1dGlvblN0cmF0ZWd5PiA9IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3k7XG4gIC8qKlxuICAgKiBEZWZpbmluZyBzaGFyZWQgc2VsZWN0b3Igb3B0aW9uc1xuICAgKi9cbiAgc2VsZWN0b3JPcHRpb25zOiDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucyA9IHtcbiAgICBpbmplY3RDb250YWluZXJTdGF0ZTogZmFsc2UsXG4gICAgc3VwcHJlc3NFcnJvcnM6IGZhbHNlXG4gIH07XG59XG5cbmV4cG9ydCB7IFN0YXRlT3BlcmF0b3IgfTtcblxuLyoqXG4gKiBTdGF0ZSBjb250ZXh0IHByb3ZpZGVkIHRvIHRoZSBhY3Rpb25zIGluIHRoZSBzdGF0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGF0ZUNvbnRleHQ8VD4ge1xuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IHN0YXRlLlxuICAgKi9cbiAgZ2V0U3RhdGUoKTogVDtcblxuICAvKipcbiAgICogUmVzZXQgdGhlIHN0YXRlIHRvIGEgbmV3IHZhbHVlLlxuICAgKi9cbiAgc2V0U3RhdGUodmFsOiBUIHwgU3RhdGVPcGVyYXRvcjxUPik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFBhdGNoIHRoZSBleGlzdGluZyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCB2YWx1ZS5cbiAgICovXG4gIHBhdGNoU3RhdGUodmFsOiBQYXJ0aWFsPFQ+KTogdm9pZDtcblxuICAvKipcbiAgICogRGlzcGF0Y2ggYSBuZXcgYWN0aW9uIGFuZCByZXR1cm4gdGhlIGRpc3BhdGNoZWQgb2JzZXJ2YWJsZS5cbiAgICovXG4gIGRpc3BhdGNoKGFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgYmFzaWMgY2hhbmdlIGZyb20gYSBwcmV2aW91cyB0byBhIG5ldyB2YWx1ZSBmb3IgYSBzaW5nbGUgc3RhdGUgaW5zdGFuY2UuXG4gKiBQYXNzZWQgYXMgYSB2YWx1ZSBpbiBhIE5neHNTaW1wbGVDaGFuZ2VzIG9iamVjdCB0byB0aGUgbmd4c09uQ2hhbmdlcyBob29rLlxuICovXG5leHBvcnQgY2xhc3MgTmd4c1NpbXBsZUNoYW5nZTxUID0gYW55PiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBwcmV2aW91c1ZhbHVlOiBULFxuICAgIHB1YmxpYyByZWFkb25seSBjdXJyZW50VmFsdWU6IFQsXG4gICAgcHVibGljIHJlYWRvbmx5IGZpcnN0Q2hhbmdlOiBib29sZWFuXG4gICkge31cbn1cblxuLyoqXG4gKiBPbiBpbml0IGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNPbkluaXQge1xuICBuZ3hzT25Jbml0KGN0eDogU3RhdGVDb250ZXh0PGFueT4pOiB2b2lkO1xufVxuXG4vKipcbiAqIE9uIGNoYW5nZSBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzT25DaGFuZ2VzIHtcbiAgbmd4c09uQ2hhbmdlcyhjaGFuZ2U6IE5neHNTaW1wbGVDaGFuZ2UpOiB2b2lkO1xufVxuXG4vKipcbiAqIEFmdGVyIGJvb3RzdHJhcCBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzQWZ0ZXJCb290c3RyYXAge1xuICBuZ3hzQWZ0ZXJCb290c3RyYXAoY3R4OiBTdGF0ZUNvbnRleHQ8YW55Pik6IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIE5neHNNb2R1bGVPcHRpb25zID0gUGFydGlhbDxOZ3hzQ29uZmlnPjtcblxuLyoqIEBpbnRlcm5hbCAqL1xuZGVjbGFyZSBnbG9iYWwge1xuICBjb25zdCBuZ0Rldk1vZGU6IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composes a array of functions from left to right. Example:
|
|
3
|
+
*
|
|
4
|
+
* compose([fn, final])(state, action);
|
|
5
|
+
*
|
|
6
|
+
* then the funcs have a signature like:
|
|
7
|
+
*
|
|
8
|
+
* function fn (state, action, next) {
|
|
9
|
+
* console.log('here', state, action, next);
|
|
10
|
+
* return next(state, action);
|
|
11
|
+
* }
|
|
12
|
+
*
|
|
13
|
+
* function final (state, action) {
|
|
14
|
+
* console.log('here', state, action);
|
|
15
|
+
* return state;
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* the last function should not call `next`.
|
|
19
|
+
*
|
|
20
|
+
* @ignore
|
|
21
|
+
*/
|
|
22
|
+
export const compose = (funcs) => (...args) => {
|
|
23
|
+
const curr = funcs.shift();
|
|
24
|
+
return curr(...args, (...nextArgs) => compose(funcs)(...nextArgs));
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy91dGlscy9jb21wb3NlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FDbEIsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FDckIsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFO0lBQ2pCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUcsQ0FBQztJQUM1QixPQUFPLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEdBQUcsUUFBZSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQzVFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFN0YXRlRm4gPSAoLi4uYXJnczogYW55W10pID0+IGFueTtcblxuLyoqXG4gKiBDb21wb3NlcyBhIGFycmF5IG9mIGZ1bmN0aW9ucyBmcm9tIGxlZnQgdG8gcmlnaHQuIEV4YW1wbGU6XG4gKlxuICogICAgICBjb21wb3NlKFtmbiwgZmluYWxdKShzdGF0ZSwgYWN0aW9uKTtcbiAqXG4gKiB0aGVuIHRoZSBmdW5jcyBoYXZlIGEgc2lnbmF0dXJlIGxpa2U6XG4gKlxuICogICAgICBmdW5jdGlvbiBmbiAoc3RhdGUsIGFjdGlvbiwgbmV4dCkge1xuICogICAgICAgICAgY29uc29sZS5sb2coJ2hlcmUnLCBzdGF0ZSwgYWN0aW9uLCBuZXh0KTtcbiAqICAgICAgICAgIHJldHVybiBuZXh0KHN0YXRlLCBhY3Rpb24pO1xuICogICAgICB9XG4gKlxuICogICAgICBmdW5jdGlvbiBmaW5hbCAoc3RhdGUsIGFjdGlvbikge1xuICogICAgICAgICAgY29uc29sZS5sb2coJ2hlcmUnLCBzdGF0ZSwgYWN0aW9uKTtcbiAqICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAqICAgICAgfVxuICpcbiAqIHRoZSBsYXN0IGZ1bmN0aW9uIHNob3VsZCBub3QgY2FsbCBgbmV4dGAuXG4gKlxuICogQGlnbm9yZVxuICovXG5leHBvcnQgY29uc3QgY29tcG9zZSA9XG4gIChmdW5jczogU3RhdGVGbltdKSA9PlxuICAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICBjb25zdCBjdXJyID0gZnVuY3Muc2hpZnQoKSE7XG4gICAgcmV0dXJuIGN1cnIoLi4uYXJncywgKC4uLm5leHRBcmdzOiBhbnlbXSkgPT4gY29tcG9zZShmdW5jcykoLi4ubmV4dEFyZ3MpKTtcbiAgfTtcbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { dispatch } from './dispatch';
|
|
2
|
+
export function createDispatchMap(actionMap) {
|
|
3
|
+
return Object.entries(actionMap).reduce((accumulator, [key, ActionType]) => {
|
|
4
|
+
Object.defineProperty(accumulator, key, {
|
|
5
|
+
enumerable: true,
|
|
6
|
+
value: dispatch(ActionType)
|
|
7
|
+
});
|
|
8
|
+
return accumulator;
|
|
9
|
+
}, {});
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRpc3BhdGNoLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy91dGlscy9jcmVhdGUtZGlzcGF0Y2gtbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFNdEMsTUFBTSxVQUFVLGlCQUFpQixDQUFzQixTQUFZO0lBQ2pFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRTtRQUN6RSxNQUFNLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7WUFDdEMsVUFBVSxFQUFFLElBQUk7WUFDaEIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUM7U0FDNUIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQyxFQUFFLEVBQUUsQ0FRSixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZGlzcGF0Y2ggfSBmcm9tICcuL2Rpc3BhdGNoJztcblxuaW1wb3J0IHsgQWN0aW9uRGVmIH0gZnJvbSAnLi4vYWN0aW9ucy9zeW1ib2xzJztcblxuZXhwb3J0IHR5cGUgQWN0aW9uTWFwID0gUmVjb3JkPHN0cmluZywgQWN0aW9uRGVmPGFueT4+O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGlzcGF0Y2hNYXA8VCBleHRlbmRzIEFjdGlvbk1hcD4oYWN0aW9uTWFwOiBUKSB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhhY3Rpb25NYXApLnJlZHVjZSgoYWNjdW11bGF0b3IsIFtrZXksIEFjdGlvblR5cGVdKSA9PiB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFjY3VtdWxhdG9yLCBrZXksIHtcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogZGlzcGF0Y2goQWN0aW9uVHlwZSlcbiAgICB9KTtcbiAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gIH0sIHt9KSBhcyB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIHRvIGVuaGFuY2UgZGV2ZWxvcGVyIGV4cGVyaWVuY2UuXG4gICAgLy8gSWYgd2Ugd2VyZSB0byBzd2l0Y2ggdG8gYW5vdGhlciB0eXBlLCBzdWNoIGFzXG4gICAgLy8gYHR5cGUgQWN0aW9uTWFwUmV0dXJuVHlwZTxUIGV4dGVuZHMgQWN0aW9uTWFwPiA9IHsgLi4uIH1gLCBjb2RlIGVkaXRvcnNcbiAgICAvLyB3b3VsZCBkaXNwbGF5IHRoZSByZXR1cm4gdHlwZSBzaW1wbHkgYXMgYEFjdGlvbk1hcFJldHVyblR5cGVgLCByYXRoZXJcbiAgICAvLyB0aGFuIHByZXNlbnRpbmcgaXQgYXMgYW4gb2JqZWN0IHdpdGggcHJvcGVydGllcyB0aGF0IGNvcnJlc3BvbmQgdG9cbiAgICAvLyBmdW5jdGlvbnMgcmV0dXJuaW5nIG9ic2VydmFibGVzLlxuICAgIHJlYWRvbmx5IFtLIGluIGtleW9mIFRdOiAoLi4uYXJnczogQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFRbS10+KSA9PiBPYnNlcnZhYmxlPHZvaWQ+O1xuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { Store } from '../store';
|
|
3
|
+
export function createSelectMap(selectorMap) {
|
|
4
|
+
const store = inject(Store);
|
|
5
|
+
return Object.entries(selectorMap).reduce((accumulator, [key, selector]) => {
|
|
6
|
+
Object.defineProperty(accumulator, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
value: store.selectSignal(selector)
|
|
9
|
+
});
|
|
10
|
+
return accumulator;
|
|
11
|
+
}, {});
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXNlbGVjdC1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvdXRpbHMvY3JlYXRlLXNlbGVjdC1tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBS2pDLE1BQU0sVUFBVSxlQUFlLENBQXdCLFdBQWM7SUFDbkUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTVCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRTtRQUN6RSxNQUFNLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7WUFDdEMsVUFBVSxFQUFFLElBQUk7WUFDaEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1NBQ3BDLENBQUMsQ0FBQztRQUNILE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUMsRUFBRSxFQUFFLENBUUosQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaWduYWwsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB7IFR5cGVkU2VsZWN0b3IsIMm1U2VsZWN0b3JSZXR1cm5UeXBlIH0gZnJvbSAnLi4vc2VsZWN0b3JzJztcblxuZXhwb3J0IHR5cGUgU2VsZWN0b3JNYXAgPSBSZWNvcmQ8c3RyaW5nLCBUeXBlZFNlbGVjdG9yPHVua25vd24+PjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlbGVjdE1hcDxUIGV4dGVuZHMgU2VsZWN0b3JNYXA+KHNlbGVjdG9yTWFwOiBUKSB7XG4gIGNvbnN0IHN0b3JlID0gaW5qZWN0KFN0b3JlKTtcblxuICByZXR1cm4gT2JqZWN0LmVudHJpZXMoc2VsZWN0b3JNYXApLnJlZHVjZSgoYWNjdW11bGF0b3IsIFtrZXksIHNlbGVjdG9yXSkgPT4ge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhY2N1bXVsYXRvciwga2V5LCB7XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IHN0b3JlLnNlbGVjdFNpZ25hbChzZWxlY3RvcilcbiAgICB9KTtcbiAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gIH0sIHt9KSBhcyB7XG4gICAgLy8gVGhpcyBpcyBpbmxpbmVkIHRvIGVuaGFuY2UgZGV2ZWxvcGVyIGV4cGVyaWVuY2UuXG4gICAgLy8gSWYgd2Ugd2VyZSB0byBzd2l0Y2ggdG8gYW5vdGhlciB0eXBlLCBzdWNoIGFzXG4gICAgLy8gYHR5cGUgU2VsZWN0b3JNYXBSZXR1cm5UeXBlPFQgZXh0ZW5kcyBTZWxlY3Rvck1hcD4gPSB7IC4uLiB9YCwgY29kZSBlZGl0b3JzXG4gICAgLy8gd291bGQgZGlzcGxheSB0aGUgcmV0dXJuIHR5cGUgc2ltcGx5IGFzIGBTZWxlY3Rvck1hcFJldHVyblR5cGVgLCByYXRoZXJcbiAgICAvLyB0aGFuIHByZXNlbnRpbmcgaXQgYXMgYW4gb2JqZWN0IHdpdGggcHJvcGVydGllcyB0aGF0IGNvcnJlc3BvbmQgdG9cbiAgICAvLyBzaWduYWxzIHRoYXQga2VlcCBzdG9yZSBzZWxlY3RlZCB2YWx1ZS5cbiAgICByZWFkb25seSBbSyBpbiBrZXlvZiBUXTogU2lnbmFsPMm1U2VsZWN0b3JSZXR1cm5UeXBlPFRbS10+PjtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { Store } from '../store';
|
|
3
|
+
export function dispatch(ActionType) {
|
|
4
|
+
const store = inject(Store);
|
|
5
|
+
return (...args) => store.dispatch(new ActionType(...args));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvdXRpbHMvZGlzcGF0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR2pDLE1BQU0sVUFBVSxRQUFRLENBQXNCLFVBQTRCO0lBQ3hFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixPQUFPLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBBY3Rpb25EZWYgfSBmcm9tICcuLi9hY3Rpb25zL3N5bWJvbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZGlzcGF0Y2g8VEFyZ3MgZXh0ZW5kcyBhbnlbXT4oQWN0aW9uVHlwZTogQWN0aW9uRGVmPFRBcmdzPikge1xuICBjb25zdCBzdG9yZSA9IGluamVjdChTdG9yZSk7XG4gIHJldHVybiAoLi4uYXJnczogVEFyZ3MpID0+IHN0b3JlLmRpc3BhdGNoKG5ldyBBY3Rpb25UeXBlKC4uLmFyZ3MpKTtcbn1cbiJdfQ==
|
|
@@ -17,4 +17,4 @@ export const deepFreeze = (o) => {
|
|
|
17
17
|
});
|
|
18
18
|
return o;
|
|
19
19
|
};
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlZXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3V0aWxzL2ZyZWV6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTtJQUNuQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxLQUFLLFVBQVUsQ0FBQztJQUM1QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQztJQUVuRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSTtRQUNsRCxJQUNFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQztZQUN4QixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNyRixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSTtZQUNoQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLENBQUM7WUFDOUQsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUN6QixDQUFDO1lBQ0QsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPYmplY3QgZnJlZXplIGNvZGVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9qc2RmL2RlZXAtZnJlZXplXG4gKi9cbmV4cG9ydCBjb25zdCBkZWVwRnJlZXplID0gKG86IGFueSkgPT4ge1xuICBPYmplY3QuZnJlZXplKG8pO1xuXG4gIGNvbnN0IG9Jc0Z1bmN0aW9uID0gdHlwZW9mIG8gPT09ICdmdW5jdGlvbic7XG4gIGNvbnN0IGhhc093blByb3AgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG4gIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG8pLmZvckVhY2goZnVuY3Rpb24gKHByb3ApIHtcbiAgICBpZiAoXG4gICAgICBoYXNPd25Qcm9wLmNhbGwobywgcHJvcCkgJiZcbiAgICAgIChvSXNGdW5jdGlvbiA/IHByb3AgIT09ICdjYWxsZXInICYmIHByb3AgIT09ICdjYWxsZWUnICYmIHByb3AgIT09ICdhcmd1bWVudHMnIDogdHJ1ZSkgJiZcbiAgICAgIG9bcHJvcF0gIT09IG51bGwgJiZcbiAgICAgICh0eXBlb2Ygb1twcm9wXSA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIG9bcHJvcF0gPT09ICdmdW5jdGlvbicpICYmXG4gICAgICAhT2JqZWN0LmlzRnJvemVuKG9bcHJvcF0pXG4gICAgKSB7XG4gICAgICBkZWVwRnJlZXplKG9bcHJvcF0pO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG87XG59O1xuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { select } from './select';
|
|
2
|
+
export { dispatch } from './dispatch';
|
|
3
|
+
export { createSelectMap } from './create-select-map';
|
|
4
|
+
export { createDispatchMap } from './create-dispatch-map';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy91dGlscy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUFhLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBzZWxlY3QgfSBmcm9tICcuL3NlbGVjdCc7XG5leHBvcnQgeyBkaXNwYXRjaCB9IGZyb20gJy4vZGlzcGF0Y2gnO1xuZXhwb3J0IHsgU2VsZWN0b3JNYXAsIGNyZWF0ZVNlbGVjdE1hcCB9IGZyb20gJy4vY3JlYXRlLXNlbGVjdC1tYXAnO1xuZXhwb3J0IHsgQWN0aW9uTWFwLCBjcmVhdGVEaXNwYXRjaE1hcCB9IGZyb20gJy4vY3JlYXRlLWRpc3BhdGNoLW1hcCc7XG4iXX0=
|