@ngxs/store 3.8.1 → 3.8.2-dev.master-a75608e
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/esm2020/internals/index.mjs +6 -0
- package/esm2020/internals/initial-state.mjs +18 -0
- package/esm2020/internals/internal-tokens.mjs +6 -0
- package/{esm2015/internals/ngxs-bootstrapper.js → esm2020/internals/ngxs-bootstrapper.mjs} +4 -4
- package/esm2020/internals/src/symbols.mjs +11 -0
- package/esm2020/internals/symbols.mjs +11 -0
- package/esm2020/internals/testing/fresh-platform.mjs +72 -0
- package/{esm2015/internals/testing/helpers/ngxs-test.component.js → esm2020/internals/testing/helpers/ngxs-test.component.mjs} +4 -4
- package/esm2020/internals/testing/helpers/ngxs-test.module.mjs +20 -0
- package/{esm2015/internals/testing/ngxs.setup.js → esm2020/internals/testing/ngxs.setup.mjs} +4 -2
- package/esm2020/internals/testing/symbol.mjs +2 -0
- package/esm2020/operators/patch.mjs +21 -0
- package/esm2020/src/actions/actions.mjs +16 -0
- package/{esm2015/src/actions-stream.js → esm2020/src/actions-stream.mjs} +7 -7
- package/esm2020/src/configs/messages.config.mjs +48 -0
- package/{esm2015/src/decorators/select/select-factory.js → esm2020/src/decorators/select/select-factory.mjs} +4 -4
- package/esm2020/src/decorators/selector/selector.mjs +32 -0
- package/esm2020/src/decorators/state.mjs +36 -0
- package/{esm2015/src/dev-features/ngxs-development.module.js → esm2020/src/dev-features/ngxs-development.module.mjs} +5 -5
- package/{esm2015/src/dev-features/ngxs-unhandled-actions-logger.js → esm2020/src/dev-features/ngxs-unhandled-actions-logger.mjs} +4 -4
- package/{esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js → esm2020/src/execution/dispatch-outside-zone-ngxs-execution-strategy.mjs} +4 -4
- package/{esm2015/src/execution/internal-ngxs-execution-strategy.js → esm2020/src/execution/internal-ngxs-execution-strategy.mjs} +4 -4
- package/{esm2015/src/execution/noop-ngxs-execution-strategy.js → esm2020/src/execution/noop-ngxs-execution-strategy.mjs} +4 -4
- package/esm2020/src/execution/symbols.mjs +27 -0
- package/{esm2015/src/internal/custom-rxjs-subjects.js → esm2020/src/internal/custom-rxjs-subjects.mjs} +2 -2
- package/{esm2015/src/internal/dispatcher.js → esm2020/src/internal/dispatcher.mjs} +11 -11
- package/{esm2015/src/internal/error-handler.js → esm2020/src/internal/error-handler.mjs} +5 -5
- package/esm2020/src/internal/internals.mjs +248 -0
- package/esm2020/src/internal/lifecycle-state-manager.mjs +97 -0
- package/esm2020/src/internal/state-context-factory.mjs +68 -0
- package/esm2020/src/internal/state-factory.mjs +292 -0
- package/{esm2015/src/internal/state-operations.js → esm2020/src/internal/state-operations.mjs} +5 -5
- package/esm2020/src/internal/state-operators.mjs +20 -0
- package/esm2020/src/internal/state-stream.mjs +27 -0
- package/{esm2015/src/ivy/ivy-enabled-in-dev-mode.js → esm2020/src/ivy/ivy-enabled-in-dev-mode.mjs} +2 -2
- package/esm2020/src/module.mjs +27 -0
- package/esm2020/src/modules/ngxs-feature.module.mjs +18 -0
- package/esm2020/src/modules/ngxs-root.module.mjs +18 -0
- package/{esm2015/src/operators/of-action.js → esm2020/src/operators/of-action.mjs} +10 -10
- package/{esm2015/src/plugin-manager.js → esm2020/src/plugin-manager.mjs} +4 -4
- package/esm2020/src/public_api.mjs +28 -0
- package/esm2020/src/selectors/create-model-selector.mjs +30 -0
- package/esm2020/src/selectors/create-pick-selector.mjs +16 -0
- package/esm2020/src/selectors/create-property-selectors.mjs +20 -0
- package/esm2020/src/selectors/selector-metadata.mjs +35 -0
- package/esm2020/src/selectors/selector-types.util.mjs +2 -0
- package/esm2020/src/standalone-features/feature-providers.mjs +20 -0
- package/esm2020/src/standalone-features/index.mjs +4 -0
- package/esm2020/src/standalone-features/initializers.mjs +86 -0
- package/esm2020/src/standalone-features/plugin.mjs +20 -0
- package/esm2020/src/standalone-features/provide-states.mjs +26 -0
- package/esm2020/src/standalone-features/provide-store.mjs +26 -0
- package/esm2020/src/standalone-features/root-providers.mjs +47 -0
- package/{esm2015/src/store.js → esm2020/src/store.mjs} +6 -5
- package/esm2020/src/symbols.mjs +65 -0
- package/esm2020/src/utils/store-validators.mjs +25 -0
- package/esm2020/src/utils/utils.mjs +92 -0
- package/fesm2015/{ngxs-store-internals-testing.js → ngxs-store-internals-testing.mjs} +19 -13
- package/fesm2015/ngxs-store-internals-testing.mjs.map +1 -0
- package/fesm2015/{ngxs-store-internals.js → ngxs-store-internals.mjs} +21 -21
- package/fesm2015/ngxs-store-internals.mjs.map +1 -0
- package/fesm2015/{ngxs-store-operators.js → ngxs-store-operators.mjs} +2 -2
- package/fesm2015/ngxs-store-operators.mjs.map +1 -0
- package/fesm2015/ngxs-store.mjs +2454 -0
- package/fesm2015/ngxs-store.mjs.map +1 -0
- package/fesm2020/ngxs-store-internals-testing.mjs +180 -0
- package/fesm2020/ngxs-store-internals-testing.mjs.map +1 -0
- package/fesm2020/ngxs-store-internals.mjs +114 -0
- package/fesm2020/ngxs-store-internals.mjs.map +1 -0
- package/fesm2020/ngxs-store-operators.mjs +202 -0
- package/fesm2020/ngxs-store-operators.mjs.map +1 -0
- package/{fesm2015/ngxs-store.js → fesm2020/ngxs-store.mjs} +1190 -1036
- package/fesm2020/ngxs-store.mjs.map +1 -0
- package/internals/index.d.ts +1 -2
- package/internals/initial-state.d.ts +1 -1
- package/internals/src/symbols.d.ts +4 -1
- package/internals/symbols.d.ts +4 -1
- package/internals/testing/helpers/ngxs-test.component.d.ts +1 -1
- package/internals/testing/symbol.d.ts +2 -2
- package/package.json +49 -12
- package/schematics/collection.json +36 -0
- package/schematics/src/actions/actions.factory.d.ts +3 -0
- package/schematics/src/actions/actions.factory.js +22 -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 +28 -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 +86 -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__ +7 -0
- package/schematics/src/starter-kit/files/store/auth/auth.state.spec.ts__template__ +54 -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__ +11 -0
- package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.actions.ts__template__ +13 -0
- package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.state.spec.ts__template__ +91 -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__ +60 -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__ +38 -0
- package/schematics/src/starter-kit/files/store/store.module.ts__template__ +22 -0
- package/schematics/src/starter-kit/schema.json +18 -0
- package/schematics/src/starter-kit/starter-kit.factory.d.ts +3 -0
- package/schematics/src/starter-kit/starter-kit.factory.js +12 -0
- package/schematics/src/starter-kit/starter-kit.factory.js.map +1 -0
- package/schematics/src/state/files/__name__.state.spec.ts__template__ +24 -0
- package/schematics/src/state/files/__name__.state.ts__template__ +22 -0
- package/schematics/src/state/schema.json +33 -0
- package/schematics/src/state/state.factory.d.ts +3 -0
- package/schematics/src/state/state.factory.js +20 -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__ +25 -0
- package/schematics/src/store/files/__name__.state.ts__template__ +29 -0
- package/schematics/src/store/schema.json +33 -0
- package/schematics/src/store/store.factory.d.ts +3 -0
- package/schematics/src/store/store.factory.js +20 -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 +21 -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 +9 -0
- package/schematics/src/utils/normalize-options.js +24 -0
- package/schematics/src/utils/normalize-options.js.map +1 -0
- package/schematics/src/utils/project.d.ts +16 -0
- package/schematics/src/utils/project.js +40 -0
- package/schematics/src/utils/project.js.map +1 -0
- package/schematics/src/utils/versions.json +3 -0
- package/src/actions/actions.d.ts +2 -2
- package/src/configs/messages.config.d.ts +2 -0
- package/src/decorators/state.d.ts +2 -2
- package/src/execution/symbols.d.ts +8 -2
- package/src/internal/custom-rxjs-subjects.d.ts +1 -1
- package/src/internal/internals.d.ts +5 -5
- package/src/internal/lifecycle-state-manager.d.ts +3 -1
- package/src/internal/state-factory.d.ts +1 -1
- 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/public_api.d.ts +5 -4
- package/src/selectors/selector-types.util.d.ts +3 -3
- package/src/standalone-features/feature-providers.d.ts +7 -0
- package/src/standalone-features/index.d.ts +3 -0
- package/src/standalone-features/initializers.d.ts +29 -0
- package/src/standalone-features/plugin.d.ts +17 -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/symbols.d.ts +5 -8
- package/src/utils/store-validators.d.ts +3 -6
- package/bundles/ngxs-store-internals-testing.umd.js +0 -547
- package/bundles/ngxs-store-internals-testing.umd.js.map +0 -1
- package/bundles/ngxs-store-internals.umd.js +0 -155
- 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 -2960
- package/bundles/ngxs-store.umd.js.map +0 -1
- package/esm2015/internals/angular.js +0 -13
- package/esm2015/internals/index.js +0 -6
- package/esm2015/internals/initial-state.js +0 -17
- package/esm2015/internals/internal-tokens.js +0 -5
- 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/symbol.js +0 -2
- package/esm2015/operators/patch.js +0 -21
- package/esm2015/src/actions/actions.js +0 -22
- package/esm2015/src/configs/messages.config.js +0 -36
- package/esm2015/src/decorators/selector/selector.js +0 -32
- package/esm2015/src/decorators/state.js +0 -38
- package/esm2015/src/execution/symbols.js +0 -23
- 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 -70
- package/esm2015/src/internal/state-factory.js +0 -291
- package/esm2015/src/internal/state-operators.js +0 -20
- package/esm2015/src/internal/state-stream.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/public_api.js +0 -27
- package/esm2015/src/selectors/create-model-selector.js +0 -28
- package/esm2015/src/selectors/create-pick-selector.js +0 -14
- package/esm2015/src/selectors/create-property-selectors.js +0 -18
- package/esm2015/src/selectors/selector-metadata.js +0 -30
- package/esm2015/src/selectors/selector-types.util.js +0 -2
- package/esm2015/src/symbols.js +0 -58
- package/esm2015/src/utils/store-validators.js +0 -27
- package/esm2015/src/utils/utils.js +0 -92
- package/fesm2015/ngxs-store-internals-testing.js.map +0 -1
- 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/angular.d.ts +0 -1
- package/internals/ngxs-store-internals.d.ts +0 -5
- package/internals/package.json +0 -10
- 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/{esm2015/index.js → esm2020/index.mjs} +0 -0
- /package/{esm2015/internals/memoize.js → esm2020/internals/memoize.mjs} +0 -0
- /package/{esm2015/internals/ngxs-store-internals.js → esm2020/internals/ngxs-store-internals.mjs} +0 -0
- /package/{esm2015/internals/testing/index.js → esm2020/internals/testing/index.mjs} +0 -0
- /package/{esm2015/internals/testing/ngxs-store-internals-testing.js → esm2020/internals/testing/ngxs-store-internals-testing.mjs} +0 -0
- /package/{esm2015/internals/testing/skip-console-logging.js → esm2020/internals/testing/skip-console-logging.mjs} +0 -0
- /package/{esm2015/ngxs-store.js → esm2020/ngxs-store.mjs} +0 -0
- /package/{esm2015/operators/append.js → esm2020/operators/append.mjs} +0 -0
- /package/{esm2015/operators/compose.js → esm2020/operators/compose.mjs} +0 -0
- /package/{esm2015/operators/iif.js → esm2020/operators/iif.mjs} +0 -0
- /package/{esm2015/operators/index.js → esm2020/operators/index.mjs} +0 -0
- /package/{esm2015/operators/insert-item.js → esm2020/operators/insert-item.mjs} +0 -0
- /package/{esm2015/operators/ngxs-store-operators.js → esm2020/operators/ngxs-store-operators.mjs} +0 -0
- /package/{esm2015/operators/remove-item.js → esm2020/operators/remove-item.mjs} +0 -0
- /package/{esm2015/operators/types.js → esm2020/operators/types.mjs} +0 -0
- /package/{esm2015/operators/update-item.js → esm2020/operators/update-item.mjs} +0 -0
- /package/{esm2015/operators/utils.js → esm2020/operators/utils.mjs} +0 -0
- /package/{esm2015/src/actions/symbols.js → esm2020/src/actions/symbols.mjs} +0 -0
- /package/{esm2015/src/decorators/action.js → esm2020/src/decorators/action.mjs} +0 -0
- /package/{esm2015/src/decorators/select/select.js → esm2020/src/decorators/select/select.mjs} +0 -0
- /package/{esm2015/src/decorators/select/symbols.js → esm2020/src/decorators/select/symbols.mjs} +0 -0
- /package/{esm2015/src/decorators/selector/symbols.js → esm2020/src/decorators/selector/symbols.mjs} +0 -0
- /package/{esm2015/src/decorators/selector-options.js → esm2020/src/decorators/selector-options.mjs} +0 -0
- /package/{esm2015/src/dev-features/symbols.js → esm2020/src/dev-features/symbols.mjs} +0 -0
- /package/{esm2015/src/operators/leave-ngxs.js → esm2020/src/operators/leave-ngxs.mjs} +0 -0
- /package/{esm2015/src/plugin_api.js → esm2020/src/plugin_api.mjs} +0 -0
- /package/{esm2015/src/private_api.js → esm2020/src/private_api.mjs} +0 -0
- /package/{esm2015/src/public_to_deprecate.js → esm2020/src/public_to_deprecate.mjs} +0 -0
- /package/{esm2015/src/selectors/create-selector.js → esm2020/src/selectors/create-selector.mjs} +0 -0
- /package/{esm2015/src/selectors/index.js → esm2020/src/selectors/index.mjs} +0 -0
- /package/{esm2015/src/selectors/selector-checks.util.js → esm2020/src/selectors/selector-checks.util.mjs} +0 -0
- /package/{esm2015/src/selectors/selector-models.js → esm2020/src/selectors/selector-models.mjs} +0 -0
- /package/{esm2015/src/selectors/selector-utils.js → esm2020/src/selectors/selector-utils.mjs} +0 -0
- /package/{esm2015/src/state-token/state-token.js → esm2020/src/state-token/state-token.mjs} +0 -0
- /package/{esm2015/src/state-token/symbols.js → esm2020/src/state-token/symbols.mjs} +0 -0
- /package/{esm2015/src/utils/compose.js → esm2020/src/utils/compose.mjs} +0 -0
- /package/{esm2015/src/utils/freeze.js → esm2020/src/utils/freeze.mjs} +0 -0
|
@@ -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,22 @@
|
|
|
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
|
+
if ((0, properties_1.isEmpty)(options.name)) {
|
|
11
|
+
throw new schematics_1.SchematicsException('Invalid options, "name" is required.');
|
|
12
|
+
}
|
|
13
|
+
const normalizedOptions = (0, normalize_options_1.normalizeBaseOptions)(options);
|
|
14
|
+
const path = options.flat
|
|
15
|
+
? normalizedOptions.path
|
|
16
|
+
: (0, path_1.join)(normalizedOptions.path, normalizedOptions.name);
|
|
17
|
+
return (0, generate_utils_1.generateFiles)((0, schematics_1.url)('./files'), path, {
|
|
18
|
+
name: normalizedOptions.name
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
exports.actions = actions;
|
|
22
|
+
//# 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,2DAA4E;AAE5E,4DAAwD;AACxD,2DAAqD;AACrD,kEAAkE;AAClE,+BAA4B;AAE5B,SAAgB,OAAO,CAAC,OAAsB;IAC5C,IAAI,IAAA,oBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACzB,MAAM,IAAI,gCAAmB,CAAC,sCAAsC,CAAC,CAAC;KACvE;IAED,MAAM,iBAAiB,GAAG,IAAA,wCAAoB,EAAC,OAAO,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;QACvB,CAAC,CAAC,iBAAiB,CAAC,IAAI;QACxB,CAAC,CAAC,IAAA,WAAI,EAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEzD,OAAO,IAAA,8BAAa,EAAC,IAAA,gBAAG,EAAC,SAAS,CAAC,EAAE,IAAI,EAAE;QACzC,IAAI,EAAE,iBAAiB,CAAC,IAAI;KAC7B,CAAC,CAAC;AACL,CAAC;AAbD,0BAaC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
},
|
|
16
|
+
"path": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"format": "path",
|
|
19
|
+
"description": "The path to create the actions."
|
|
20
|
+
},
|
|
21
|
+
"flat": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"default": false,
|
|
24
|
+
"description": "Flag to indicate if a dir is created."
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"required": ["name"]
|
|
28
|
+
}
|
|
@@ -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, selectorOptions: { suppressErrors: false, injectContainerState: 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 declare type NormalizedNgxsPackageSchema = {
|
|
5
|
+
skipInstall: boolean;
|
|
6
|
+
plugins: LIBRARIES[];
|
|
7
|
+
project: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function ngAdd(options: NgxsPackageSchema): Rule;
|
|
@@ -0,0 +1,86 @@
|
|
|
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
|
+
const isStandalone = (0, ng_ast_utils_1.isStandaloneApp)(host, mainFile);
|
|
66
|
+
if (isStandalone) {
|
|
67
|
+
return (0, add_declaration_1.addDeclarationToStandaloneApp)(schema);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
return (0, add_declaration_1.addDeclarationToNonStandaloneApp)(schema);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
function normalizeSchema(host, schema) {
|
|
75
|
+
var _a, _b;
|
|
76
|
+
const projectName = (_a = (0, project_2.getProject)(host, schema.project)) === null || _a === void 0 ? void 0 : _a.name;
|
|
77
|
+
if (!projectName) {
|
|
78
|
+
throw new schematics_1.SchematicsException(`Project "${schema.project}" does not exist.`);
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
skipInstall: !!schema.skipInstall,
|
|
82
|
+
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 : [],
|
|
83
|
+
project: projectName
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//# 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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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "SchematicsNgxsNgAdd",
|
|
4
|
+
"title": "Ngxs NgAdd Options Schema",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"skipInstall": {
|
|
8
|
+
"type": "boolean",
|
|
9
|
+
"description": "The flag for skipping packages installation.",
|
|
10
|
+
"default": false,
|
|
11
|
+
"x-prompt": "Do you want to skip packages installation?"
|
|
12
|
+
},
|
|
13
|
+
"plugins": {
|
|
14
|
+
"type": "array",
|
|
15
|
+
"description": "Additional plugins to be added to the workspace.",
|
|
16
|
+
"minItems": 0,
|
|
17
|
+
"maxItems": 7,
|
|
18
|
+
"items": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"enum": [
|
|
21
|
+
"@ngxs/devtools-plugin",
|
|
22
|
+
"@ngxs/form-plugin",
|
|
23
|
+
"@ngxs/hmr-plugin",
|
|
24
|
+
"@ngxs/logger-plugin",
|
|
25
|
+
"@ngxs/router-plugin",
|
|
26
|
+
"@ngxs/storage-plugin",
|
|
27
|
+
"@ngxs/websocket-plugin"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"default": [],
|
|
31
|
+
"x-prompt": {
|
|
32
|
+
"message": "Choose any other @ngxs plugins you would like to add to the workspace.",
|
|
33
|
+
"type": "list",
|
|
34
|
+
"items": [
|
|
35
|
+
{
|
|
36
|
+
"value": "@ngxs/devtools-plugin",
|
|
37
|
+
"label": "Ngxs developer tools plugin"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"value": "@ngxs/form-plugin",
|
|
41
|
+
"label": "Ngxs form plugin"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"value": "@ngxs/hmr-plugin",
|
|
45
|
+
"label": "Ngxs HMR plugin"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"value": "@ngxs/logger-plugin",
|
|
49
|
+
"label": "Ngxs logger plugin"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"value": "@ngxs/router-plugin",
|
|
53
|
+
"label": "Ngxs router plugin"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"value": "@ngxs/storage-plugin",
|
|
57
|
+
"label": "Ngxs storage plugin"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"value": "@ngxs/websocket-plugin",
|
|
61
|
+
"label": "Ngxs websocket plugin"
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"project": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"description": "The name of the project."
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"required": []
|
|
72
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { NgxsModule, Store } from '@ngxs/store';
|
|
2
|
+
import { TestBed } from '@angular/core/testing';
|
|
3
|
+
import { AuthenticationStateModel, AuthState } from './auth.state';
|
|
4
|
+
import { SetAuthData } from './auth.actions';
|
|
5
|
+
|
|
6
|
+
describe('[TEST]: AuthStore', () => {
|
|
7
|
+
let store: Store;
|
|
8
|
+
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
TestBed.configureTestingModule({
|
|
11
|
+
imports: [NgxsModule.forRoot([AuthState])],
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
store = TestBed.inject(Store);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it('Should be correct dispatch and value is empty', () => {
|
|
18
|
+
// Arrange
|
|
19
|
+
const Authentication: AuthenticationStateModel = {
|
|
20
|
+
id: '',
|
|
21
|
+
firstName: '',
|
|
22
|
+
lastName: '',
|
|
23
|
+
fullName: '',
|
|
24
|
+
email: '',
|
|
25
|
+
roles: []
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// Act
|
|
29
|
+
store.dispatch(new SetAuthData(Authentication));
|
|
30
|
+
const actual = store.selectSnapshot<AuthenticationStateModel>(AuthState.getAuthData);
|
|
31
|
+
|
|
32
|
+
// Assert
|
|
33
|
+
expect(actual).toEqual(Authentication);
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
it('Should be correct dispatch and next value is correct completed', () => {
|
|
37
|
+
// Arrange
|
|
38
|
+
const authentication: AuthenticationStateModel = {
|
|
39
|
+
id: '12',
|
|
40
|
+
firstName: 'Adam',
|
|
41
|
+
lastName: 'Gordon',
|
|
42
|
+
fullName: 'Adam Gordon',
|
|
43
|
+
email: 'agordon@google.com',
|
|
44
|
+
roles: ['ADMIN']
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
// Act
|
|
48
|
+
store.dispatch(new SetAuthData(authentication));
|
|
49
|
+
const actual = store.selectSnapshot<AuthenticationStateModel>(AuthState.getAuthData);
|
|
50
|
+
|
|
51
|
+
// Assert
|
|
52
|
+
expect(actual).toEqual(authentication);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Action, Selector, State, StateContext } from '@ngxs/store';
|
|
3
|
+
import { SetAuthData } from './auth.actions';
|
|
4
|
+
|
|
5
|
+
export interface AuthenticationStateModel {
|
|
6
|
+
id: string;
|
|
7
|
+
firstName: string;
|
|
8
|
+
lastName: string;
|
|
9
|
+
fullName: string;
|
|
10
|
+
email: string;
|
|
11
|
+
roles: string[];
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@State<AuthenticationStateModel>({
|
|
15
|
+
name: 'authState',
|
|
16
|
+
defaults: {
|
|
17
|
+
id: '',
|
|
18
|
+
firstName: '',
|
|
19
|
+
lastName: '',
|
|
20
|
+
fullName: '',
|
|
21
|
+
email: '',
|
|
22
|
+
roles: []
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
@Injectable()
|
|
26
|
+
export class AuthState {
|
|
27
|
+
@Selector()
|
|
28
|
+
public static getAuthData(state: AuthenticationStateModel): AuthenticationStateModel {
|
|
29
|
+
return AuthState.getInstanceState(state);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
private static setInstanceState(state: AuthenticationStateModel): AuthenticationStateModel {
|
|
33
|
+
return { ...state };
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
private static getInstanceState(state: AuthenticationStateModel): AuthenticationStateModel {
|
|
37
|
+
return { ...state };
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@Action(SetAuthData)
|
|
41
|
+
public setAuthData(
|
|
42
|
+
{ setState }: StateContext<AuthenticationStateModel>,
|
|
43
|
+
{ payload }: SetAuthData
|
|
44
|
+
) {
|
|
45
|
+
setState(AuthState.setInstanceState(payload));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { State } from '@ngxs/store';
|
|
2
|
+
import { DictionaryState } from './states/dictionary/dictionary.state';
|
|
3
|
+
import { UserState } from './states/user/user.state';
|
|
4
|
+
|
|
5
|
+
export const DashboardStates = [DictionaryState, UserState];
|
|
6
|
+
|
|
7
|
+
@State({
|
|
8
|
+
name: 'dashboardState',
|
|
9
|
+
children: DashboardStates
|
|
10
|
+
})
|
|
11
|
+
export class DashboardState {}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DictionaryStateModel } from './dictionary.state';
|
|
2
|
+
|
|
3
|
+
export class SetDictionaryData {
|
|
4
|
+
public static readonly type = '[Dictionary] Set dictionary data action';
|
|
5
|
+
|
|
6
|
+
constructor(public payload: DictionaryStateModel) {}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export class DictionaryReset {
|
|
10
|
+
public static readonly type = '[Dictionary] Reset dictionary action';
|
|
11
|
+
|
|
12
|
+
constructor() {}
|
|
13
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { NgxsModule, Store } from '@ngxs/store';
|
|
2
|
+
import { TestBed } from '@angular/core/testing';
|
|
3
|
+
import { DictionaryState, DictionaryStateModel } from './dictionary.state';
|
|
4
|
+
import { DictionaryReset, SetDictionaryData } from './dictionary.actions';
|
|
5
|
+
|
|
6
|
+
const data = [
|
|
7
|
+
{
|
|
8
|
+
id: '323',
|
|
9
|
+
departmentCode: '2392',
|
|
10
|
+
departmentName: 'Main office',
|
|
11
|
+
mainCuratorUserId: 'admin',
|
|
12
|
+
mainCuratorName: 'Adam Gordon',
|
|
13
|
+
backupCuratorUserId: 'manager',
|
|
14
|
+
backupCuratorName: 'Alexander Chester'
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
id: '322',
|
|
18
|
+
departmentCode: '2999',
|
|
19
|
+
departmentName: 'New York office',
|
|
20
|
+
mainCuratorUserId: 'manager',
|
|
21
|
+
mainCuratorName: 'Alexander Chester',
|
|
22
|
+
backupCuratorUserId: 'manager',
|
|
23
|
+
backupCuratorName: 'Amanda Brian'
|
|
24
|
+
}
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
describe('[TEST]: Dictionary state', () => {
|
|
28
|
+
let store: Store;
|
|
29
|
+
|
|
30
|
+
beforeEach(() => {
|
|
31
|
+
TestBed.configureTestingModule({
|
|
32
|
+
imports: [NgxsModule.forRoot([DictionaryState])],
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
store = TestBed.inject(Store);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it('Should be correct dispatch and dictionary is empty', () => {
|
|
39
|
+
// Arrange
|
|
40
|
+
const dictionary: DictionaryStateModel = {
|
|
41
|
+
content: [],
|
|
42
|
+
page: 0,
|
|
43
|
+
size: 0,
|
|
44
|
+
totalPages: 0,
|
|
45
|
+
totalElements: 0
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
// Act
|
|
49
|
+
store.dispatch(new SetDictionaryData(dictionary));
|
|
50
|
+
const actual = store.selectSnapshot(DictionaryState.getDictionaryState);
|
|
51
|
+
|
|
52
|
+
// Assert
|
|
53
|
+
expect(actual).toEqual(dictionary);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it('Should be state is filled DictionaryStateModel', () => {
|
|
57
|
+
// Arrange
|
|
58
|
+
const dictionary: DictionaryStateModel = {
|
|
59
|
+
content: data,
|
|
60
|
+
page: 0,
|
|
61
|
+
size: 20,
|
|
62
|
+
totalPages: 2,
|
|
63
|
+
totalElements: 1
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
// Act
|
|
67
|
+
store.dispatch(new SetDictionaryData(dictionary));
|
|
68
|
+
const actual = store.selectSnapshot(DictionaryState.getDictionaryState);
|
|
69
|
+
|
|
70
|
+
// Assert
|
|
71
|
+
expect(actual).toEqual(dictionary);
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
it('should be reset state', function () {
|
|
75
|
+
// Arrange
|
|
76
|
+
const dictionary: DictionaryStateModel = {
|
|
77
|
+
content: [],
|
|
78
|
+
page: 0,
|
|
79
|
+
size: 0,
|
|
80
|
+
totalPages: 0,
|
|
81
|
+
totalElements: 0
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
// Act
|
|
85
|
+
store.dispatch(new DictionaryReset());
|
|
86
|
+
const actual = store.selectSnapshot(DictionaryState.getDictionaryState);
|
|
87
|
+
|
|
88
|
+
// Assert
|
|
89
|
+
expect(actual).toEqual(dictionary);
|
|
90
|
+
});
|
|
91
|
+
});
|