@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,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param items - Specific items to append to the end of an array
|
|
3
|
+
*/
|
|
4
|
+
export function append(items) {
|
|
5
|
+
return function appendOperator(existing) {
|
|
6
|
+
// If `items` is `undefined` or `null` or `[]` but `existing` is provided
|
|
7
|
+
// just return `existing`
|
|
8
|
+
const itemsNotProvidedButExistingIs = (!items || !items.length) && existing;
|
|
9
|
+
if (itemsNotProvidedButExistingIs) {
|
|
10
|
+
return existing;
|
|
11
|
+
}
|
|
12
|
+
if (Array.isArray(existing)) {
|
|
13
|
+
return existing.concat(items);
|
|
14
|
+
}
|
|
15
|
+
// For example if some property is added dynamically
|
|
16
|
+
// and didn't exist before thus it's not `ArrayLike`
|
|
17
|
+
return items;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvb3BlcmF0b3JzL3NyYy9hcHBlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFJLEtBQW1CO0lBQzNDLE9BQU8sU0FBUyxjQUFjLENBQUMsUUFBNEI7UUFDekQseUVBQXlFO1FBQ3pFLHlCQUF5QjtRQUN6QixNQUFNLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDO1FBQzVFLElBQUksNkJBQTZCLEVBQUUsQ0FBQztZQUNsQyxPQUFPLFFBQTBCLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFzQyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVELG9EQUFvRDtRQUNwRCxvREFBb0Q7UUFDcEQsT0FBTyxLQUF1QixDQUFDO0lBQ2pDLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGlzdGluZ1N0YXRlLCBOb0luZmVyLCBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQHBhcmFtIGl0ZW1zIC0gU3BlY2lmaWMgaXRlbXMgdG8gYXBwZW5kIHRvIHRoZSBlbmQgb2YgYW4gYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZDxUPihpdGVtczogTm9JbmZlcjxUW10+KTogU3RhdGVPcGVyYXRvcjxUW10+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGFwcGVuZE9wZXJhdG9yKGV4aXN0aW5nOiBFeGlzdGluZ1N0YXRlPFRbXT4pOiBUW10ge1xuICAgIC8vIElmIGBpdGVtc2AgaXMgYHVuZGVmaW5lZGAgb3IgYG51bGxgIG9yIGBbXWAgYnV0IGBleGlzdGluZ2AgaXMgcHJvdmlkZWRcbiAgICAvLyBqdXN0IHJldHVybiBgZXhpc3RpbmdgXG4gICAgY29uc3QgaXRlbXNOb3RQcm92aWRlZEJ1dEV4aXN0aW5nSXMgPSAoIWl0ZW1zIHx8ICFpdGVtcy5sZW5ndGgpICYmIGV4aXN0aW5nO1xuICAgIGlmIChpdGVtc05vdFByb3ZpZGVkQnV0RXhpc3RpbmdJcykge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIHVua25vd24gYXMgVFtdO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGV4aXN0aW5nKSkge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nLmNvbmNhdChpdGVtcyBhcyB1bmtub3duIGFzIEV4aXN0aW5nU3RhdGU8VFtdPik7XG4gICAgfVxuXG4gICAgLy8gRm9yIGV4YW1wbGUgaWYgc29tZSBwcm9wZXJ0eSBpcyBhZGRlZCBkeW5hbWljYWxseVxuICAgIC8vIGFuZCBkaWRuJ3QgZXhpc3QgYmVmb3JlIHRodXMgaXQncyBub3QgYEFycmF5TGlrZWBcbiAgICByZXR1cm4gaXRlbXMgYXMgdW5rbm93biBhcyBUW107XG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { isStateOperator, isUndefined, isPredicate } from './utils';
|
|
2
|
+
function retrieveValue(operatorOrValue, existing) {
|
|
3
|
+
// If state operator is a function
|
|
4
|
+
// then call it with an original value
|
|
5
|
+
if (isStateOperator(operatorOrValue)) {
|
|
6
|
+
const value = operatorOrValue(existing);
|
|
7
|
+
return value;
|
|
8
|
+
}
|
|
9
|
+
// If operator or value was not provided
|
|
10
|
+
// e.g. `elseOperatorOrValue` is `undefined`
|
|
11
|
+
// then we just return an original value
|
|
12
|
+
if (isUndefined(operatorOrValue)) {
|
|
13
|
+
return existing;
|
|
14
|
+
}
|
|
15
|
+
return operatorOrValue;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @param condition - Condition can be a plain boolean value or a function,
|
|
19
|
+
* that returns boolean, also this function can take a value as an argument
|
|
20
|
+
* to which this state operator applies
|
|
21
|
+
* @param trueOperatorOrValue - Any value or a state operator
|
|
22
|
+
* @param elseOperatorOrValue - Any value or a state operator
|
|
23
|
+
*/
|
|
24
|
+
export function iif(condition, trueOperatorOrValue, elseOperatorOrValue) {
|
|
25
|
+
return function iifOperator(existing) {
|
|
26
|
+
// Convert the value to a boolean
|
|
27
|
+
let result = !!condition;
|
|
28
|
+
// but if it is a function then run it to get the result
|
|
29
|
+
if (isPredicate(condition)) {
|
|
30
|
+
result = condition(existing);
|
|
31
|
+
}
|
|
32
|
+
if (result) {
|
|
33
|
+
return retrieveValue(trueOperatorOrValue, existing);
|
|
34
|
+
}
|
|
35
|
+
return retrieveValue(elseOperatorOrValue, existing);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWlmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvb3BlcmF0b3JzL3NyYy9paWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFhLE1BQU0sU0FBUyxDQUFDO0FBRS9FLFNBQVMsYUFBYSxDQUNwQixlQUFxQyxFQUNyQyxRQUEwQjtJQUUxQixrQ0FBa0M7SUFDbEMsc0NBQXNDO0lBQ3RDLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDckMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sS0FBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsNENBQTRDO0lBQzVDLHdDQUF3QztJQUN4QyxJQUFJLFdBQVcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sUUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxPQUFPLGVBQW9CLENBQUM7QUFDOUIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxHQUFHLENBQ2pCLFNBQTBDLEVBQzFDLG1CQUFrRCxFQUNsRCxtQkFBbUQ7SUFFbkQsT0FBTyxTQUFTLFdBQVcsQ0FBQyxRQUEwQjtRQUNwRCxpQ0FBaUM7UUFDakMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN6Qix3REFBd0Q7UUFDeEQsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQWEsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsT0FBTyxhQUFhLENBQUksbUJBQTJDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakYsQ0FBQztRQUVELE9BQU8sYUFBYSxDQUFJLG1CQUE0QyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2xGLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGlzdGluZ1N0YXRlLCBOb0luZmVyLCBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnLi90eXBlcyc7XG5cbmltcG9ydCB7IGlzU3RhdGVPcGVyYXRvciwgaXNVbmRlZmluZWQsIGlzUHJlZGljYXRlLCBQcmVkaWNhdGUgfSBmcm9tICcuL3V0aWxzJztcblxuZnVuY3Rpb24gcmV0cmlldmVWYWx1ZTxUPihcbiAgb3BlcmF0b3JPclZhbHVlOiBTdGF0ZU9wZXJhdG9yPFQ+IHwgVCxcbiAgZXhpc3Rpbmc6IEV4aXN0aW5nU3RhdGU8VD5cbik6IFQge1xuICAvLyBJZiBzdGF0ZSBvcGVyYXRvciBpcyBhIGZ1bmN0aW9uXG4gIC8vIHRoZW4gY2FsbCBpdCB3aXRoIGFuIG9yaWdpbmFsIHZhbHVlXG4gIGlmIChpc1N0YXRlT3BlcmF0b3Iob3BlcmF0b3JPclZhbHVlKSkge1xuICAgIGNvbnN0IHZhbHVlID0gb3BlcmF0b3JPclZhbHVlKGV4aXN0aW5nKTtcbiAgICByZXR1cm4gdmFsdWUgYXMgVDtcbiAgfVxuXG4gIC8vIElmIG9wZXJhdG9yIG9yIHZhbHVlIHdhcyBub3QgcHJvdmlkZWRcbiAgLy8gZS5nLiBgZWxzZU9wZXJhdG9yT3JWYWx1ZWAgaXMgYHVuZGVmaW5lZGBcbiAgLy8gdGhlbiB3ZSBqdXN0IHJldHVybiBhbiBvcmlnaW5hbCB2YWx1ZVxuICBpZiAoaXNVbmRlZmluZWQob3BlcmF0b3JPclZhbHVlKSkge1xuICAgIHJldHVybiBleGlzdGluZyBhcyBUO1xuICB9XG5cbiAgcmV0dXJuIG9wZXJhdG9yT3JWYWx1ZSBhcyBUO1xufVxuXG4vKipcbiAqIEBwYXJhbSBjb25kaXRpb24gLSBDb25kaXRpb24gY2FuIGJlIGEgcGxhaW4gYm9vbGVhbiB2YWx1ZSBvciBhIGZ1bmN0aW9uLFxuICogdGhhdCByZXR1cm5zIGJvb2xlYW4sIGFsc28gdGhpcyBmdW5jdGlvbiBjYW4gdGFrZSBhIHZhbHVlIGFzIGFuIGFyZ3VtZW50XG4gKiB0byB3aGljaCB0aGlzIHN0YXRlIG9wZXJhdG9yIGFwcGxpZXNcbiAqIEBwYXJhbSB0cnVlT3BlcmF0b3JPclZhbHVlIC0gQW55IHZhbHVlIG9yIGEgc3RhdGUgb3BlcmF0b3JcbiAqIEBwYXJhbSBlbHNlT3BlcmF0b3JPclZhbHVlIC0gQW55IHZhbHVlIG9yIGEgc3RhdGUgb3BlcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlpZjxUPihcbiAgY29uZGl0aW9uOiBOb0luZmVyPFByZWRpY2F0ZTxUPj4gfCBib29sZWFuLFxuICB0cnVlT3BlcmF0b3JPclZhbHVlOiBOb0luZmVyPFN0YXRlT3BlcmF0b3I8VD4gfCBUPixcbiAgZWxzZU9wZXJhdG9yT3JWYWx1ZT86IE5vSW5mZXI8U3RhdGVPcGVyYXRvcjxUPiB8IFQ+XG4pOiBTdGF0ZU9wZXJhdG9yPFQ+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGlpZk9wZXJhdG9yKGV4aXN0aW5nOiBFeGlzdGluZ1N0YXRlPFQ+KTogVCB7XG4gICAgLy8gQ29udmVydCB0aGUgdmFsdWUgdG8gYSBib29sZWFuXG4gICAgbGV0IHJlc3VsdCA9ICEhY29uZGl0aW9uO1xuICAgIC8vIGJ1dCBpZiBpdCBpcyBhIGZ1bmN0aW9uIHRoZW4gcnVuIGl0IHRvIGdldCB0aGUgcmVzdWx0XG4gICAgaWYgKGlzUHJlZGljYXRlKGNvbmRpdGlvbikpIHtcbiAgICAgIHJlc3VsdCA9IGNvbmRpdGlvbihleGlzdGluZyBhcyBUKTtcbiAgICB9XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXR1cm4gcmV0cmlldmVWYWx1ZTxUPih0cnVlT3BlcmF0b3JPclZhbHVlIGFzIFN0YXRlT3BlcmF0b3I8VD4gfCBULCBleGlzdGluZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldHJpZXZlVmFsdWU8VD4oZWxzZU9wZXJhdG9yT3JWYWx1ZSEgYXMgU3RhdGVPcGVyYXRvcjxUPiB8IFQsIGV4aXN0aW5nKTtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { isNil } from './utils';
|
|
2
|
+
/**
|
|
3
|
+
* @param value - Value to insert
|
|
4
|
+
* @param [beforePosition] - Specified index to insert value before, optional
|
|
5
|
+
*/
|
|
6
|
+
export function insertItem(value, beforePosition) {
|
|
7
|
+
return function insertItemOperator(existing) {
|
|
8
|
+
// Have to check explicitly for `null` and `undefined`
|
|
9
|
+
// because `value` can be `0`, thus `!value` will return `true`
|
|
10
|
+
if (isNil(value) && existing) {
|
|
11
|
+
return existing;
|
|
12
|
+
}
|
|
13
|
+
// Property may be dynamic and might not existed before
|
|
14
|
+
if (!Array.isArray(existing)) {
|
|
15
|
+
return [value];
|
|
16
|
+
}
|
|
17
|
+
const clone = existing.slice();
|
|
18
|
+
let index = 0;
|
|
19
|
+
// No need to call `isNumber`
|
|
20
|
+
// as we are checking `> 0` not `>= 0`
|
|
21
|
+
// everything except number will return false here
|
|
22
|
+
if (beforePosition > 0) {
|
|
23
|
+
index = beforePosition;
|
|
24
|
+
}
|
|
25
|
+
clone.splice(index, 0, value);
|
|
26
|
+
return clone;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9vcGVyYXRvcnMvc3JjL2luc2VydC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBSSxLQUFpQixFQUFFLGNBQXVCO0lBQ3RFLE9BQU8sU0FBUyxrQkFBa0IsQ0FBQyxRQUE0QjtRQUM3RCxzREFBc0Q7UUFDdEQsK0RBQStEO1FBQy9ELElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzdCLE9BQU8sUUFBZSxDQUFDO1FBQ3pCLENBQUM7UUFFRCx1REFBdUQ7UUFDdkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLENBQUMsS0FBcUIsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFL0IsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRWQsNkJBQTZCO1FBQzdCLHNDQUFzQztRQUN0QyxrREFBa0Q7UUFDbEQsSUFBSSxjQUFlLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsS0FBSyxHQUFHLGNBQWUsQ0FBQztRQUMxQixDQUFDO1FBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQXFCLENBQUMsQ0FBQztRQUM5QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGlzdGluZ1N0YXRlLCBOb0luZmVyLCBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEBwYXJhbSB2YWx1ZSAtIFZhbHVlIHRvIGluc2VydFxuICogQHBhcmFtIFtiZWZvcmVQb3NpdGlvbl0gLSAgU3BlY2lmaWVkIGluZGV4IHRvIGluc2VydCB2YWx1ZSBiZWZvcmUsIG9wdGlvbmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRJdGVtPFQ+KHZhbHVlOiBOb0luZmVyPFQ+LCBiZWZvcmVQb3NpdGlvbj86IG51bWJlcik6IFN0YXRlT3BlcmF0b3I8VFtdPiB7XG4gIHJldHVybiBmdW5jdGlvbiBpbnNlcnRJdGVtT3BlcmF0b3IoZXhpc3Rpbmc6IEV4aXN0aW5nU3RhdGU8VFtdPik6IFRbXSB7XG4gICAgLy8gSGF2ZSB0byBjaGVjayBleHBsaWNpdGx5IGZvciBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXG4gICAgLy8gYmVjYXVzZSBgdmFsdWVgIGNhbiBiZSBgMGAsIHRodXMgYCF2YWx1ZWAgd2lsbCByZXR1cm4gYHRydWVgXG4gICAgaWYgKGlzTmlsKHZhbHVlKSAmJiBleGlzdGluZykge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIFRbXTtcbiAgICB9XG5cbiAgICAvLyBQcm9wZXJ0eSBtYXkgYmUgZHluYW1pYyBhbmQgbWlnaHQgbm90IGV4aXN0ZWQgYmVmb3JlXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGV4aXN0aW5nKSkge1xuICAgICAgcmV0dXJuIFt2YWx1ZSBhcyB1bmtub3duIGFzIFRdO1xuICAgIH1cblxuICAgIGNvbnN0IGNsb25lID0gZXhpc3Rpbmcuc2xpY2UoKTtcblxuICAgIGxldCBpbmRleCA9IDA7XG5cbiAgICAvLyBObyBuZWVkIHRvIGNhbGwgYGlzTnVtYmVyYFxuICAgIC8vIGFzIHdlIGFyZSBjaGVja2luZyBgPiAwYCBub3QgYD49IDBgXG4gICAgLy8gZXZlcnl0aGluZyBleGNlcHQgbnVtYmVyIHdpbGwgcmV0dXJuIGZhbHNlIGhlcmVcbiAgICBpZiAoYmVmb3JlUG9zaXRpb24hID4gMCkge1xuICAgICAgaW5kZXggPSBiZWZvcmVQb3NpdGlvbiE7XG4gICAgfVxuXG4gICAgY2xvbmUuc3BsaWNlKGluZGV4LCAwLCB2YWx1ZSBhcyB1bmtub3duIGFzIFQpO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { isStateOperator } from './utils';
|
|
2
|
+
export function patch(patchObject) {
|
|
3
|
+
return function patchStateOperator(existing) {
|
|
4
|
+
let clone = null;
|
|
5
|
+
for (const k in patchObject) {
|
|
6
|
+
const newValue = patchObject[k];
|
|
7
|
+
const existingPropValue = existing?.[k];
|
|
8
|
+
const newPropValue = isStateOperator(newValue)
|
|
9
|
+
? newValue(existingPropValue)
|
|
10
|
+
: newValue;
|
|
11
|
+
if (newPropValue !== existingPropValue) {
|
|
12
|
+
if (!clone) {
|
|
13
|
+
clone = { ...existing };
|
|
14
|
+
}
|
|
15
|
+
clone[k] = newPropValue;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return clone || existing;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9vcGVyYXRvcnMvc3JjL3BhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFNMUMsTUFBTSxVQUFVLEtBQUssQ0FDbkIsV0FBbUM7SUFFbkMsT0FBTyxTQUFTLGtCQUFrQixDQUFDLFFBQTBCO1FBQzNELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztRQUNqQixLQUFLLE1BQU0sQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQzVCLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxNQUFNLGlCQUFpQixHQUFHLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxRQUFRLENBQU0saUJBQWlCLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDYixJQUFJLFlBQVksS0FBSyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ1gsS0FBSyxHQUFHLEVBQUUsR0FBUyxRQUFTLEVBQUUsQ0FBQztnQkFDakMsQ0FBQztnQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLElBQUksUUFBUSxDQUFDO0lBQzNCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGlzdGluZ1N0YXRlLCBOb0luZmVyLCBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBpc1N0YXRlT3BlcmF0b3IgfSBmcm9tICcuL3V0aWxzJztcblxudHlwZSBOb3RVbmRlZmluZWQ8VD4gPSBUIGV4dGVuZHMgdW5kZWZpbmVkID8gbmV2ZXIgOiBUO1xuXG5leHBvcnQgdHlwZSDJtVBhdGNoU3BlYzxUPiA9IHsgW1AgaW4ga2V5b2YgVF0/OiBUW1BdIHwgU3RhdGVPcGVyYXRvcjxOb3RVbmRlZmluZWQ8VFtQXT4+IH07XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oXG4gIHBhdGNoT2JqZWN0OiBOb0luZmVyPMm1UGF0Y2hTcGVjPFQ+PlxuKTogU3RhdGVPcGVyYXRvcjxUPiB7XG4gIHJldHVybiBmdW5jdGlvbiBwYXRjaFN0YXRlT3BlcmF0b3IoZXhpc3Rpbmc6IEV4aXN0aW5nU3RhdGU8VD4pOiBUIHtcbiAgICBsZXQgY2xvbmUgPSBudWxsO1xuICAgIGZvciAoY29uc3QgayBpbiBwYXRjaE9iamVjdCkge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSBwYXRjaE9iamVjdFtrXTtcbiAgICAgIGNvbnN0IGV4aXN0aW5nUHJvcFZhbHVlID0gZXhpc3Rpbmc/LltrXTtcbiAgICAgIGNvbnN0IG5ld1Byb3BWYWx1ZSA9IGlzU3RhdGVPcGVyYXRvcihuZXdWYWx1ZSlcbiAgICAgICAgPyBuZXdWYWx1ZSg8YW55PmV4aXN0aW5nUHJvcFZhbHVlKVxuICAgICAgICA6IG5ld1ZhbHVlO1xuICAgICAgaWYgKG5ld1Byb3BWYWx1ZSAhPT0gZXhpc3RpbmdQcm9wVmFsdWUpIHtcbiAgICAgICAgaWYgKCFjbG9uZSkge1xuICAgICAgICAgIGNsb25lID0geyAuLi4oPGFueT5leGlzdGluZykgfTtcbiAgICAgICAgfVxuICAgICAgICBjbG9uZVtrXSA9IG5ld1Byb3BWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsb25lIHx8IGV4aXN0aW5nO1xuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { isPredicate, isNumber, invalidIndex } from './utils';
|
|
2
|
+
/**
|
|
3
|
+
* @param selector - index or predicate to remove an item from an array by
|
|
4
|
+
*/
|
|
5
|
+
export function removeItem(selector) {
|
|
6
|
+
return function removeItemOperator(existing) {
|
|
7
|
+
let index = -1;
|
|
8
|
+
if (isPredicate(selector)) {
|
|
9
|
+
index = existing.findIndex(selector);
|
|
10
|
+
}
|
|
11
|
+
else if (isNumber(selector)) {
|
|
12
|
+
index = selector;
|
|
13
|
+
}
|
|
14
|
+
if (invalidIndex(index)) {
|
|
15
|
+
return existing;
|
|
16
|
+
}
|
|
17
|
+
const clone = existing.slice();
|
|
18
|
+
clone.splice(index, 1);
|
|
19
|
+
return clone;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9vcGVyYXRvcnMvc3JjL3JlbW92ZS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBYSxNQUFNLFNBQVMsQ0FBQztBQUV6RTs7R0FFRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUksUUFBd0M7SUFDcEUsT0FBTyxTQUFTLGtCQUFrQixDQUFDLFFBQTRCO1FBQzdELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWYsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUMxQixLQUFLLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2QyxDQUFDO2FBQU0sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM5QixLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sUUFBZSxDQUFDO1FBQ3pCLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhpc3RpbmdTdGF0ZSwgTm9JbmZlciwgU3RhdGVPcGVyYXRvciB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgaXNQcmVkaWNhdGUsIGlzTnVtYmVyLCBpbnZhbGlkSW5kZXgsIFByZWRpY2F0ZSB9IGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEBwYXJhbSBzZWxlY3RvciAtIGluZGV4IG9yIHByZWRpY2F0ZSB0byByZW1vdmUgYW4gaXRlbSBmcm9tIGFuIGFycmF5IGJ5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVJdGVtPFQ+KHNlbGVjdG9yOiBudW1iZXIgfCBOb0luZmVyPFByZWRpY2F0ZTxUPj4pOiBTdGF0ZU9wZXJhdG9yPFRbXT4ge1xuICByZXR1cm4gZnVuY3Rpb24gcmVtb3ZlSXRlbU9wZXJhdG9yKGV4aXN0aW5nOiBFeGlzdGluZ1N0YXRlPFRbXT4pOiBUW10ge1xuICAgIGxldCBpbmRleCA9IC0xO1xuXG4gICAgaWYgKGlzUHJlZGljYXRlKHNlbGVjdG9yKSkge1xuICAgICAgaW5kZXggPSBleGlzdGluZy5maW5kSW5kZXgoc2VsZWN0b3IpO1xuICAgIH0gZWxzZSBpZiAoaXNOdW1iZXIoc2VsZWN0b3IpKSB7XG4gICAgICBpbmRleCA9IHNlbGVjdG9yO1xuICAgIH1cblxuICAgIGlmIChpbnZhbGlkSW5kZXgoaW5kZXgpKSB7XG4gICAgICByZXR1cm4gZXhpc3RpbmcgYXMgVFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGNsb25lID0gZXhpc3Rpbmcuc2xpY2UoKTtcbiAgICBjbG9uZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { isStateOperator, isPredicate, isNumber, invalidIndex } from './utils';
|
|
2
|
+
/**
|
|
3
|
+
* @param selector - Index of item in the array or a predicate function
|
|
4
|
+
* that can be provided in `Array.prototype.findIndex`
|
|
5
|
+
* @param operatorOrValue - New value under the `selector` index or a
|
|
6
|
+
* function that can be applied to an existing value
|
|
7
|
+
*/
|
|
8
|
+
export function updateItem(selector, operatorOrValue) {
|
|
9
|
+
return function updateItemOperator(existing) {
|
|
10
|
+
let index = -1;
|
|
11
|
+
if (isPredicate(selector)) {
|
|
12
|
+
index = existing.findIndex(selector);
|
|
13
|
+
}
|
|
14
|
+
else if (isNumber(selector)) {
|
|
15
|
+
index = selector;
|
|
16
|
+
}
|
|
17
|
+
if (invalidIndex(index)) {
|
|
18
|
+
return existing;
|
|
19
|
+
}
|
|
20
|
+
let value = null;
|
|
21
|
+
// Need to check if the new item value will change the existing item value
|
|
22
|
+
// then, only if it will change it then clone the array and set the item
|
|
23
|
+
const theOperatorOrValue = operatorOrValue;
|
|
24
|
+
if (isStateOperator(theOperatorOrValue)) {
|
|
25
|
+
value = theOperatorOrValue(existing[index]);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
value = theOperatorOrValue;
|
|
29
|
+
}
|
|
30
|
+
// If the value hasn't been mutated
|
|
31
|
+
// then we just return `existing` array
|
|
32
|
+
if (value === existing[index]) {
|
|
33
|
+
return existing;
|
|
34
|
+
}
|
|
35
|
+
const clone = existing.slice();
|
|
36
|
+
clone[index] = value;
|
|
37
|
+
return clone;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9vcGVyYXRvcnMvc3JjL3VwZGF0ZS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQWEsTUFBTSxTQUFTLENBQUM7QUFFMUY7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUN4QixRQUF3QyxFQUN4QyxlQUF1RDtJQUV2RCxPQUFPLFNBQVMsa0JBQWtCLENBQUMsUUFBNEI7UUFDN0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFZixJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzFCLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQXdCLENBQUMsQ0FBQztRQUN2RCxDQUFDO2FBQU0sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM5QixLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sUUFBZSxDQUFDO1FBQ3pCLENBQUM7UUFFRCxJQUFJLEtBQUssR0FBTSxJQUFLLENBQUM7UUFDckIsMEVBQTBFO1FBQzFFLHdFQUF3RTtRQUN4RSxNQUFNLGtCQUFrQixHQUFHLGVBQXVDLENBQUM7UUFDbkUsSUFBSSxlQUFlLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDO1lBQ3hDLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFxQixDQUFDLENBQUM7UUFDbEUsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLEdBQUcsa0JBQWtCLENBQUM7UUFDN0IsQ0FBQztRQUVELG1DQUFtQztRQUNuQyx1Q0FBdUM7UUFDdkMsSUFBSSxLQUFLLEtBQUssUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUIsT0FBTyxRQUFlLENBQUM7UUFDekIsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBVSxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4aXN0aW5nU3RhdGUsIE5vSW5mZXIsIFN0YXRlT3BlcmF0b3IgfSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgaXNTdGF0ZU9wZXJhdG9yLCBpc1ByZWRpY2F0ZSwgaXNOdW1iZXIsIGludmFsaWRJbmRleCwgUHJlZGljYXRlIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQHBhcmFtIHNlbGVjdG9yIC0gSW5kZXggb2YgaXRlbSBpbiB0aGUgYXJyYXkgb3IgYSBwcmVkaWNhdGUgZnVuY3Rpb25cbiAqIHRoYXQgY2FuIGJlIHByb3ZpZGVkIGluIGBBcnJheS5wcm90b3R5cGUuZmluZEluZGV4YFxuICogQHBhcmFtIG9wZXJhdG9yT3JWYWx1ZSAtIE5ldyB2YWx1ZSB1bmRlciB0aGUgYHNlbGVjdG9yYCBpbmRleCBvciBhXG4gKiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBhcHBsaWVkIHRvIGFuIGV4aXN0aW5nIHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVJdGVtPFQ+KFxuICBzZWxlY3RvcjogbnVtYmVyIHwgTm9JbmZlcjxQcmVkaWNhdGU8VD4+LFxuICBvcGVyYXRvck9yVmFsdWU6IE5vSW5mZXI8VD4gfCBOb0luZmVyPFN0YXRlT3BlcmF0b3I8VD4+XG4pOiBTdGF0ZU9wZXJhdG9yPFRbXT4ge1xuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlSXRlbU9wZXJhdG9yKGV4aXN0aW5nOiBFeGlzdGluZ1N0YXRlPFRbXT4pOiBUW10ge1xuICAgIGxldCBpbmRleCA9IC0xO1xuXG4gICAgaWYgKGlzUHJlZGljYXRlKHNlbGVjdG9yKSkge1xuICAgICAgaW5kZXggPSBleGlzdGluZy5maW5kSW5kZXgoc2VsZWN0b3IgYXMgUHJlZGljYXRlPFQ+KTtcbiAgICB9IGVsc2UgaWYgKGlzTnVtYmVyKHNlbGVjdG9yKSkge1xuICAgICAgaW5kZXggPSBzZWxlY3RvcjtcbiAgICB9XG5cbiAgICBpZiAoaW52YWxpZEluZGV4KGluZGV4KSkge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIFRbXTtcbiAgICB9XG5cbiAgICBsZXQgdmFsdWU6IFQgPSBudWxsITtcbiAgICAvLyBOZWVkIHRvIGNoZWNrIGlmIHRoZSBuZXcgaXRlbSB2YWx1ZSB3aWxsIGNoYW5nZSB0aGUgZXhpc3RpbmcgaXRlbSB2YWx1ZVxuICAgIC8vIHRoZW4sIG9ubHkgaWYgaXQgd2lsbCBjaGFuZ2UgaXQgdGhlbiBjbG9uZSB0aGUgYXJyYXkgYW5kIHNldCB0aGUgaXRlbVxuICAgIGNvbnN0IHRoZU9wZXJhdG9yT3JWYWx1ZSA9IG9wZXJhdG9yT3JWYWx1ZSBhcyBUIHwgU3RhdGVPcGVyYXRvcjxUPjtcbiAgICBpZiAoaXNTdGF0ZU9wZXJhdG9yKHRoZU9wZXJhdG9yT3JWYWx1ZSkpIHtcbiAgICAgIHZhbHVlID0gdGhlT3BlcmF0b3JPclZhbHVlKGV4aXN0aW5nW2luZGV4XSBhcyBFeGlzdGluZ1N0YXRlPFQ+KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgPSB0aGVPcGVyYXRvck9yVmFsdWU7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIHZhbHVlIGhhc24ndCBiZWVuIG11dGF0ZWRcbiAgICAvLyB0aGVuIHdlIGp1c3QgcmV0dXJuIGBleGlzdGluZ2AgYXJyYXlcbiAgICBpZiAodmFsdWUgPT09IGV4aXN0aW5nW2luZGV4XSkge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIFRbXTtcbiAgICB9XG5cbiAgICBjb25zdCBjbG9uZSA9IGV4aXN0aW5nLnNsaWNlKCk7XG4gICAgY2xvbmVbaW5kZXhdID0gdmFsdWUgYXMgVDtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Init action
|
|
3
|
+
*/
|
|
4
|
+
export class InitState {
|
|
5
|
+
static { this.type = '@@INIT'; }
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Update action
|
|
9
|
+
*/
|
|
10
|
+
export class UpdateState {
|
|
11
|
+
static { this.type = '@@UPDATE_STATE'; }
|
|
12
|
+
constructor(addedStates) {
|
|
13
|
+
this.addedStates = addedStates;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3BsdWdpbnMvc3JjL2FjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sU0FBUzthQUNKLFNBQUksR0FBRyxRQUFRLENBQUM7O0FBR2xDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7YUFDTixTQUFJLEdBQUcsZ0JBQWdCLENBQUM7SUFFeEMsWUFBcUIsV0FBMEI7UUFBMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7SUFBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgybVQbGFpbk9iamVjdCB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbi8qKlxuICogSW5pdCBhY3Rpb25cbiAqL1xuZXhwb3J0IGNsYXNzIEluaXRTdGF0ZSB7XG4gIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ0BASU5JVCc7XG59XG5cbi8qKlxuICogVXBkYXRlIGFjdGlvblxuICovXG5leHBvcnQgY2xhc3MgVXBkYXRlU3RhdGUge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdAQFVQREFURV9TVEFURSc7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgYWRkZWRTdGF0ZXM/OiDJtVBsYWluT2JqZWN0KSB7fVxufVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { InitState, UpdateState } from './actions';
|
|
2
|
+
export { NGXS_PLUGINS } from './symbols';
|
|
3
|
+
export { getActionTypeFromInstance, actionMatcher, setValue, getValue } from './utils';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9wbHVnaW5zL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUE4QyxNQUFNLFdBQVcsQ0FBQztBQUNyRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBJbml0U3RhdGUsIFVwZGF0ZVN0YXRlIH0gZnJvbSAnLi9hY3Rpb25zJztcbmV4cG9ydCB7IE5HWFNfUExVR0lOUywgTmd4c1BsdWdpbiwgTmd4c1BsdWdpbkZuLCBOZ3hzTmV4dFBsdWdpbkZuIH0gZnJvbSAnLi9zeW1ib2xzJztcbmV4cG9ydCB7IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UsIGFjdGlvbk1hdGNoZXIsIHNldFZhbHVlLCBnZXRWYWx1ZSB9IGZyb20gJy4vdXRpbHMnO1xuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1zdG9yZS1wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvcGx1Z2lucy9zcmMvbmd4cy1zdG9yZS1wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
|
|
3
|
+
// The injection token is used to resolve to custom NGXS plugins provided
|
|
4
|
+
// at the root level through either `{provide}` scheme or `withNgxsPlugin`.
|
|
5
|
+
export const NGXS_PLUGINS = new InjectionToken(NG_DEV_MODE ? 'NGXS_PLUGINS' : '');
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3BsdWdpbnMvc3JjL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvQyxNQUFNLFdBQVcsR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDO0FBRWxFLHlFQUF5RTtBQUN6RSwyRUFBMkU7QUFDM0UsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmRlY2xhcmUgY29uc3QgbmdEZXZNb2RlOiBib29sZWFuO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZTtcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgdG8gY3VzdG9tIE5HWFMgcGx1Z2lucyBwcm92aWRlZFxuLy8gYXQgdGhlIHJvb3QgbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYHtwcm92aWRlfWAgc2NoZW1lIG9yIGB3aXRoTmd4c1BsdWdpbmAuXG5leHBvcnQgY29uc3QgTkdYU19QTFVHSU5TID0gbmV3IEluamVjdGlvblRva2VuKE5HX0RFVl9NT0RFID8gJ05HWFNfUExVR0lOUycgOiAnJyk7XG5cbmV4cG9ydCB0eXBlIE5neHNQbHVnaW5GbiA9IChzdGF0ZTogYW55LCBtdXRhdGlvbjogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKSA9PiBhbnk7XG5cbmV4cG9ydCB0eXBlIE5neHNOZXh0UGx1Z2luRm4gPSAoc3RhdGU6IGFueSwgbXV0YXRpb246IGFueSkgPT4gYW55O1xuXG4vKipcbiAqIFBsdWdpbiBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzUGx1Z2luIHtcbiAgLyoqXG4gICAqIEhhbmRsZSB0aGUgc3RhdGUvYWN0aW9uIGJlZm9yZSBpdHMgc3VibWl0dGVkIHRvIHRoZSBzdGF0ZSBoYW5kbGVycy5cbiAgICovXG4gIGhhbmRsZShzdGF0ZTogYW55LCBhY3Rpb246IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5Gbik6IGFueTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the type from an action instance/class.
|
|
3
|
+
* @ignore
|
|
4
|
+
*/
|
|
5
|
+
export function getActionTypeFromInstance(action) {
|
|
6
|
+
return action.constructor?.type || action.type;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Matches a action
|
|
10
|
+
* @ignore
|
|
11
|
+
*/
|
|
12
|
+
export function actionMatcher(action1) {
|
|
13
|
+
const type1 = getActionTypeFromInstance(action1);
|
|
14
|
+
return function (action2) {
|
|
15
|
+
return type1 === getActionTypeFromInstance(action2);
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Set a deeply nested value. Example:
|
|
20
|
+
*
|
|
21
|
+
* setValue({ foo: { bar: { eat: false } } },
|
|
22
|
+
* 'foo.bar.eat', true) //=> { foo: { bar: { eat: true } } }
|
|
23
|
+
*
|
|
24
|
+
* While it traverses it also creates new objects from top down.
|
|
25
|
+
*
|
|
26
|
+
* @ignore
|
|
27
|
+
*/
|
|
28
|
+
export const setValue = (obj, prop, val) => {
|
|
29
|
+
obj = { ...obj };
|
|
30
|
+
const split = prop.split('.');
|
|
31
|
+
const lastIndex = split.length - 1;
|
|
32
|
+
split.reduce((acc, part, index) => {
|
|
33
|
+
if (index === lastIndex) {
|
|
34
|
+
acc[part] = val;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
acc[part] = Array.isArray(acc[part]) ? acc[part].slice() : { ...acc[part] };
|
|
38
|
+
}
|
|
39
|
+
return acc && acc[part];
|
|
40
|
+
}, obj);
|
|
41
|
+
return obj;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Get a deeply nested value. Example:
|
|
45
|
+
*
|
|
46
|
+
* getValue({ foo: bar: [] }, 'foo.bar') //=> []
|
|
47
|
+
*
|
|
48
|
+
* @ignore
|
|
49
|
+
*/
|
|
50
|
+
export const getValue = (obj, prop) => prop.split('.').reduce((acc, part) => acc && acc[part], obj);
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9wbHVnaW5zL3NyYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsTUFBVztJQUNuRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDakQsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBWTtJQUN4QyxNQUFNLEtBQUssR0FBRyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVqRCxPQUFPLFVBQVUsT0FBWTtRQUMzQixPQUFPLEtBQUssS0FBSyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBUSxFQUFFLElBQVksRUFBRSxHQUFRLEVBQUUsRUFBRTtJQUMzRCxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBRWpCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFbkMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDaEMsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEIsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNsQixDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM5RSxDQUFDO1FBRUQsT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUVSLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBUSxFQUFFLElBQVksRUFBTyxFQUFFLENBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLElBQVksRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmV0dXJucyB0aGUgdHlwZSBmcm9tIGFuIGFjdGlvbiBpbnN0YW5jZS9jbGFzcy5cbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UoYWN0aW9uOiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gYWN0aW9uLmNvbnN0cnVjdG9yPy50eXBlIHx8IGFjdGlvbi50eXBlO1xufVxuXG4vKipcbiAqIE1hdGNoZXMgYSBhY3Rpb25cbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbk1hdGNoZXIoYWN0aW9uMTogYW55KSB7XG4gIGNvbnN0IHR5cGUxID0gZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShhY3Rpb24xKTtcblxuICByZXR1cm4gZnVuY3Rpb24gKGFjdGlvbjI6IGFueSkge1xuICAgIHJldHVybiB0eXBlMSA9PT0gZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShhY3Rpb24yKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBTZXQgYSBkZWVwbHkgbmVzdGVkIHZhbHVlLiBFeGFtcGxlOlxuICpcbiAqICAgc2V0VmFsdWUoeyBmb286IHsgYmFyOiB7IGVhdDogZmFsc2UgfSB9IH0sXG4gKiAgICAgICdmb28uYmFyLmVhdCcsIHRydWUpIC8vPT4geyBmb286IHsgYmFyOiB7IGVhdDogdHJ1ZSB9IH0gfVxuICpcbiAqIFdoaWxlIGl0IHRyYXZlcnNlcyBpdCBhbHNvIGNyZWF0ZXMgbmV3IG9iamVjdHMgZnJvbSB0b3AgZG93bi5cbiAqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRWYWx1ZSA9IChvYmo6IGFueSwgcHJvcDogc3RyaW5nLCB2YWw6IGFueSkgPT4ge1xuICBvYmogPSB7IC4uLm9iaiB9O1xuXG4gIGNvbnN0IHNwbGl0ID0gcHJvcC5zcGxpdCgnLicpO1xuICBjb25zdCBsYXN0SW5kZXggPSBzcGxpdC5sZW5ndGggLSAxO1xuXG4gIHNwbGl0LnJlZHVjZSgoYWNjLCBwYXJ0LCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gbGFzdEluZGV4KSB7XG4gICAgICBhY2NbcGFydF0gPSB2YWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjY1twYXJ0XSA9IEFycmF5LmlzQXJyYXkoYWNjW3BhcnRdKSA/IGFjY1twYXJ0XS5zbGljZSgpIDogeyAuLi5hY2NbcGFydF0gfTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjICYmIGFjY1twYXJ0XTtcbiAgfSwgb2JqKTtcblxuICByZXR1cm4gb2JqO1xufTtcblxuLyoqXG4gKiBHZXQgYSBkZWVwbHkgbmVzdGVkIHZhbHVlLiBFeGFtcGxlOlxuICpcbiAqICAgIGdldFZhbHVlKHsgZm9vOiBiYXI6IFtdIH0sICdmb28uYmFyJykgLy89PiBbXVxuICpcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFZhbHVlID0gKG9iajogYW55LCBwcm9wOiBzdHJpbmcpOiBhbnkgPT5cbiAgcHJvcC5zcGxpdCgnLicpLnJlZHVjZSgoYWNjOiBhbnksIHBhcnQ6IHN0cmluZykgPT4gYWNjICYmIGFjY1twYXJ0XSwgb2JqKTtcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9hY3Rpb25zL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uRGVmPFRBcmdzIGV4dGVuZHMgYW55W10gPSBhbnlbXSwgVFJldHVybiA9IGFueT4ge1xuICB0eXBlOiBzdHJpbmc7XG5cbiAgbmV3ICguLi5hcmdzOiBUQXJncyk6IFRSZXR1cm47XG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGUgPSBBY3Rpb25EZWYgfCB7IHR5cGU6IHN0cmluZyB9O1xuIl19
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ɵOrderedSubject } from '@ngxs/store/internals';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { share } from 'rxjs/operators';
|
|
5
|
+
import { leaveNgxs } from './operators/leave-ngxs';
|
|
6
|
+
import { InternalNgxsExecutionStrategy } from './execution/internal-ngxs-execution-strategy';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./execution/internal-ngxs-execution-strategy";
|
|
9
|
+
/**
|
|
10
|
+
* Internal Action stream that is emitted anytime an action is dispatched.
|
|
11
|
+
*/
|
|
12
|
+
export class InternalActions extends ɵOrderedSubject {
|
|
13
|
+
ngOnDestroy() {
|
|
14
|
+
this.complete();
|
|
15
|
+
}
|
|
16
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalActions, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalActions, providedIn: 'root' }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalActions, decorators: [{
|
|
20
|
+
type: Injectable,
|
|
21
|
+
args: [{ providedIn: 'root' }]
|
|
22
|
+
}] });
|
|
23
|
+
/**
|
|
24
|
+
* Action stream that is emitted anytime an action is dispatched.
|
|
25
|
+
*
|
|
26
|
+
* You can listen to this in services to react without stores.
|
|
27
|
+
*/
|
|
28
|
+
export class Actions extends Observable {
|
|
29
|
+
constructor(internalActions$, internalExecutionStrategy) {
|
|
30
|
+
const sharedInternalActions$ = internalActions$.pipe(leaveNgxs(internalExecutionStrategy),
|
|
31
|
+
// The `InternalActions` subject emits outside of the Angular zone.
|
|
32
|
+
// We have to re-enter the Angular zone for any incoming consumer.
|
|
33
|
+
// The `share()` operator reduces the number of change detections.
|
|
34
|
+
// This would call leave only once for any stream emission across all active subscribers.
|
|
35
|
+
share());
|
|
36
|
+
super(observer => {
|
|
37
|
+
const childSubscription = sharedInternalActions$.subscribe({
|
|
38
|
+
next: ctx => observer.next(ctx),
|
|
39
|
+
error: error => observer.error(error),
|
|
40
|
+
complete: () => observer.complete()
|
|
41
|
+
});
|
|
42
|
+
observer.add(childSubscription);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: Actions, deps: [{ token: InternalActions }, { token: i1.InternalNgxsExecutionStrategy }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
46
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: Actions, providedIn: 'root' }); }
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: Actions, decorators: [{
|
|
49
|
+
type: Injectable,
|
|
50
|
+
args: [{ providedIn: 'root' }]
|
|
51
|
+
}], ctorParameters: () => [{ type: InternalActions }, { type: i1.InternalNgxsExecutionStrategy }] });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1zdHJlYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvYWN0aW9ucy1zdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7QUFrQjdGOztHQUVHO0FBRUgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBOEI7SUFDakUsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO2lJQUhVLGVBQWU7cUlBQWYsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFPbEM7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxPQUFRLFNBQVEsVUFBeUI7SUFDcEQsWUFDRSxnQkFBaUMsRUFDakMseUJBQXdEO1FBRXhELE1BQU0sc0JBQXNCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUNsRCxTQUFTLENBQUMseUJBQXlCLENBQUM7UUFDcEMsbUVBQW1FO1FBQ25FLGtFQUFrRTtRQUNsRSxrRUFBa0U7UUFDbEUseUZBQXlGO1FBQ3pGLEtBQUssRUFBRSxDQUNSLENBQUM7UUFFRixLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDZixNQUFNLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDLFNBQVMsQ0FBQztnQkFDekQsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQy9CLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUNyQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTthQUNwQyxDQUFDLENBQUM7WUFFSCxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO2lJQXZCVSxPQUFPO3FJQUFQLE9BQU8sY0FETSxNQUFNOzsyRkFDbkIsT0FBTztrQkFEbkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IMm1T3JkZXJlZFN1YmplY3QgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2hhcmUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGxlYXZlTmd4cyB9IGZyb20gJy4vb3BlcmF0b3JzL2xlYXZlLW5neHMnO1xuaW1wb3J0IHsgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5cbi8qKlxuICogU3RhdHVzIG9mIGEgZGlzcGF0Y2hlZCBhY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IGVudW0gQWN0aW9uU3RhdHVzIHtcbiAgRGlzcGF0Y2hlZCA9ICdESVNQQVRDSEVEJyxcbiAgU3VjY2Vzc2Z1bCA9ICdTVUNDRVNTRlVMJyxcbiAgQ2FuY2VsZWQgPSAnQ0FOQ0VMRUQnLFxuICBFcnJvcmVkID0gJ0VSUk9SRUQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udGV4dDxUID0gYW55PiB7XG4gIHN0YXR1czogQWN0aW9uU3RhdHVzO1xuICBhY3Rpb246IFQ7XG4gIGVycm9yPzogRXJyb3I7XG59XG5cbi8qKlxuICogSW50ZXJuYWwgQWN0aW9uIHN0cmVhbSB0aGF0IGlzIGVtaXR0ZWQgYW55dGltZSBhbiBhY3Rpb24gaXMgZGlzcGF0Y2hlZC5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbEFjdGlvbnMgZXh0ZW5kcyDJtU9yZGVyZWRTdWJqZWN0PEFjdGlvbkNvbnRleHQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jb21wbGV0ZSgpO1xuICB9XG59XG5cbi8qKlxuICogQWN0aW9uIHN0cmVhbSB0aGF0IGlzIGVtaXR0ZWQgYW55dGltZSBhbiBhY3Rpb24gaXMgZGlzcGF0Y2hlZC5cbiAqXG4gKiBZb3UgY2FuIGxpc3RlbiB0byB0aGlzIGluIHNlcnZpY2VzIHRvIHJlYWN0IHdpdGhvdXQgc3RvcmVzLlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFjdGlvbnMgZXh0ZW5kcyBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHQ+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgaW50ZXJuYWxBY3Rpb25zJDogSW50ZXJuYWxBY3Rpb25zLFxuICAgIGludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3k6IEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5XG4gICkge1xuICAgIGNvbnN0IHNoYXJlZEludGVybmFsQWN0aW9ucyQgPSBpbnRlcm5hbEFjdGlvbnMkLnBpcGUoXG4gICAgICBsZWF2ZU5neHMoaW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneSksXG4gICAgICAvLyBUaGUgYEludGVybmFsQWN0aW9uc2Agc3ViamVjdCBlbWl0cyBvdXRzaWRlIG9mIHRoZSBBbmd1bGFyIHpvbmUuXG4gICAgICAvLyBXZSBoYXZlIHRvIHJlLWVudGVyIHRoZSBBbmd1bGFyIHpvbmUgZm9yIGFueSBpbmNvbWluZyBjb25zdW1lci5cbiAgICAgIC8vIFRoZSBgc2hhcmUoKWAgb3BlcmF0b3IgcmVkdWNlcyB0aGUgbnVtYmVyIG9mIGNoYW5nZSBkZXRlY3Rpb25zLlxuICAgICAgLy8gVGhpcyB3b3VsZCBjYWxsIGxlYXZlIG9ubHkgb25jZSBmb3IgYW55IHN0cmVhbSBlbWlzc2lvbiBhY3Jvc3MgYWxsIGFjdGl2ZSBzdWJzY3JpYmVycy5cbiAgICAgIHNoYXJlKClcbiAgICApO1xuXG4gICAgc3VwZXIob2JzZXJ2ZXIgPT4ge1xuICAgICAgY29uc3QgY2hpbGRTdWJzY3JpcHRpb24gPSBzaGFyZWRJbnRlcm5hbEFjdGlvbnMkLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IGN0eCA9PiBvYnNlcnZlci5uZXh0KGN0eCksXG4gICAgICAgIGVycm9yOiBlcnJvciA9PiBvYnNlcnZlci5lcnJvcihlcnJvciksXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpXG4gICAgICB9KTtcblxuICAgICAgb2JzZXJ2ZXIuYWRkKGNoaWxkU3Vic2NyaXB0aW9uKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export function throwStateNameError(name) {
|
|
2
|
+
throw new Error(`${name} is not a valid state name. It needs to be a valid object property name.`);
|
|
3
|
+
}
|
|
4
|
+
export function throwStateNamePropertyError() {
|
|
5
|
+
throw new Error(`States must register a 'name' property.`);
|
|
6
|
+
}
|
|
7
|
+
export function throwStateUniqueError(current, newName, oldName) {
|
|
8
|
+
throw new Error(`State name '${current}' from ${newName} already exists in ${oldName}.`);
|
|
9
|
+
}
|
|
10
|
+
export function throwStateDecoratorError(name) {
|
|
11
|
+
throw new Error(`States must be decorated with @State() decorator, but "${name}" isn't.`);
|
|
12
|
+
}
|
|
13
|
+
export function throwActionDecoratorError() {
|
|
14
|
+
throw new Error('@Action() decorator cannot be used with static methods.');
|
|
15
|
+
}
|
|
16
|
+
export function throwSelectorDecoratorError() {
|
|
17
|
+
throw new Error('Selectors only work on methods.');
|
|
18
|
+
}
|
|
19
|
+
export function getZoneWarningMessage() {
|
|
20
|
+
return ('Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\n' +
|
|
21
|
+
'Please set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\n' +
|
|
22
|
+
'NgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })');
|
|
23
|
+
}
|
|
24
|
+
export function getUndecoratedStateWithInjectableWarningMessage(name) {
|
|
25
|
+
return `'${name}' class should be decorated with @Injectable() right after the @State() decorator`;
|
|
26
|
+
}
|
|
27
|
+
export function getInvalidInitializationOrderMessage(addedStates) {
|
|
28
|
+
let message = 'You have an invalid state initialization order. This typically occurs when `NgxsModule.forFeature`\n' +
|
|
29
|
+
'or `provideStates` is called before `NgxsModule.forRoot` or `provideStore`.\n' +
|
|
30
|
+
'One example is when `NgxsRouterPluginModule.forRoot` is called before `NgxsModule.forRoot`.';
|
|
31
|
+
if (addedStates) {
|
|
32
|
+
const stateNames = Object.keys(addedStates).map(stateName => `"${stateName}"`);
|
|
33
|
+
message +=
|
|
34
|
+
'\nFeature states added before the store initialization is complete: ' +
|
|
35
|
+
`${stateNames.join(', ')}.`;
|
|
36
|
+
}
|
|
37
|
+
return message;
|
|
38
|
+
}
|
|
39
|
+
export function throwSelectFactoryNotConnectedError() {
|
|
40
|
+
throw new Error('You have forgotten to import the NGXS module!');
|
|
41
|
+
}
|
|
42
|
+
export function throwPatchingArrayError() {
|
|
43
|
+
throw new Error('Patching arrays is not supported.');
|
|
44
|
+
}
|
|
45
|
+
export function throwPatchingPrimitiveError() {
|
|
46
|
+
throw new Error('Patching primitives is not supported.');
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2NvbmZpZ3MvbWVzc2FnZXMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxJQUFZO0lBQzlDLE1BQU0sSUFBSSxLQUFLLENBQ2IsR0FBRyxJQUFJLDBFQUEwRSxDQUNsRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLE9BQWUsRUFDZixPQUFlLEVBQ2YsT0FBZTtJQUVmLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxPQUFPLFVBQVUsT0FBTyxzQkFBc0IsT0FBTyxHQUFHLENBQUMsQ0FBQztBQUMzRixDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLElBQVk7SUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsSUFBSSxVQUFVLENBQUMsQ0FBQztBQUM1RixDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QjtJQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7QUFDN0UsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLE9BQU8sQ0FDTCw2R0FBNkc7UUFDN0csd0ZBQXdGO1FBQ3hGLDhFQUE4RSxDQUMvRSxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSwrQ0FBK0MsQ0FBQyxJQUFZO0lBQzFFLE9BQU8sSUFBSSxJQUFJLG1GQUFtRixDQUFDO0FBQ3JHLENBQUM7QUFFRCxNQUFNLFVBQVUsb0NBQW9DLENBQUMsV0FBMEI7SUFDN0UsSUFBSSxPQUFPLEdBQ1Qsc0dBQXNHO1FBQ3RHLCtFQUErRTtRQUMvRSw2RkFBNkYsQ0FBQztJQUVoRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRS9FLE9BQU87WUFDTCxzRUFBc0U7Z0JBQ3RFLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1DQUFtQztJQUNqRCxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUI7SUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztBQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgybVQbGFpbk9iamVjdCB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd1N0YXRlTmFtZUVycm9yKG5hbWU6IHN0cmluZyk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKFxuICAgIGAke25hbWV9IGlzIG5vdCBhIHZhbGlkIHN0YXRlIG5hbWUuIEl0IG5lZWRzIHRvIGJlIGEgdmFsaWQgb2JqZWN0IHByb3BlcnR5IG5hbWUuYFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dTdGF0ZU5hbWVQcm9wZXJ0eUVycm9yKCk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKGBTdGF0ZXMgbXVzdCByZWdpc3RlciBhICduYW1lJyBwcm9wZXJ0eS5gKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93U3RhdGVVbmlxdWVFcnJvcihcbiAgY3VycmVudDogc3RyaW5nLFxuICBuZXdOYW1lOiBzdHJpbmcsXG4gIG9sZE5hbWU6IHN0cmluZ1xuKTogbmV2ZXIge1xuICB0aHJvdyBuZXcgRXJyb3IoYFN0YXRlIG5hbWUgJyR7Y3VycmVudH0nIGZyb20gJHtuZXdOYW1lfSBhbHJlYWR5IGV4aXN0cyBpbiAke29sZE5hbWV9LmApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dTdGF0ZURlY29yYXRvckVycm9yKG5hbWU6IHN0cmluZyk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKGBTdGF0ZXMgbXVzdCBiZSBkZWNvcmF0ZWQgd2l0aCBAU3RhdGUoKSBkZWNvcmF0b3IsIGJ1dCBcIiR7bmFtZX1cIiBpc24ndC5gKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93QWN0aW9uRGVjb3JhdG9yRXJyb3IoKTogbmV2ZXIge1xuICB0aHJvdyBuZXcgRXJyb3IoJ0BBY3Rpb24oKSBkZWNvcmF0b3IgY2Fubm90IGJlIHVzZWQgd2l0aCBzdGF0aWMgbWV0aG9kcy4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93U2VsZWN0b3JEZWNvcmF0b3JFcnJvcigpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcignU2VsZWN0b3JzIG9ubHkgd29yayBvbiBtZXRob2RzLicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Wm9uZVdhcm5pbmdNZXNzYWdlKCk6IHN0cmluZyB7XG4gIHJldHVybiAoXG4gICAgJ1lvdXIgYXBwbGljYXRpb24gd2FzIGJvb3RzdHJhcHBlZCB3aXRoIG5vb3BlZCB6b25lIGFuZCB5b3VyIGV4ZWN1dGlvbiBzdHJhdGVneSByZXF1aXJlcyBhbiBhY3R1YWwgTmdab25lIVxcbicgK1xuICAgICdQbGVhc2Ugc2V0IHRoZSB2YWx1ZSBvZiB0aGUgZXhlY3V0aW9uU3RyYXRlZ3kgcHJvcGVydHkgdG8gTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneS5cXG4nICtcbiAgICAnTmd4c01vZHVsZS5mb3JSb290KHN0YXRlcywgeyBleGVjdXRpb25TdHJhdGVneTogTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneSB9KSdcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFVuZGVjb3JhdGVkU3RhdGVXaXRoSW5qZWN0YWJsZVdhcm5pbmdNZXNzYWdlKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJyR7bmFtZX0nIGNsYXNzIHNob3VsZCBiZSBkZWNvcmF0ZWQgd2l0aCBASW5qZWN0YWJsZSgpIHJpZ2h0IGFmdGVyIHRoZSBAU3RhdGUoKSBkZWNvcmF0b3JgO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW52YWxpZEluaXRpYWxpemF0aW9uT3JkZXJNZXNzYWdlKGFkZGVkU3RhdGVzPzogybVQbGFpbk9iamVjdCkge1xuICBsZXQgbWVzc2FnZSA9XG4gICAgJ1lvdSBoYXZlIGFuIGludmFsaWQgc3RhdGUgaW5pdGlhbGl6YXRpb24gb3JkZXIuIFRoaXMgdHlwaWNhbGx5IG9jY3VycyB3aGVuIGBOZ3hzTW9kdWxlLmZvckZlYXR1cmVgXFxuJyArXG4gICAgJ29yIGBwcm92aWRlU3RhdGVzYCBpcyBjYWxsZWQgYmVmb3JlIGBOZ3hzTW9kdWxlLmZvclJvb3RgIG9yIGBwcm92aWRlU3RvcmVgLlxcbicgK1xuICAgICdPbmUgZXhhbXBsZSBpcyB3aGVuIGBOZ3hzUm91dGVyUGx1Z2luTW9kdWxlLmZvclJvb3RgIGlzIGNhbGxlZCBiZWZvcmUgYE5neHNNb2R1bGUuZm9yUm9vdGAuJztcblxuICBpZiAoYWRkZWRTdGF0ZXMpIHtcbiAgICBjb25zdCBzdGF0ZU5hbWVzID0gT2JqZWN0LmtleXMoYWRkZWRTdGF0ZXMpLm1hcChzdGF0ZU5hbWUgPT4gYFwiJHtzdGF0ZU5hbWV9XCJgKTtcblxuICAgIG1lc3NhZ2UgKz1cbiAgICAgICdcXG5GZWF0dXJlIHN0YXRlcyBhZGRlZCBiZWZvcmUgdGhlIHN0b3JlIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlOiAnICtcbiAgICAgIGAke3N0YXRlTmFtZXMuam9pbignLCAnKX0uYDtcbiAgfVxuXG4gIHJldHVybiBtZXNzYWdlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dTZWxlY3RGYWN0b3J5Tm90Q29ubmVjdGVkRXJyb3IoKTogbmV2ZXIge1xuICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBoYXZlIGZvcmdvdHRlbiB0byBpbXBvcnQgdGhlIE5HWFMgbW9kdWxlIScpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dQYXRjaGluZ0FycmF5RXJyb3IoKTogbmV2ZXIge1xuICB0aHJvdyBuZXcgRXJyb3IoJ1BhdGNoaW5nIGFycmF5cyBpcyBub3Qgc3VwcG9ydGVkLicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dQYXRjaGluZ1ByaW1pdGl2ZUVycm9yKCk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdQYXRjaGluZyBwcmltaXRpdmVzIGlzIG5vdCBzdXBwb3J0ZWQuJyk7XG59XG4iXX0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ɵensureStoreMetadata } from '@ngxs/store/internals';
|
|
2
|
+
import { throwActionDecoratorError } from '../configs/messages.config';
|
|
3
|
+
/**
|
|
4
|
+
* Decorates a method with action information.
|
|
5
|
+
*/
|
|
6
|
+
export function Action(actions, options) {
|
|
7
|
+
return (target, name,
|
|
8
|
+
// This parameter ensures that the decorated method has a call signature that could be passed an instance of the given action(s).
|
|
9
|
+
_descriptor) => {
|
|
10
|
+
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
11
|
+
const isStaticMethod = target.hasOwnProperty('prototype');
|
|
12
|
+
if (isStaticMethod) {
|
|
13
|
+
throwActionDecoratorError();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const meta = ɵensureStoreMetadata(target.constructor);
|
|
17
|
+
const actionArray = Array.isArray(actions) ? actions : [actions];
|
|
18
|
+
for (const action of actionArray) {
|
|
19
|
+
const type = action.type;
|
|
20
|
+
if (!meta.actions[type]) {
|
|
21
|
+
meta.actions[type] = [];
|
|
22
|
+
}
|
|
23
|
+
meta.actions[type].push({
|
|
24
|
+
fn: name,
|
|
25
|
+
options: options || {},
|
|
26
|
+
type
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2RlY29yYXRvcnMvYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0Isb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUc3RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQStDdkU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUNwQixPQUF3QixFQUN4QixPQUF3QjtJQUV4QixPQUFPLENBQ0wsTUFBVyxFQUNYLElBQXFCO0lBQ3JCLGlJQUFpSTtJQUNqSSxXQUE0RCxFQUN0RCxFQUFFO1FBQ1IsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFLENBQUM7WUFDbEQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUUxRCxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNuQix5QkFBeUIsRUFBRSxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqRSxLQUFLLE1BQU0sTUFBTSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFFekIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDMUIsQ0FBQztZQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUN0QixFQUFFLEVBQUUsSUFBSTtnQkFDUixPQUFPLEVBQUUsT0FBTyxJQUFJLEVBQUU7Z0JBQ3RCLElBQUk7YUFDTCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1QWN0aW9uT3B0aW9ucywgybVlbnN1cmVTdG9yZU1ldGFkYXRhIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgQWN0aW9uRGVmLCBBY3Rpb25UeXBlIH0gZnJvbSAnLi4vYWN0aW9ucy9zeW1ib2xzJztcbmltcG9ydCB7IHRocm93QWN0aW9uRGVjb3JhdG9yRXJyb3IgfSBmcm9tICcuLi9jb25maWdzL21lc3NhZ2VzLmNvbmZpZyc7XG5pbXBvcnQgeyBTdGF0ZUNvbnRleHQgfSBmcm9tICcuLi9zeW1ib2xzJztcblxuLyoqXG4gKiBHaXZlbiBhbiBhY3Rpb24gY2xhc3MsIHJldHVybnMgaXRzIHBheWxvYWQuXG4gKi9cbnR5cGUgQWN0aW9uVG9QYXlsb2FkPEFjdGlvbiBleHRlbmRzIEFjdGlvblR5cGU+ID1cbiAgQWN0aW9uIGV4dGVuZHMgQWN0aW9uRGVmPGFueSwgaW5mZXIgQWN0aW9uUGF5bG9hZD4gPyBBY3Rpb25QYXlsb2FkIDogbmV2ZXI7XG5cbi8qKlxuICogR2l2ZW4gYSBsaXN0IG9mIGFjdGlvbiBjbGFzc2VzLCByZXR1cm5zIHRoZSB1bmlvbiBvZiB0aGVpciBwYXlsb2Fkcy5cbiAqL1xudHlwZSBBY3Rpb25zVG9QYXlsb2FkPEFjdGlvbnMgZXh0ZW5kcyByZWFkb25seSBBY3Rpb25UeXBlW10+ID0ge1xuICBbSyBpbiBrZXlvZiBBY3Rpb25zXTogQWN0aW9uVG9QYXlsb2FkPEFjdGlvbnNbS10+O1xufVtudW1iZXJdO1xuXG4vKipcbiAqIEdpdmVuIGFuIGFjdGlvbiBjbGFzcyBvciBhIGxpc3Qgb2YgYWN0aW9uIGNsYXNzZXMsIHJldHVybnMgdGhlIHVuaW9uIG9mIHRoZWlyIHBheWxvYWRzLlxuICovXG50eXBlIEFjdGlvbk9yQWN0aW9uc1RvUGF5bG9hZDxBY3Rpb25PckFjdGlvbnM+ID0gQWN0aW9uT3JBY3Rpb25zIGV4dGVuZHMgQWN0aW9uVHlwZVxuICA/IEFjdGlvblRvUGF5bG9hZDxBY3Rpb25PckFjdGlvbnM+XG4gIDogQWN0aW9uT3JBY3Rpb25zIGV4dGVuZHMgQWN0aW9uVHlwZVtdXG4gICAgPyBBY3Rpb25zVG9QYXlsb2FkPEFjdGlvbk9yQWN0aW9ucz5cbiAgICA6IG5ldmVyO1xuXG4vKipcbiAqIERlc2NyaWJlcyB3aGF0IG1ldGhvZHMgY2FuIGJlIGRlY29yYXRlZCB3aXRoIGFuIGBAQWN0aW9uYCBkZWNvcmF0b3IgdGhhdCBoYXMgYmVlbiBwYXNzZWQgdGhlIGdpdmVuIGFjdGlvbihzKS5cbiAqL1xudHlwZSBIYW5kbGVyVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8QWN0aW9uT3JBY3Rpb25zPiA9XG4gIHwgVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8KCkgPT4gYW55PlxuICB8IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPChzdGF0ZUNvbnRleHQ6IFN0YXRlQ29udGV4dDxhbnk+KSA9PiBhbnk+XG4gIHwgVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8XG4gICAgICAoXG4gICAgICAgIHN0YXRlQ29udGV4dDogU3RhdGVDb250ZXh0PGFueT4sXG4gICAgICAgIGFjdGlvbjogQWN0aW9uT3JBY3Rpb25zVG9QYXlsb2FkPEFjdGlvbk9yQWN0aW9ucz5cbiAgICAgICkgPT4gYW55XG4gICAgPjtcblxuLyoqXG4gKiBUaGUgcmVzdWx0IG9mIGEgY2FsbCB0byB0aGUgYEBBY3Rpb24oKWAgZGVjb3JhdG9yIHdpdGggdGhlIGdpdmVuIGFjdGlvbihzKSBhcyBpdHMgZmlyc3QgYXJndW1lbnQuXG4gKi9cbnR5cGUgQWN0aW9uRGVjb3JhdG9yPEFjdGlvbk9yQWN0aW9ucyBleHRlbmRzIEFjdGlvblR5cGUgfCBBY3Rpb25UeXBlW10+ID0gKFxuICB0YXJnZXQ6IGFueSxcbiAgbmFtZTogc3RyaW5nIHwgc3ltYm9sLFxuICBfZGVzY3JpcHRvcjogSGFuZGxlclR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPEFjdGlvbk9yQWN0aW9ucz5cbikgPT4gdm9pZDtcblxuLyoqXG4gKiBEZWNvcmF0ZXMgYSBtZXRob2Qgd2l0aCBhY3Rpb24gaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBBY3Rpb248QWN0aW9uT3JBY3Rpb25zIGV4dGVuZHMgQWN0aW9uVHlwZSB8IEFjdGlvblR5cGVbXT4oXG4gIGFjdGlvbnM6IEFjdGlvbk9yQWN0aW9ucyxcbiAgb3B0aW9ucz86IMm1QWN0aW9uT3B0aW9uc1xuKTogQWN0aW9uRGVjb3JhdG9yPEFjdGlvbk9yQWN0aW9ucz4ge1xuICByZXR1cm4gKFxuICAgIHRhcmdldDogYW55LFxuICAgIG5hbWU6IHN0cmluZyB8IHN5bWJvbCxcbiAgICAvLyBUaGlzIHBhcmFtZXRlciBlbnN1cmVzIHRoYXQgdGhlIGRlY29yYXRlZCBtZXRob2QgaGFzIGEgY2FsbCBzaWduYXR1cmUgdGhhdCBjb3VsZCBiZSBwYXNzZWQgYW4gaW5zdGFuY2Ugb2YgdGhlIGdpdmVuIGFjdGlvbihzKS5cbiAgICBfZGVzY3JpcHRvcjogSGFuZGxlclR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPEFjdGlvbk9yQWN0aW9ucz5cbiAgKTogdm9pZCA9PiB7XG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZSkge1xuICAgICAgY29uc3QgaXNTdGF0aWNNZXRob2QgPSB0YXJnZXQuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpO1xuXG4gICAgICBpZiAoaXNTdGF0aWNNZXRob2QpIHtcbiAgICAgICAgdGhyb3dBY3Rpb25EZWNvcmF0b3JFcnJvcigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG1ldGEgPSDJtWVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0LmNvbnN0cnVjdG9yKTtcblxuICAgIGNvbnN0IGFjdGlvbkFycmF5ID0gQXJyYXkuaXNBcnJheShhY3Rpb25zKSA/IGFjdGlvbnMgOiBbYWN0aW9uc107XG5cbiAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBhY3Rpb25BcnJheSkge1xuICAgICAgY29uc3QgdHlwZSA9IGFjdGlvbi50eXBlO1xuXG4gICAgICBpZiAoIW1ldGEuYWN0aW9uc1t0eXBlXSkge1xuICAgICAgICBtZXRhLmFjdGlvbnNbdHlwZV0gPSBbXTtcbiAgICAgIH1cblxuICAgICAgbWV0YS5hY3Rpb25zW3R5cGVdLnB1c2goe1xuICAgICAgICBmbjogbmFtZSxcbiAgICAgICAgb3B0aW9uczogb3B0aW9ucyB8fCB7fSxcbiAgICAgICAgdHlwZVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Store } from '../../store';
|
|
3
|
+
import { NgxsConfig } from '../../symbols';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../store";
|
|
6
|
+
import * as i2 from "../../symbols";
|
|
7
|
+
/**
|
|
8
|
+
* Allows the select decorator to get access to the DI store, this is used internally
|
|
9
|
+
* in `@Select` decorator.
|
|
10
|
+
*/
|
|
11
|
+
export class SelectFactory {
|
|
12
|
+
static { this.store = null; }
|
|
13
|
+
static { this.config = null; }
|
|
14
|
+
constructor(store, config) {
|
|
15
|
+
SelectFactory.store = store;
|
|
16
|
+
SelectFactory.config = config;
|
|
17
|
+
}
|
|
18
|
+
ngOnDestroy() {
|
|
19
|
+
SelectFactory.store = null;
|
|
20
|
+
SelectFactory.config = null;
|
|
21
|
+
}
|
|
22
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SelectFactory, deps: [{ token: i1.Store }, { token: i2.NgxsConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SelectFactory, providedIn: 'root' }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SelectFactory, decorators: [{
|
|
26
|
+
type: Injectable,
|
|
27
|
+
args: [{ providedIn: 'root' }]
|
|
28
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.NgxsConfig }] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGVjb3JhdG9ycy9zZWxlY3Qvc2VsZWN0LWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFFM0M7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGFBQWE7YUFDakIsVUFBSyxHQUFpQixJQUFJLEFBQXJCLENBQXNCO2FBQzNCLFdBQU0sR0FBc0IsSUFBSSxBQUExQixDQUEyQjtJQUV4QyxZQUFZLEtBQVksRUFBRSxNQUFrQjtRQUMxQyxhQUFhLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUM1QixhQUFhLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVztRQUNULGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQzNCLGFBQWEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7aUlBWlUsYUFBYTtxSUFBYixhQUFhLGNBREEsTUFBTTs7MkZBQ25CLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmUnO1xuaW1wb3J0IHsgTmd4c0NvbmZpZyB9IGZyb20gJy4uLy4uL3N5bWJvbHMnO1xuXG4vKipcbiAqIEFsbG93cyB0aGUgc2VsZWN0IGRlY29yYXRvciB0byBnZXQgYWNjZXNzIHRvIHRoZSBESSBzdG9yZSwgdGhpcyBpcyB1c2VkIGludGVybmFsbHlcbiAqIGluIGBAU2VsZWN0YCBkZWNvcmF0b3IuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RmFjdG9yeSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBzdG9yZTogU3RvcmUgfCBudWxsID0gbnVsbDtcbiAgc3RhdGljIGNvbmZpZzogTmd4c0NvbmZpZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSwgY29uZmlnOiBOZ3hzQ29uZmlnKSB7XG4gICAgU2VsZWN0RmFjdG9yeS5zdG9yZSA9IHN0b3JlO1xuICAgIFNlbGVjdEZhY3RvcnkuY29uZmlnID0gY29uZmlnO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgU2VsZWN0RmFjdG9yeS5zdG9yZSA9IG51bGw7XG4gICAgU2VsZWN0RmFjdG9yeS5jb25maWcgPSBudWxsO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createSelectObservable, createSelectorFn } from './symbols';
|
|
2
|
+
/**
|
|
3
|
+
* Decorator for selecting a slice of state from the store.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated
|
|
6
|
+
* Read the deprecation notice at this link: https://ngxs.io/deprecations/select-decorator-deprecation.
|
|
7
|
+
*/
|
|
8
|
+
export function Select(rawSelector, ...paths) {
|
|
9
|
+
return function (target, key) {
|
|
10
|
+
const name = key.toString();
|
|
11
|
+
const selectorId = `__${name}__selector`;
|
|
12
|
+
const selector = createSelectorFn(name, rawSelector, paths);
|
|
13
|
+
Object.defineProperties(target, {
|
|
14
|
+
[selectorId]: {
|
|
15
|
+
writable: true,
|
|
16
|
+
enumerable: false,
|
|
17
|
+
configurable: true
|
|
18
|
+
},
|
|
19
|
+
[name]: {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
configurable: true,
|
|
22
|
+
get() {
|
|
23
|
+
return this[selectorId] || (this[selectorId] = createSelectObservable(selector));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2RlY29yYXRvcnMvc2VsZWN0L3NlbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sV0FBVyxDQUFDO0FBRW5GOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBSSxXQUFlLEVBQUUsR0FBRyxLQUFlO0lBQzNELE9BQU8sVUFBVSxNQUFNLEVBQUUsR0FBRztRQUMxQixNQUFNLElBQUksR0FBVyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEMsTUFBTSxVQUFVLEdBQUcsS0FBSyxJQUFJLFlBQVksQ0FBQztRQUN6QyxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7WUFDOUIsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDWixRQUFRLEVBQUUsSUFBSTtnQkFDZCxVQUFVLEVBQUUsS0FBSztnQkFDakIsWUFBWSxFQUFFLElBQUk7YUFDbkI7WUFDRCxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNOLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixZQUFZLEVBQUUsSUFBSTtnQkFDbEIsR0FBRztvQkFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUNuRixDQUFDO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlU2VsZWN0T2JzZXJ2YWJsZSwgY3JlYXRlU2VsZWN0b3JGbiwgUHJvcGVydHlUeXBlIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIHNlbGVjdGluZyBhIHNsaWNlIG9mIHN0YXRlIGZyb20gdGhlIHN0b3JlLlxuICpcbiAqIEBkZXByZWNhdGVkXG4gKiBSZWFkIHRoZSBkZXByZWNhdGlvbiBub3RpY2UgYXQgdGhpcyBsaW5rOiBodHRwczovL25neHMuaW8vZGVwcmVjYXRpb25zL3NlbGVjdC1kZWNvcmF0b3ItZGVwcmVjYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZWxlY3Q8VD4ocmF3U2VsZWN0b3I/OiBULCAuLi5wYXRoczogc3RyaW5nW10pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpOiB2b2lkIHtcbiAgICBjb25zdCBuYW1lOiBzdHJpbmcgPSBrZXkudG9TdHJpbmcoKTtcbiAgICBjb25zdCBzZWxlY3RvcklkID0gYF9fJHtuYW1lfV9fc2VsZWN0b3JgO1xuICAgIGNvbnN0IHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3JGbihuYW1lLCByYXdTZWxlY3RvciwgcGF0aHMpO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCB7XG4gICAgICBbc2VsZWN0b3JJZF06IHtcbiAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBbbmFtZV06IHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQoKTogUHJvcGVydHlUeXBlPFQ+IHtcbiAgICAgICAgICByZXR1cm4gdGhpc1tzZWxlY3RvcklkXSB8fCAodGhpc1tzZWxlY3RvcklkXSA9IGNyZWF0ZVNlbGVjdE9ic2VydmFibGUoc2VsZWN0b3IpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { propGetter } from '../../internal/internals';
|
|
2
|
+
import { SelectFactory } from './select-factory';
|
|
3
|
+
import { throwSelectFactoryNotConnectedError } from '../../configs/messages.config';
|
|
4
|
+
const DOLLAR_CHAR_CODE = 36;
|
|
5
|
+
export function createSelectObservable(selector) {
|
|
6
|
+
if (!SelectFactory.store) {
|
|
7
|
+
throwSelectFactoryNotConnectedError();
|
|
8
|
+
}
|
|
9
|
+
return SelectFactory.store.select(selector);
|
|
10
|
+
}
|
|
11
|
+
export function createSelectorFn(name, rawSelector, paths = []) {
|
|
12
|
+
rawSelector = !rawSelector ? removeDollarAtTheEnd(name) : rawSelector;
|
|
13
|
+
if (typeof rawSelector === 'string') {
|
|
14
|
+
const propsArray = paths.length
|
|
15
|
+
? [rawSelector, ...paths]
|
|
16
|
+
: rawSelector.split('.');
|
|
17
|
+
return propGetter(propsArray, SelectFactory.config);
|
|
18
|
+
}
|
|
19
|
+
return rawSelector;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @example If `foo$` => make it just `foo`
|
|
23
|
+
*/
|
|
24
|
+
export function removeDollarAtTheEnd(name) {
|
|
25
|
+
const lastCharIndex = name.length - 1;
|
|
26
|
+
const dollarAtTheEnd = name.charCodeAt(lastCharIndex) === DOLLAR_CHAR_CODE;
|
|
27
|
+
return dollarAtTheEnd ? name.slice(0, lastCharIndex) : name;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZWNvcmF0b3JzL3NlbGVjdC9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFcEYsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7QUFFNUIsTUFBTSxVQUFVLHNCQUFzQixDQUFVLFFBQWE7SUFDM0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixtQ0FBbUMsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFDRCxPQUFPLGFBQWEsQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLFdBQWlCLEVBQUUsUUFBa0IsRUFBRTtJQUNwRixXQUFXLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFFdEUsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNwQyxNQUFNLFVBQVUsR0FBYSxLQUFLLENBQUMsTUFBTTtZQUN2QyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsT0FBTyxVQUFVLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxNQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLElBQVk7SUFDL0MsTUFBTSxhQUFhLEdBQVcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDOUMsTUFBTSxjQUFjLEdBQVksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQztJQUNwRixPQUFPLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgybVFeHRyYWN0VG9rZW5UeXBlLCBTdGF0ZVRva2VuIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgcHJvcEdldHRlciB9IGZyb20gJy4uLy4uL2ludGVybmFsL2ludGVybmFscyc7XG5pbXBvcnQgeyBTZWxlY3RGYWN0b3J5IH0gZnJvbSAnLi9zZWxlY3QtZmFjdG9yeSc7XG5pbXBvcnQgeyB0aHJvd1NlbGVjdEZhY3RvcnlOb3RDb25uZWN0ZWRFcnJvciB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvbWVzc2FnZXMuY29uZmlnJztcblxuY29uc3QgRE9MTEFSX0NIQVJfQ09ERSA9IDM2O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0T2JzZXJ2YWJsZTxUID0gYW55PihzZWxlY3RvcjogYW55KTogT2JzZXJ2YWJsZTxUPiB7XG4gIGlmICghU2VsZWN0RmFjdG9yeS5zdG9yZSkge1xuICAgIHRocm93U2VsZWN0RmFjdG9yeU5vdENvbm5lY3RlZEVycm9yKCk7XG4gIH1cbiAgcmV0dXJuIFNlbGVjdEZhY3Rvcnkuc3RvcmUhLnNlbGVjdChzZWxlY3Rvcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RvckZuKG5hbWU6IHN0cmluZywgcmF3U2VsZWN0b3I/OiBhbnksIHBhdGhzOiBzdHJpbmdbXSA9IFtdKTogYW55IHtcbiAgcmF3U2VsZWN0b3IgPSAhcmF3U2VsZWN0b3IgPyByZW1vdmVEb2xsYXJBdFRoZUVuZChuYW1lKSA6IHJhd1NlbGVjdG9yO1xuXG4gIGlmICh0eXBlb2YgcmF3U2VsZWN0b3IgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3QgcHJvcHNBcnJheTogc3RyaW5nW10gPSBwYXRocy5sZW5ndGhcbiAgICAgID8gW3Jhd1NlbGVjdG9yLCAuLi5wYXRoc11cbiAgICAgIDogcmF3U2VsZWN0b3Iuc3BsaXQoJy4nKTtcbiAgICByZXR1cm4gcHJvcEdldHRlcihwcm9wc0FycmF5LCBTZWxlY3RGYWN0b3J5LmNvbmZpZyEpO1xuICB9XG5cbiAgcmV0dXJuIHJhd1NlbGVjdG9yO1xufVxuXG4vKipcbiAqIEBleGFtcGxlIElmIGBmb28kYCA9PiBtYWtlIGl0IGp1c3QgYGZvb2BcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZURvbGxhckF0VGhlRW5kKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGxhc3RDaGFySW5kZXg6IG51bWJlciA9IG5hbWUubGVuZ3RoIC0gMTtcbiAgY29uc3QgZG9sbGFyQXRUaGVFbmQ6IGJvb2xlYW4gPSBuYW1lLmNoYXJDb2RlQXQobGFzdENoYXJJbmRleCkgPT09IERPTExBUl9DSEFSX0NPREU7XG4gIHJldHVybiBkb2xsYXJBdFRoZUVuZCA/IG5hbWUuc2xpY2UoMCwgbGFzdENoYXJJbmRleCkgOiBuYW1lO1xufVxuXG5leHBvcnQgdHlwZSBQcm9wZXJ0eVR5cGU8VD4gPVxuICBUIGV4dGVuZHMgU3RhdGVUb2tlbjxhbnk+XG4gICAgPyBPYnNlcnZhYmxlPMm1RXh0cmFjdFRva2VuVHlwZTxUPj5cbiAgICA6IFQgZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGFueVxuICAgICAgPyBPYnNlcnZhYmxlPFJldHVyblR5cGU8VD4+XG4gICAgICA6IGFueTtcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { throwSelectorDecoratorError } from '../../configs/messages.config';
|
|
2
|
+
import { createSelector } from '../../selectors/create-selector';
|
|
3
|
+
export function Selector(selectors) {
|
|
4
|
+
return (target, key, descriptor) => {
|
|
5
|
+
descriptor ||= Object.getOwnPropertyDescriptor(target, key);
|
|
6
|
+
const originalFn = descriptor?.value;
|
|
7
|
+
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
8
|
+
if (originalFn && typeof originalFn !== 'function') {
|
|
9
|
+
throwSelectorDecoratorError();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const memoizedFn = createSelector(selectors, originalFn, {
|
|
13
|
+
containerClass: target,
|
|
14
|
+
selectorName: key.toString(),
|
|
15
|
+
getSelectorOptions() {
|
|
16
|
+
return {};
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const newDescriptor = {
|
|
20
|
+
configurable: true,
|
|
21
|
+
get() {
|
|
22
|
+
return memoizedFn;
|
|
23
|
+
},
|
|
24
|
+
originalFn
|
|
25
|
+
};
|
|
26
|
+
return newDescriptor;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGVjb3JhdG9ycy9zZWxlY3Rvci9zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFhakUsTUFBTSxVQUFVLFFBQVEsQ0FDdEIsU0FBYTtJQUViLE9BQU8sQ0FDTCxNQUFXLEVBQ1gsR0FBb0IsRUFDcEIsVUFBNkQsRUFDSixFQUFFO1FBQzNELFVBQVUsS0FBSyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBRSxDQUFDO1FBRTdELE1BQU0sVUFBVSxHQUFHLFVBQVUsRUFBRSxLQUFLLENBQUM7UUFFckMsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFLENBQUM7WUFDbEQsSUFBSSxVQUFVLElBQUksT0FBTyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ25ELDJCQUEyQixFQUFFLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsU0FBUyxFQUFFLFVBQWlCLEVBQUU7WUFDOUQsY0FBYyxFQUFFLE1BQU07WUFDdEIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDNUIsa0JBQWtCO2dCQUNoQixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxNQUFNLGFBQWEsR0FBRztZQUNwQixZQUFZLEVBQUUsSUFBSTtZQUNsQixHQUFHO2dCQUNELE9BQU8sVUFBVSxDQUFDO1lBQ3BCLENBQUM7WUFDRCxVQUFVO1NBQ1gsQ0FBQztRQUNGLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aHJvd1NlbGVjdG9yRGVjb3JhdG9yRXJyb3IgfSBmcm9tICcuLi8uLi9jb25maWdzL21lc3NhZ2VzLmNvbmZpZyc7XG5pbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJy4uLy4uL3NlbGVjdG9ycy9jcmVhdGUtc2VsZWN0b3InO1xuaW1wb3J0IHsgU2VsZWN0b3JEZWZUdXBsZSwgU2VsZWN0b3JUeXBlIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIGNyZWF0aW5nIGEgc3RhdGUgc2VsZWN0b3IgZm9yIHRoZSBjdXJyZW50IHN0YXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gU2VsZWN0b3IoKTogU2VsZWN0b3JUeXBlPHVua25vd24+O1xuXG4vKipcbiAqIERlY29yYXRvciBmb3IgY3JlYXRpbmcgYSBzdGF0ZSBzZWxlY3RvciBmcm9tIHRoZSBwcm92aWRlZCBzZWxlY3RvcnMgKGFuZCBvcHRpb25hbGx5IHRoZSBjb250YWluZXIgU3RhdGUsIGRlcGVuZGluZyBvbiB0aGUgYXBwbGljYWJsZSBTZWxlY3RvciBPcHRpb25zKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNlbGVjdG9yPFQgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlPihzZWxlY3RvcnM6IFQpOiBTZWxlY3RvclR5cGU8VD47XG5cbmV4cG9ydCBmdW5jdGlvbiBTZWxlY3RvcjxUIGV4dGVuZHMgU2VsZWN0b3JEZWZUdXBsZSA9IFtdPihcbiAgc2VsZWN0b3JzPzogVFxuKTogU2VsZWN0b3JUeXBlPHVua25vd24+IHwgU2VsZWN0b3JUeXBlPFQ+IHtcbiAgcmV0dXJuIDxVPihcbiAgICB0YXJnZXQ6IGFueSxcbiAgICBrZXk6IHN0cmluZyB8IHN5bWJvbCxcbiAgICBkZXNjcmlwdG9yPzogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8KC4uLnN0YXRlczogYW55W10pID0+IFU+XG4gICk6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPCguLi5zdGF0ZXM6IGFueVtdKSA9PiBVPiB8IHZvaWQgPT4ge1xuICAgIGRlc2NyaXB0b3IgfHw9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpITtcblxuICAgIGNvbnN0IG9yaWdpbmFsRm4gPSBkZXNjcmlwdG9yPy52YWx1ZTtcblxuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGUpIHtcbiAgICAgIGlmIChvcmlnaW5hbEZuICYmIHR5cGVvZiBvcmlnaW5hbEZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93U2VsZWN0b3JEZWNvcmF0b3JFcnJvcigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG1lbW9pemVkRm4gPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RvcnMsIG9yaWdpbmFsRm4gYXMgYW55LCB7XG4gICAgICBjb250YWluZXJDbGFzczogdGFyZ2V0LFxuICAgICAgc2VsZWN0b3JOYW1lOiBrZXkudG9TdHJpbmcoKSxcbiAgICAgIGdldFNlbGVjdG9yT3B0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IG5ld0Rlc2NyaXB0b3IgPSB7XG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQoKSB7XG4gICAgICAgIHJldHVybiBtZW1vaXplZEZuO1xuICAgICAgfSxcbiAgICAgIG9yaWdpbmFsRm5cbiAgICB9O1xuICAgIHJldHVybiBuZXdEZXNjcmlwdG9yO1xuICB9O1xufVxuIl19
|