@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
package/internals/symbols.d.ts
CHANGED
|
@@ -1,7 +1,88 @@
|
|
|
1
|
-
|
|
1
|
+
import type { StateToken } from './state-token';
|
|
2
|
+
export interface ɵPlainObject {
|
|
2
3
|
[key: string]: any;
|
|
3
4
|
}
|
|
4
|
-
export interface
|
|
5
|
+
export interface ɵPlainObjectOf<T> {
|
|
5
6
|
[key: string]: T;
|
|
6
7
|
}
|
|
7
|
-
export
|
|
8
|
+
export type ɵStateClass<T = any> = new (...args: any[]) => T;
|
|
9
|
+
export declare const ɵMETA_KEY = "NGXS_META";
|
|
10
|
+
export declare const ɵMETA_OPTIONS_KEY = "NGXS_OPTIONS_META";
|
|
11
|
+
export declare const ɵSELECTOR_META_KEY = "NGXS_SELECTOR_META";
|
|
12
|
+
export interface ɵStateToken<T, U> {
|
|
13
|
+
new (name: ɵTokenName<T>): U;
|
|
14
|
+
getName(): string;
|
|
15
|
+
toString(): string;
|
|
16
|
+
}
|
|
17
|
+
type RequireGeneric<T, U> = T extends void ? 'You must provide a type parameter' : U;
|
|
18
|
+
export type ɵTokenName<T> = string & RequireGeneric<T, string>;
|
|
19
|
+
export type ɵExtractTokenType<P> = P extends StateToken<infer T> ? T : never;
|
|
20
|
+
/**
|
|
21
|
+
* Options that can be provided to the store.
|
|
22
|
+
*/
|
|
23
|
+
export interface ɵStoreOptions<T> {
|
|
24
|
+
/**
|
|
25
|
+
* Name of the state. Required.
|
|
26
|
+
*/
|
|
27
|
+
name: string | StateToken<T>;
|
|
28
|
+
/**
|
|
29
|
+
* Default values for the state. If not provided, uses empty object.
|
|
30
|
+
*/
|
|
31
|
+
defaults?: T;
|
|
32
|
+
/**
|
|
33
|
+
* Sub states for the given state.
|
|
34
|
+
*
|
|
35
|
+
* @deprecated
|
|
36
|
+
* Read the deprecation notice at this link: https://ngxs.io/deprecations/sub-states-deprecation.
|
|
37
|
+
*/
|
|
38
|
+
children?: ɵStateClass[];
|
|
39
|
+
}
|
|
40
|
+
export interface ɵStateClassInternal<T = any, U = any> extends ɵStateClass<T> {
|
|
41
|
+
[ɵMETA_KEY]?: ɵMetaDataModel;
|
|
42
|
+
[ɵMETA_OPTIONS_KEY]?: ɵStoreOptions<U>;
|
|
43
|
+
}
|
|
44
|
+
export interface ɵMetaDataModel {
|
|
45
|
+
name: string | null;
|
|
46
|
+
actions: ɵPlainObjectOf<ɵActionHandlerMetaData[]>;
|
|
47
|
+
defaults: any;
|
|
48
|
+
path: string | null;
|
|
49
|
+
makeRootSelector: ɵSelectorFactory | null;
|
|
50
|
+
/** @deprecated */
|
|
51
|
+
children?: ɵStateClassInternal[];
|
|
52
|
+
}
|
|
53
|
+
export interface ɵSelectorMetaDataModel {
|
|
54
|
+
makeRootSelector: ɵSelectorFactory | null;
|
|
55
|
+
originalFn: Function | null;
|
|
56
|
+
containerClass: any;
|
|
57
|
+
selectorName: string | null;
|
|
58
|
+
getSelectorOptions: () => ɵSharedSelectorOptions;
|
|
59
|
+
}
|
|
60
|
+
export interface ɵSharedSelectorOptions {
|
|
61
|
+
/**
|
|
62
|
+
* @deprecated
|
|
63
|
+
* Read the deprecation notice at this link: https://ngxs.io/deprecations/inject-container-state-deprecation.md.
|
|
64
|
+
*/
|
|
65
|
+
injectContainerState?: boolean;
|
|
66
|
+
suppressErrors?: boolean;
|
|
67
|
+
}
|
|
68
|
+
export interface ɵRuntimeSelectorContext {
|
|
69
|
+
getStateGetter(key: any): (state: any) => any;
|
|
70
|
+
getSelectorOptions(localOptions?: ɵSharedSelectorOptions): ɵSharedSelectorOptions;
|
|
71
|
+
}
|
|
72
|
+
export type ɵSelectFromRootState = (rootState: any) => any;
|
|
73
|
+
export type ɵSelectorFactory = (runtimeContext: ɵRuntimeSelectorContext) => ɵSelectFromRootState;
|
|
74
|
+
/**
|
|
75
|
+
* Actions that can be provided in a action decorator.
|
|
76
|
+
*/
|
|
77
|
+
export interface ɵActionOptions {
|
|
78
|
+
/**
|
|
79
|
+
* Cancel the previous uncompleted observable(s).
|
|
80
|
+
*/
|
|
81
|
+
cancelUncompleted?: boolean;
|
|
82
|
+
}
|
|
83
|
+
export interface ɵActionHandlerMetaData {
|
|
84
|
+
fn: string | symbol;
|
|
85
|
+
options: ɵActionOptions;
|
|
86
|
+
type: string;
|
|
87
|
+
}
|
|
88
|
+
export {};
|
|
@@ -4,5 +4,5 @@ export declare class NgxsTestComponent implements OnInit, AfterViewInit {
|
|
|
4
4
|
ngOnInit(): void;
|
|
5
5
|
ngAfterViewInit(): void;
|
|
6
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxsTestComponent, never>;
|
|
7
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgxsTestComponent, "app-root", never, {}, {}, never, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgxsTestComponent, "app-root", never, {}, {}, never, never, false, never>;
|
|
8
8
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { NgxsTestBed } from './ngxs.setup';
|
|
2
|
-
export { NgxsTesting } from './symbol';
|
|
3
1
|
export { freshPlatform } from './fresh-platform';
|
|
2
|
+
export { NgxsTestBed } from './ngxs.setup';
|
|
4
3
|
export { skipConsoleLogging } from './skip-console-logging';
|
|
4
|
+
export { NgxsTesting } from './symbol';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { NgxsModuleOptions, Store } from '@ngxs/store';
|
|
2
2
|
import { ModuleWithProviders } from '@angular/core';
|
|
3
3
|
import { TestBedStatic } from '@angular/core/testing';
|
|
4
|
-
import {
|
|
4
|
+
import { ɵStateClass } from '@ngxs/store/internals';
|
|
5
5
|
export interface NgxsOptionsTesting {
|
|
6
|
-
states?:
|
|
6
|
+
states?: ɵStateClass[];
|
|
7
7
|
ngxsOptions?: NgxsModuleOptions;
|
|
8
8
|
imports?: ModuleWithProviders<any>[];
|
|
9
9
|
before?: () => void;
|
package/operators/patch.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NoInfer, StateOperator } from './types';
|
|
2
|
-
|
|
3
|
-
export
|
|
2
|
+
type NotUndefined<T> = T extends undefined ? never : T;
|
|
3
|
+
export type ɵPatchSpec<T> = {
|
|
4
4
|
[P in keyof T]?: T[P] | StateOperator<NotUndefined<T[P]>>;
|
|
5
5
|
};
|
|
6
6
|
export declare function patch<T extends Record<string, any>>(patchObject: NoInfer<ɵPatchSpec<T>>): StateOperator<T>;
|
package/operators/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
type _NoInfer<T> = T extends infer S ? S : never;
|
|
2
2
|
/**
|
|
3
3
|
* Blocks the ability of the typescript inferrence engine to be able to use the provided type as part of
|
|
4
4
|
* inferring any type parameters from this usage.
|
|
@@ -29,7 +29,7 @@ declare type _NoInfer<T> = T extends infer S ? S : never;
|
|
|
29
29
|
* ```
|
|
30
30
|
*
|
|
31
31
|
*/
|
|
32
|
-
export
|
|
32
|
+
export type NoInfer<T> = T extends (infer O)[] ? _NoInfer<O>[] : _NoInfer<T>;
|
|
33
33
|
/**
|
|
34
34
|
* IMPORTANT NOTE: This should not be used externally to the library, rather
|
|
35
35
|
* the exported type `ExistingState<T>` should be used instead.
|
|
@@ -38,12 +38,12 @@ export declare type NoInfer<T> = T extends (infer O)[] ? _NoInfer<O>[] : _NoInfe
|
|
|
38
38
|
* primitives to objects or arrays that could already be readonly or not.
|
|
39
39
|
* This does not apply the readonly construct to nested objects, but only to the top level type.
|
|
40
40
|
*/
|
|
41
|
-
|
|
41
|
+
type ɵAsReadonly<T> = T extends Readonly<infer O> ? (O extends T ? Readonly<T> : T) : T;
|
|
42
42
|
/**
|
|
43
43
|
* Represents the existing state that is passed into a `StateOperator` which should
|
|
44
44
|
* not be modified but will be used to build the new state returned by the `StateOperator`.
|
|
45
45
|
*/
|
|
46
|
-
export
|
|
46
|
+
export type ExistingState<T> = T extends any ? ɵAsReadonly<T> : never;
|
|
47
47
|
/**
|
|
48
48
|
* This is a monotype unary function that is used to create a new state from an existing state.
|
|
49
49
|
* A state operator is usually created by a function that is given some data
|
|
@@ -52,5 +52,5 @@ export declare type ExistingState<T> = T extends any ? ɵAsReadonly<T> : never;
|
|
|
52
52
|
* In state management terminology this creator function is commonly referred to as a state operator
|
|
53
53
|
* because it represents the operation to be performed. ie. `patch`, `append`, `insertItem`, `compose`, `iif`, etc.
|
|
54
54
|
*/
|
|
55
|
-
export
|
|
55
|
+
export type StateOperator<T> = (existing: ExistingState<T>) => T;
|
|
56
56
|
export {};
|
package/operators/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { StateOperator } from './types';
|
|
2
|
-
export
|
|
2
|
+
export type Predicate<T = any> = (value: T | Readonly<T>) => boolean;
|
|
3
3
|
export declare function isStateOperator<T>(value: T | StateOperator<T>): value is StateOperator<T>;
|
|
4
4
|
export declare function isUndefined(value: any): value is undefined;
|
|
5
5
|
export declare function isPredicate<T>(value: Predicate<T> | boolean | number): value is Predicate<T>;
|
package/package.json
CHANGED
|
@@ -1,21 +1,52 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "../../node_modules/ng-packagr/package.schema.json",
|
|
3
2
|
"name": "@ngxs/store",
|
|
4
|
-
"version": "
|
|
3
|
+
"version": "18.0.0-dev.master-f4c2c19",
|
|
5
4
|
"license": "MIT",
|
|
6
|
-
"sideEffects":
|
|
5
|
+
"sideEffects": false,
|
|
7
6
|
"peerDependencies": {
|
|
8
|
-
"@angular/core": ">=
|
|
9
|
-
"rxjs": ">=
|
|
7
|
+
"@angular/core": ">=16.0.0 <19.0.0",
|
|
8
|
+
"rxjs": ">=7.0.0"
|
|
9
|
+
},
|
|
10
|
+
"schematics": "./schematics/collection.json",
|
|
11
|
+
"module": "fesm2022/ngxs-store.mjs",
|
|
12
|
+
"typings": "index.d.ts",
|
|
13
|
+
"exports": {
|
|
14
|
+
"./package.json": {
|
|
15
|
+
"default": "./package.json"
|
|
16
|
+
},
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./index.d.ts",
|
|
19
|
+
"esm2022": "./esm2022/ngxs-store.mjs",
|
|
20
|
+
"esm": "./esm2022/ngxs-store.mjs",
|
|
21
|
+
"default": "./fesm2022/ngxs-store.mjs"
|
|
22
|
+
},
|
|
23
|
+
"./internals": {
|
|
24
|
+
"types": "./internals/index.d.ts",
|
|
25
|
+
"esm2022": "./esm2022/internals/ngxs-store-internals.mjs",
|
|
26
|
+
"esm": "./esm2022/internals/ngxs-store-internals.mjs",
|
|
27
|
+
"default": "./fesm2022/ngxs-store-internals.mjs"
|
|
28
|
+
},
|
|
29
|
+
"./operators": {
|
|
30
|
+
"types": "./operators/index.d.ts",
|
|
31
|
+
"esm2022": "./esm2022/operators/ngxs-store-operators.mjs",
|
|
32
|
+
"esm": "./esm2022/operators/ngxs-store-operators.mjs",
|
|
33
|
+
"default": "./fesm2022/ngxs-store-operators.mjs"
|
|
34
|
+
},
|
|
35
|
+
"./plugins": {
|
|
36
|
+
"types": "./plugins/index.d.ts",
|
|
37
|
+
"esm2022": "./esm2022/plugins/ngxs-store-plugins.mjs",
|
|
38
|
+
"esm": "./esm2022/plugins/ngxs-store-plugins.mjs",
|
|
39
|
+
"default": "./fesm2022/ngxs-store-plugins.mjs"
|
|
40
|
+
},
|
|
41
|
+
"./internals/testing": {
|
|
42
|
+
"types": "./internals/testing/index.d.ts",
|
|
43
|
+
"esm2022": "./esm2022/internals/testing/ngxs-store-internals-testing.mjs",
|
|
44
|
+
"esm": "./esm2022/internals/testing/ngxs-store-internals-testing.mjs",
|
|
45
|
+
"default": "./fesm2022/ngxs-store-internals-testing.mjs"
|
|
46
|
+
}
|
|
10
47
|
},
|
|
11
|
-
"main": "bundles/ngxs-store.umd.js",
|
|
12
|
-
"module": "fesm2015/ngxs-store.js",
|
|
13
|
-
"es2015": "fesm2015/ngxs-store.js",
|
|
14
|
-
"esm2015": "esm2015/ngxs-store.js",
|
|
15
|
-
"fesm2015": "fesm2015/ngxs-store.js",
|
|
16
|
-
"typings": "ngxs-store.d.ts",
|
|
17
48
|
"dependencies": {
|
|
18
|
-
"tslib": "^2.
|
|
49
|
+
"tslib": "^2.3.0"
|
|
19
50
|
},
|
|
20
51
|
"repository": {
|
|
21
52
|
"type": "git",
|
|
@@ -60,4 +91,4 @@
|
|
|
60
91
|
"type": "opencollective",
|
|
61
92
|
"url": "https://opencollective.com/ngxs"
|
|
62
93
|
}
|
|
63
|
-
}
|
|
94
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ɵPlainObject } from '@ngxs/store/internals';
|
|
2
2
|
/**
|
|
3
3
|
* Init action
|
|
4
4
|
*/
|
|
@@ -9,7 +9,7 @@ export declare class InitState {
|
|
|
9
9
|
* Update action
|
|
10
10
|
*/
|
|
11
11
|
export declare class UpdateState {
|
|
12
|
-
addedStates?:
|
|
12
|
+
readonly addedStates?: ɵPlainObject | undefined;
|
|
13
13
|
static readonly type = "@@UPDATE_STATE";
|
|
14
|
-
constructor(addedStates?:
|
|
14
|
+
constructor(addedStates?: ɵPlainObject | undefined);
|
|
15
15
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export declare const NGXS_PLUGINS: InjectionToken<unknown>;
|
|
3
|
+
export type NgxsPluginFn = (state: any, mutation: any, next: NgxsNextPluginFn) => any;
|
|
4
|
+
export type NgxsNextPluginFn = (state: any, mutation: any) => any;
|
|
5
|
+
/**
|
|
6
|
+
* Plugin interface
|
|
7
|
+
*/
|
|
8
|
+
export interface NgxsPlugin {
|
|
9
|
+
/**
|
|
10
|
+
* Handle the state/action before its submitted to the state handlers.
|
|
11
|
+
*/
|
|
12
|
+
handle(state: any, action: any, next: NgxsNextPluginFn): any;
|
|
13
|
+
}
|
|
@@ -27,20 +27,3 @@ export declare const setValue: (obj: any, prop: string, val: any) => any;
|
|
|
27
27
|
* @ignore
|
|
28
28
|
*/
|
|
29
29
|
export declare const getValue: (obj: any, prop: string) => any;
|
|
30
|
-
/**
|
|
31
|
-
* Simple object check.
|
|
32
|
-
*
|
|
33
|
-
* isObject({a:1}) //=> true
|
|
34
|
-
* isObject(1) //=> false
|
|
35
|
-
*
|
|
36
|
-
* @ignore
|
|
37
|
-
*/
|
|
38
|
-
export declare const isObject: (item: any) => any;
|
|
39
|
-
/**
|
|
40
|
-
* Deep merge two objects.
|
|
41
|
-
*
|
|
42
|
-
* mergeDeep({a:1, b:{x: 1, y:2}}, {b:{x: 3}, c:4}) //=> {a:1, b:{x:3, y:2}, c:4}
|
|
43
|
-
*
|
|
44
|
-
* @param base base object onto which `sources` will be applied
|
|
45
|
-
*/
|
|
46
|
-
export declare const mergeDeep: (base: any, ...sources: any[]) => any;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": ["@schematics/angular"],
|
|
3
|
+
"$schema": "../node_modules/@angular-devkit/schematics/collection-schema.json",
|
|
4
|
+
"schematics": {
|
|
5
|
+
"store": {
|
|
6
|
+
"factory": "./src/store/store.factory#store",
|
|
7
|
+
"description": "Create a NGXS full store",
|
|
8
|
+
"aliases": ["ngxs-store"],
|
|
9
|
+
"schema": "./src/store/schema.json"
|
|
10
|
+
},
|
|
11
|
+
"state": {
|
|
12
|
+
"factory": "./src/state/state.factory#state",
|
|
13
|
+
"description": "Create a NGXS state",
|
|
14
|
+
"aliases": ["ngxs-state"],
|
|
15
|
+
"schema": "./src/state/schema.json"
|
|
16
|
+
},
|
|
17
|
+
"actions": {
|
|
18
|
+
"factory": "./src/actions/actions.factory#actions",
|
|
19
|
+
"description": "Create a NGXS actions",
|
|
20
|
+
"aliases": ["ngxs-actions"],
|
|
21
|
+
"schema": "./src/actions/schema.json"
|
|
22
|
+
},
|
|
23
|
+
"starter-kit": {
|
|
24
|
+
"factory": "./src/starter-kit/starter-kit.factory#starterKit",
|
|
25
|
+
"description": "Create a NGXS starter kit with simple or best practice type",
|
|
26
|
+
"aliases": ["ngxs-sk"],
|
|
27
|
+
"schema": "./src/starter-kit/schema.json"
|
|
28
|
+
},
|
|
29
|
+
"ng-add": {
|
|
30
|
+
"factory": "./src/ng-add/ng-add.factory#ngAdd",
|
|
31
|
+
"description": "Add Ngxs Store and plugins in package.json",
|
|
32
|
+
"aliases": ["ngxs-init"],
|
|
33
|
+
"schema": "./src/ng-add/schema.json"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.actions = void 0;
|
|
4
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
+
const generate_utils_1 = require("../utils/generate-utils");
|
|
6
|
+
const properties_1 = require("../utils/common/properties");
|
|
7
|
+
const normalize_options_1 = require("../utils/normalize-options");
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
function actions(options) {
|
|
10
|
+
return (host) => {
|
|
11
|
+
if ((0, properties_1.isEmpty)(options.name)) {
|
|
12
|
+
throw new schematics_1.SchematicsException('Invalid options, "name" is required.');
|
|
13
|
+
}
|
|
14
|
+
const normalizedOptions = (0, normalize_options_1.normalizeBaseOptions)(host, options);
|
|
15
|
+
const path = options.flat
|
|
16
|
+
? normalizedOptions.path
|
|
17
|
+
: (0, path_1.join)(normalizedOptions.path, normalizedOptions.name);
|
|
18
|
+
return (0, generate_utils_1.generateFiles)((0, schematics_1.url)('./files'), path, {
|
|
19
|
+
name: normalizedOptions.name
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
exports.actions = actions;
|
|
24
|
+
//# sourceMappingURL=actions.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.factory.js","sourceRoot":"","sources":["../../../../../packages/store/schematics/src/actions/actions.factory.ts"],"names":[],"mappings":";;;AAAA,2DAAkF;AAElF,4DAAwD;AACxD,2DAAqD;AACrD,kEAAkE;AAClE,+BAA4B;AAE5B,SAAgB,OAAO,CAAC,OAAsB;IAC5C,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAI,IAAA,oBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,gCAAmB,CAAC,sCAAsC,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,wCAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;YACvB,CAAC,CAAC,iBAAiB,CAAC,IAAI;YACxB,CAAC,CAAC,IAAA,WAAI,EAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEzD,OAAO,IAAA,8BAAa,EAAC,IAAA,gBAAG,EAAC,SAAS,CAAC,EAAE,IAAI,EAAE;YACzC,IAAI,EAAE,iBAAiB,CAAC,IAAI;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAfD,0BAeC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "SchematicsNgxsActions",
|
|
4
|
+
"title": "Ngxs Actions Options Schema",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"name": {
|
|
8
|
+
"description": "The name of the actions.",
|
|
9
|
+
"type": "string",
|
|
10
|
+
"$default": {
|
|
11
|
+
"$source": "argv",
|
|
12
|
+
"index": 0
|
|
13
|
+
},
|
|
14
|
+
"x-prompt": "What name would you like to use for the actions?",
|
|
15
|
+
"x-priority": "important"
|
|
16
|
+
},
|
|
17
|
+
"path": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"format": "path",
|
|
20
|
+
"description": "The path to create the actions. Relative to the specified (or default) project."
|
|
21
|
+
},
|
|
22
|
+
"flat": {
|
|
23
|
+
"type": "boolean",
|
|
24
|
+
"default": false,
|
|
25
|
+
"description": "Flag to indicate if a dir is created."
|
|
26
|
+
},
|
|
27
|
+
"project": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "The name of the project.",
|
|
30
|
+
"aliases": ["p"],
|
|
31
|
+
"x-dropdown": "projects"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"required": ["name"]
|
|
35
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
+
import { NormalizedNgxsPackageSchema } from './ng-add.factory';
|
|
3
|
+
export declare function addDeclarationToStandaloneApp(options: NormalizedNgxsPackageSchema): Rule;
|
|
4
|
+
export declare function addDeclarationToNonStandaloneApp(options: NormalizedNgxsPackageSchema): Rule;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.addDeclarationToNonStandaloneApp = exports.addDeclarationToStandaloneApp = void 0;
|
|
13
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
14
|
+
const rules_1 = require("../utils/ng-utils/standalone/rules");
|
|
15
|
+
const util_1 = require("../utils/ng-utils/standalone/util");
|
|
16
|
+
const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
|
|
17
|
+
const app_config_1 = require("../utils/ng-utils/standalone/app_config");
|
|
18
|
+
const lib_config_1 = require("../utils/common/lib.config");
|
|
19
|
+
function addDeclarationToStandaloneApp(options) {
|
|
20
|
+
return (host) => __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
var _a;
|
|
22
|
+
const mainFilePath = yield (0, util_1.getMainFilePath)(host, options.project);
|
|
23
|
+
const bootstrapCall = (0, util_1.findBootstrapApplicationCall)(host, mainFilePath);
|
|
24
|
+
const appConfigFilePath = ((_a = (0, app_config_1.findAppConfig)(bootstrapCall, host, mainFilePath)) === null || _a === void 0 ? void 0 : _a.filePath) || mainFilePath;
|
|
25
|
+
const plugins = options.plugins
|
|
26
|
+
.filter(p => pluginData.has(p))
|
|
27
|
+
.map((p) => [p, pluginData.get(p).standalone]);
|
|
28
|
+
const importPluginRules = plugins.map(([plugin, standaloneDeclaration]) => {
|
|
29
|
+
return importTree => {
|
|
30
|
+
const change = (0, ast_utils_1.insertImport)((0, util_1.getSourceFile)(host, appConfigFilePath), appConfigFilePath, standaloneDeclaration, plugin);
|
|
31
|
+
(0, util_1.applyChangesToFile)(importTree, appConfigFilePath, [change]);
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
const pluginDeclarations = plugins
|
|
35
|
+
.map(([, standaloneDeclaration]) => `${standaloneDeclaration}()`)
|
|
36
|
+
.join(',\n');
|
|
37
|
+
return (0, schematics_1.chain)([
|
|
38
|
+
...importPluginRules,
|
|
39
|
+
(0, rules_1.addRootProvider)(options.project, ({ code, external }) => code `${external('provideStore', '@ngxs/store')}(\n[],\n${pluginDeclarations})`)
|
|
40
|
+
]);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
exports.addDeclarationToStandaloneApp = addDeclarationToStandaloneApp;
|
|
44
|
+
function addDeclarationToNonStandaloneApp(options) {
|
|
45
|
+
const pluginRules = options.plugins
|
|
46
|
+
.map(p => { var _a; return [p, (_a = pluginData.get(p)) === null || _a === void 0 ? void 0 : _a.module]; })
|
|
47
|
+
.filter((v) => !!v[1])
|
|
48
|
+
.map(([plugin, moduleName]) => {
|
|
49
|
+
return (0, rules_1.addRootImport)(options.project, ({ code, external }) => code `${external(moduleName, plugin)}.forRoot()`);
|
|
50
|
+
});
|
|
51
|
+
const importPath = '@ngxs/store';
|
|
52
|
+
const moduleImportExtras = '.forRoot([], { developmentMode: /** !environment.production */ false })';
|
|
53
|
+
return (0, schematics_1.chain)([
|
|
54
|
+
(0, rules_1.addRootImport)(options.project, ({ code, external }) => code `${external('NgxsModule', importPath)}${moduleImportExtras}`),
|
|
55
|
+
...pluginRules
|
|
56
|
+
]);
|
|
57
|
+
}
|
|
58
|
+
exports.addDeclarationToNonStandaloneApp = addDeclarationToNonStandaloneApp;
|
|
59
|
+
const pluginData = new Map([
|
|
60
|
+
[
|
|
61
|
+
lib_config_1.LIBRARIES.DEVTOOLS,
|
|
62
|
+
{
|
|
63
|
+
module: 'NgxsReduxDevtoolsPluginModule',
|
|
64
|
+
standalone: 'withNgxsReduxDevtoolsPlugin'
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
[
|
|
68
|
+
lib_config_1.LIBRARIES.FORM,
|
|
69
|
+
{
|
|
70
|
+
module: 'NgxsFormPluginModule',
|
|
71
|
+
standalone: 'withNgxsFormPlugin'
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
[
|
|
75
|
+
lib_config_1.LIBRARIES.LOGGER,
|
|
76
|
+
{
|
|
77
|
+
module: 'NgxsLoggerPluginModule',
|
|
78
|
+
standalone: 'withNgxsLoggerPlugin'
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
[
|
|
82
|
+
lib_config_1.LIBRARIES.ROUTER,
|
|
83
|
+
{
|
|
84
|
+
module: 'NgxsRouterPluginModule',
|
|
85
|
+
standalone: 'withNgxsRouterPlugin'
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
[
|
|
89
|
+
lib_config_1.LIBRARIES.STORAGE,
|
|
90
|
+
{
|
|
91
|
+
module: 'NgxsStoragePluginModule',
|
|
92
|
+
standalone: 'withNgxsStoragePlugin'
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
[
|
|
96
|
+
lib_config_1.LIBRARIES.STORE,
|
|
97
|
+
{
|
|
98
|
+
standalone: 'provideStore'
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
[
|
|
102
|
+
lib_config_1.LIBRARIES.WEBSOCKET,
|
|
103
|
+
{
|
|
104
|
+
module: 'NgxsWebSocketPluginModule',
|
|
105
|
+
standalone: 'withNgxsWebSocketPlugin'
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
]);
|
|
109
|
+
//# sourceMappingURL=add-declaration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-declaration.js","sourceRoot":"","sources":["../../../../../packages/store/schematics/src/ng-add/add-declaration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
+
import { LIBRARIES } from '../utils/common/lib.config';
|
|
3
|
+
import { NgxsPackageSchema } from './ng-add.schema';
|
|
4
|
+
export type NormalizedNgxsPackageSchema = {
|
|
5
|
+
skipInstall: boolean;
|
|
6
|
+
plugins: LIBRARIES[];
|
|
7
|
+
project: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function ngAdd(options: NgxsPackageSchema): Rule;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ngAdd = void 0;
|
|
13
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
14
|
+
const tasks_1 = require("@angular-devkit/schematics/tasks");
|
|
15
|
+
const dependencies_1 = require("@schematics/angular/utility/dependencies");
|
|
16
|
+
const lib_config_1 = require("../utils/common/lib.config");
|
|
17
|
+
const project_1 = require("../utils/ng-utils/project");
|
|
18
|
+
const ng_ast_utils_1 = require("../utils/ng-utils/ng-ast-utils");
|
|
19
|
+
const add_declaration_1 = require("./add-declaration");
|
|
20
|
+
const project_2 = require("../utils/project");
|
|
21
|
+
const versions = require('./../utils/versions.json');
|
|
22
|
+
function ngAdd(options) {
|
|
23
|
+
return (host) => {
|
|
24
|
+
const normalizedSchema = normalizeSchema(host, options);
|
|
25
|
+
return (0, schematics_1.chain)([
|
|
26
|
+
addNgxsPackageToPackageJson(normalizedSchema),
|
|
27
|
+
addDeclaration(normalizedSchema),
|
|
28
|
+
normalizedSchema.skipInstall ? (0, schematics_1.noop)() : runNpmPackageInstall()
|
|
29
|
+
]);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
exports.ngAdd = ngAdd;
|
|
33
|
+
function addNgxsPackageToPackageJson(schema) {
|
|
34
|
+
return (host, context) => {
|
|
35
|
+
const ngxsStoreVersion = versions['@ngxs/store'];
|
|
36
|
+
if (!ngxsStoreVersion) {
|
|
37
|
+
throw new schematics_1.SchematicsException('Could not resolve the version of "@ngxs/store"');
|
|
38
|
+
}
|
|
39
|
+
schema.plugins.forEach(name => {
|
|
40
|
+
const packageExists = (0, dependencies_1.getPackageJsonDependency)(host, name);
|
|
41
|
+
if (packageExists === null) {
|
|
42
|
+
(0, dependencies_1.addPackageJsonDependency)(host, {
|
|
43
|
+
type: dependencies_1.NodeDependencyType.Default,
|
|
44
|
+
name,
|
|
45
|
+
version: ngxsStoreVersion
|
|
46
|
+
});
|
|
47
|
+
context.logger.info(`✅️ Added "${name}" into ${dependencies_1.NodeDependencyType.Default}`);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
context.logger.warn(`✅️ "${name}" already exists in the ${dependencies_1.NodeDependencyType.Default}`);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return host;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function runNpmPackageInstall() {
|
|
57
|
+
return (_, context) => {
|
|
58
|
+
context.addTask(new tasks_1.NodePackageInstallTask());
|
|
59
|
+
context.logger.info(`🔍 Installing packages...`);
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function addDeclaration(schema) {
|
|
63
|
+
return (host) => __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
const mainFile = (0, project_1.getProjectMainFile)(host, schema.project);
|
|
65
|
+
if (!mainFile) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const isStandalone = (0, ng_ast_utils_1.isStandaloneApp)(host, mainFile);
|
|
69
|
+
if (isStandalone) {
|
|
70
|
+
return (0, add_declaration_1.addDeclarationToStandaloneApp)(schema);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
return (0, add_declaration_1.addDeclarationToNonStandaloneApp)(schema);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function normalizeSchema(host, schema) {
|
|
78
|
+
var _a, _b;
|
|
79
|
+
const projectName = (_a = (0, project_2.getProject)(host, schema.project)) === null || _a === void 0 ? void 0 : _a.name;
|
|
80
|
+
if (!projectName) {
|
|
81
|
+
throw new schematics_1.SchematicsException(`Project "${schema.project}" does not exist.`);
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
skipInstall: !!schema.skipInstall,
|
|
85
|
+
plugins: (_b = Object.values(lib_config_1.LIBRARIES).filter(lib => { var _a; return (_a = schema.plugins) === null || _a === void 0 ? void 0 : _a.includes(lib); })) !== null && _b !== void 0 ? _b : [],
|
|
86
|
+
project: projectName
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=ng-add.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-add.factory.js","sourceRoot":"","sources":["../../../../../packages/store/schematics/src/ng-add/ng-add.factory.ts"],"names":[],"mappings":"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"}
|