@ngxs/store 3.8.1 → 3.8.2-dev.master-0fd1fe5
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__ +46 -0
- package/schematics/src/starter-kit/files/store/auth/auth.state.ts__template__ +45 -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__ +77 -0
- package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.state.ts__template__ +60 -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__ +54 -0
- package/schematics/src/starter-kit/files/store/dashboard/states/user/user.state.ts__template__ +40 -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__ +22 -0
- package/schematics/src/state/files/__name__.state.ts__template__ +20 -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__ +24 -0
- package/schematics/src/store/files/__name__.state.ts__template__ +27 -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
|
@@ -34,9 +34,9 @@ export class DispatchOutsideZoneNgxsExecutionStrategy {
|
|
|
34
34
|
return func();
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
/** @nocollapse */ DispatchOutsideZoneNgxsExecutionStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
38
|
-
/** @nocollapse */ DispatchOutsideZoneNgxsExecutionStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
37
|
+
/** @nocollapse */ DispatchOutsideZoneNgxsExecutionStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DispatchOutsideZoneNgxsExecutionStrategy, deps: [{ token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
+
/** @nocollapse */ DispatchOutsideZoneNgxsExecutionStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DispatchOutsideZoneNgxsExecutionStrategy, providedIn: 'root' });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DispatchOutsideZoneNgxsExecutionStrategy, decorators: [{
|
|
40
40
|
type: Injectable,
|
|
41
41
|
args: [{ providedIn: 'root' }]
|
|
42
42
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: undefined, decorators: [{
|
|
@@ -54,4 +54,4 @@ function verifyZoneIsNotNooped(ngZone) {
|
|
|
54
54
|
}
|
|
55
55
|
console.warn(getZoneWarningMessage());
|
|
56
56
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2gtb3V0c2lkZS16b25lLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2V4ZWN1dGlvbi9kaXNwYXRjaC1vdXRzaWRlLXpvbmUtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUduRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLHdDQUF3QztJQUNuRCxZQUFvQixPQUFlLEVBQStCLFdBQW1CO1FBQWpFLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFBK0IsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkYsOEVBQThFO1FBQzlFLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUU7WUFDakQscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEM7UUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLGdCQUFnQixDQUFJLElBQWE7UUFDdkMsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUU7WUFDNUIsT0FBTyxJQUFJLEVBQUUsQ0FBQztTQUNmO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8saUJBQWlCLENBQUksSUFBYTtRQUN4QyxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0M7UUFDRCxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7O3dKQWhDVSx3Q0FBd0Msd0NBQ04sV0FBVzs0SkFEN0Msd0NBQXdDLGNBRDNCLE1BQU07MkZBQ25CLHdDQUF3QztrQkFEcEQsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUVNLE1BQU07MkJBQUMsV0FBVzs7QUFrQzFELG1GQUFtRjtBQUNuRiw2Q0FBNkM7QUFDN0MsU0FBUyxxQkFBcUIsQ0FBQyxNQUFjO0lBQzNDLDREQUE0RDtJQUM1RCxpRUFBaUU7SUFDakUsOERBQThEO0lBQzlELElBQUksTUFBTSxZQUFZLE1BQU0sRUFBRTtRQUM1QixPQUFPO0tBQ1I7SUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9zeW1ib2xzJztcbmltcG9ydCB7IGdldFpvbmVXYXJuaW5nTWVzc2FnZSB9IGZyb20gJy4uL2NvbmZpZ3MvbWVzc2FnZXMuY29uZmlnJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IGltcGxlbWVudHMgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgX3BsYXRmb3JtSWQ6IHN0cmluZykge1xuICAgIC8vIENhcmV0YWtlciBub3RlOiB3ZSBoYXZlIHN0aWxsIGxlZnQgdGhlIGB0eXBlb2ZgIGNvbmRpdGlvbiBpbiBvcmRlciB0byBhdm9pZFxuICAgIC8vIGNyZWF0aW5nIGEgYnJlYWtpbmcgY2hhbmdlIGZvciBwcm9qZWN0cyB0aGF0IHN0aWxsIHVzZSB0aGUgVmlldyBFbmdpbmUuXG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgICAgdmVyaWZ5Wm9uZUlzTm90Tm9vcGVkKF9uZ1pvbmUpO1xuICAgIH1cbiAgfVxuXG4gIGVudGVyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLl9wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuIHRoaXMucnVuSW5zaWRlQW5ndWxhcihmdW5jKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucnVuT3V0c2lkZUFuZ3VsYXIoZnVuYyk7XG4gIH1cblxuICBsZWF2ZTxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgcmV0dXJuIHRoaXMucnVuSW5zaWRlQW5ndWxhcihmdW5jKTtcbiAgfVxuXG4gIHByaXZhdGUgcnVuSW5zaWRlQW5ndWxhcjxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgaWYgKE5nWm9uZS5pc0luQW5ndWxhclpvbmUoKSkge1xuICAgICAgcmV0dXJuIGZ1bmMoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX25nWm9uZS5ydW4oZnVuYyk7XG4gIH1cblxuICBwcml2YXRlIHJ1bk91dHNpZGVBbmd1bGFyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICBpZiAoTmdab25lLmlzSW5Bbmd1bGFyWm9uZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKGZ1bmMpO1xuICAgIH1cbiAgICByZXR1cm4gZnVuYygpO1xuICB9XG59XG5cbi8vIENhcmV0YWtlciBub3RlOiB0aGlzIHNob3VsZCBleGlzdCBhcyBhIHNlcGFyYXRlIGZ1bmN0aW9uIGFuZCBub3QgYSBjbGFzcyBtZXRob2QsXG4vLyBzaW5jZSBjbGFzcyBtZXRob2RzIGFyZSBub3QgdHJlZS1zaGFrYWJsZS5cbmZ1bmN0aW9uIHZlcmlmeVpvbmVJc05vdE5vb3BlZChuZ1pvbmU6IE5nWm9uZSk6IHZvaWQge1xuICAvLyBgTm9vcE5nWm9uZWAgaXMgbm90IGV4cG9zZWQgcHVibGljbHkgYXMgaXQgZG9lc24ndCBleHBlY3RcbiAgLy8gdG8gYmUgdXNlZCBvdXRzaWRlIG9mIHRoZSBjb3JlIEFuZ3VsYXIgY29kZSwgdGh1cyB3ZSBqdXN0IGhhdmVcbiAgLy8gdG8gY2hlY2sgaWYgdGhlIHpvbmUgZG9lc24ndCBleHRlbmQgb3IgaW5zdGFuY2VvZiBgTmdab25lYC5cbiAgaWYgKG5nWm9uZSBpbnN0YW5jZW9mIE5nWm9uZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnNvbGUud2FybihnZXRab25lV2FybmluZ01lc3NhZ2UoKSk7XG59XG4iXX0=
|
|
@@ -12,13 +12,13 @@ export class InternalNgxsExecutionStrategy {
|
|
|
12
12
|
return this._executionStrategy.leave(func);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
/** @nocollapse */ InternalNgxsExecutionStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
16
|
-
/** @nocollapse */ InternalNgxsExecutionStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
15
|
+
/** @nocollapse */ InternalNgxsExecutionStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalNgxsExecutionStrategy, deps: [{ token: NGXS_EXECUTION_STRATEGY }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
/** @nocollapse */ InternalNgxsExecutionStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalNgxsExecutionStrategy, providedIn: 'root' });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalNgxsExecutionStrategy, decorators: [{
|
|
18
18
|
type: Injectable,
|
|
19
19
|
args: [{ providedIn: 'root' }]
|
|
20
20
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
21
21
|
type: Inject,
|
|
22
22
|
args: [NGXS_EXECUTION_STRATEGY]
|
|
23
23
|
}] }]; } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZXhlY3V0aW9uL2ludGVybmFsLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBeUIsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRzNFLE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFDMkMsa0JBQXlDO1FBQXpDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7SUFDakYsQ0FBQztJQUVKLEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7OzZJQVhVLDZCQUE2QixrQkFFOUIsdUJBQXVCO2lKQUZ0Qiw2QkFBNkIsY0FEaEIsTUFBTTsyRkFDbkIsNkJBQTZCO2tCQUR6QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBRzdCLE1BQU07MkJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5neHNFeGVjdXRpb25TdHJhdGVneSwgTkdYU19FWEVDVVRJT05fU1RSQVRFR1kgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IGltcGxlbWVudHMgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChOR1hTX0VYRUNVVElPTl9TVFJBVEVHWSkgcHJpdmF0ZSBfZXhlY3V0aW9uU3RyYXRlZ3k6IE5neHNFeGVjdXRpb25TdHJhdGVneVxuICApIHt9XG5cbiAgZW50ZXI8VD4oZnVuYzogKCkgPT4gVCk6IFQge1xuICAgIHJldHVybiB0aGlzLl9leGVjdXRpb25TdHJhdGVneS5lbnRlcihmdW5jKTtcbiAgfVxuXG4gIGxlYXZlPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fZXhlY3V0aW9uU3RyYXRlZ3kubGVhdmUoZnVuYyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -8,10 +8,10 @@ export class NoopNgxsExecutionStrategy {
|
|
|
8
8
|
return func();
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
/** @nocollapse */ NoopNgxsExecutionStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
12
|
-
/** @nocollapse */ NoopNgxsExecutionStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
+
/** @nocollapse */ NoopNgxsExecutionStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NoopNgxsExecutionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
+
/** @nocollapse */ NoopNgxsExecutionStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NoopNgxsExecutionStrategy, providedIn: 'root' });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NoopNgxsExecutionStrategy, decorators: [{
|
|
14
14
|
type: Injectable,
|
|
15
15
|
args: [{ providedIn: 'root' }]
|
|
16
16
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9leGVjdXRpb24vbm9vcC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs7eUlBUFUseUJBQXlCOzZJQUF6Qix5QkFBeUIsY0FEWixNQUFNOzJGQUNuQix5QkFBeUI7a0JBRHJDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgaW1wbGVtZW50cyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kge1xuICBlbnRlcjxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgcmV0dXJuIGZ1bmMoKTtcbiAgfVxuXG4gIGxlYXZlPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICByZXR1cm4gZnVuYygpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { InjectionToken, inject, INJECTOR, ɵglobal } from '@angular/core';
|
|
2
|
+
import { NoopNgxsExecutionStrategy } from './noop-ngxs-execution-strategy';
|
|
3
|
+
import { DispatchOutsideZoneNgxsExecutionStrategy } from './dispatch-outside-zone-ngxs-execution-strategy';
|
|
4
|
+
const NG_DEV_MODE = typeof ngDevMode === 'undefined' || ngDevMode;
|
|
5
|
+
/**
|
|
6
|
+
* Consumers have the option to utilize the execution strategy provided by
|
|
7
|
+
* `NgxsModule.forRoot({executionStrategy})` or `provideStore([], {executionStrategy})`.
|
|
8
|
+
*/
|
|
9
|
+
export const CUSTOM_NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE ? 'CUSTOM_NGXS_EXECUTION_STRATEGY' : '');
|
|
10
|
+
/**
|
|
11
|
+
* The injection token is used internally to resolve an instance of the execution
|
|
12
|
+
* strategy. It checks whether consumers have provided their own `executionStrategy`
|
|
13
|
+
* and also verifies if we are operating in a zone-aware environment.
|
|
14
|
+
*/
|
|
15
|
+
export const NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE ? 'NGXS_EXECUTION_STRATEGY' : '', {
|
|
16
|
+
providedIn: 'root',
|
|
17
|
+
factory: () => {
|
|
18
|
+
const injector = inject(INJECTOR);
|
|
19
|
+
const executionStrategy = injector.get(CUSTOM_NGXS_EXECUTION_STRATEGY);
|
|
20
|
+
return executionStrategy
|
|
21
|
+
? injector.get(executionStrategy)
|
|
22
|
+
: injector.get(typeof ɵglobal.Zone !== 'undefined'
|
|
23
|
+
? DispatchOutsideZoneNgxsExecutionStrategy
|
|
24
|
+
: NoopNgxsExecutionStrategy);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9leGVjdXRpb24vc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQVEsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTNHLE1BQU0sV0FBVyxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUM7QUFFbEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxjQUFjLENBRTlELFdBQVcsQ0FBQyxDQUFDLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRXZEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FDdkQsV0FBVyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUM1QztJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDdkUsT0FBTyxpQkFBaUI7WUFDdEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUM7WUFDakMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ1YsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVc7Z0JBQ2pDLENBQUMsQ0FBQyx3Q0FBd0M7Z0JBQzFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FDOUIsQ0FBQztJQUNSLENBQUM7Q0FDRixDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0LCBJTkpFQ1RPUiwgVHlwZSwgybVnbG9iYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vbm9vcC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5pbXBvcnQgeyBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9kaXNwYXRjaC1vdXRzaWRlLXpvbmUtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZTtcblxuLyoqXG4gKiBDb25zdW1lcnMgaGF2ZSB0aGUgb3B0aW9uIHRvIHV0aWxpemUgdGhlIGV4ZWN1dGlvbiBzdHJhdGVneSBwcm92aWRlZCBieVxuICogYE5neHNNb2R1bGUuZm9yUm9vdCh7ZXhlY3V0aW9uU3RyYXRlZ3l9KWAgb3IgYHByb3ZpZGVTdG9yZShbXSwge2V4ZWN1dGlvblN0cmF0ZWd5fSlgLlxuICovXG5leHBvcnQgY29uc3QgQ1VTVE9NX05HWFNfRVhFQ1VUSU9OX1NUUkFURUdZID0gbmV3IEluamVjdGlvblRva2VuPFxuICBUeXBlPE5neHNFeGVjdXRpb25TdHJhdGVneT4gfCB1bmRlZmluZWRcbj4oTkdfREVWX01PREUgPyAnQ1VTVE9NX05HWFNfRVhFQ1VUSU9OX1NUUkFURUdZJyA6ICcnKTtcblxuLyoqXG4gKiBUaGUgaW5qZWN0aW9uIHRva2VuIGlzIHVzZWQgaW50ZXJuYWxseSB0byByZXNvbHZlIGFuIGluc3RhbmNlIG9mIHRoZSBleGVjdXRpb25cbiAqIHN0cmF0ZWd5LiBJdCBjaGVja3Mgd2hldGhlciBjb25zdW1lcnMgaGF2ZSBwcm92aWRlZCB0aGVpciBvd24gYGV4ZWN1dGlvblN0cmF0ZWd5YFxuICogYW5kIGFsc28gdmVyaWZpZXMgaWYgd2UgYXJlIG9wZXJhdGluZyBpbiBhIHpvbmUtYXdhcmUgZW52aXJvbm1lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBOR1hTX0VYRUNVVElPTl9TVFJBVEVHWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3k+KFxuICBOR19ERVZfTU9ERSA/ICdOR1hTX0VYRUNVVElPTl9TVFJBVEVHWScgOiAnJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgICBjb25zdCBpbmplY3RvciA9IGluamVjdChJTkpFQ1RPUik7XG4gICAgICBjb25zdCBleGVjdXRpb25TdHJhdGVneSA9IGluamVjdG9yLmdldChDVVNUT01fTkdYU19FWEVDVVRJT05fU1RSQVRFR1kpO1xuICAgICAgcmV0dXJuIGV4ZWN1dGlvblN0cmF0ZWd5XG4gICAgICAgID8gaW5qZWN0b3IuZ2V0KGV4ZWN1dGlvblN0cmF0ZWd5KVxuICAgICAgICA6IGluamVjdG9yLmdldChcbiAgICAgICAgICAgIHR5cGVvZiDJtWdsb2JhbC5ab25lICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICA/IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3lcbiAgICAgICAgICAgICAgOiBOb29wTmd4c0V4ZWN1dGlvblN0cmF0ZWd5XG4gICAgICAgICAgKTtcbiAgICB9XG4gIH1cbik7XG5cbi8qXG4gKiBFeGVjdXRpb24gc3RyYXRlZ3kgaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IHtcbiAgZW50ZXI8VD4oZnVuYzogKCkgPT4gVCk6IFQ7XG4gIGxlYXZlPFQ+KGZ1bmM6ICgpID0+IFQpOiBUO1xufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
2
2
|
/**
|
|
3
3
|
* This wraps the provided function, and will enforce the following:
|
|
4
4
|
* - The calls will execute in the order that they are made
|
|
@@ -89,4 +89,4 @@ export class OrderedBehaviorSubject extends BehaviorSubject {
|
|
|
89
89
|
this._orderedNext(value);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJ4anMtc3ViamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvaW50ZXJuYWwvY3VzdG9tLXJ4anMtc3ViamVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxTQUFTLHFCQUFxQixDQUFzQixTQUFtQztJQUNyRixNQUFNLFVBQVUsR0FBWSxFQUFFLENBQUM7SUFDL0IsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQzVCLE9BQU8sU0FBUyxhQUFhLENBQUMsR0FBRyxJQUFXO1FBQzFDLElBQUksZUFBZSxFQUFFO1lBQ25CLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekIsT0FBTztTQUNSO1FBQ0QsZUFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNuQixPQUFPLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN0QyxZQUFZLElBQUksU0FBUyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7U0FDNUM7UUFDRCxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sT0FBTyxjQUFrQixTQUFRLE9BQVU7SUFBakQ7O1FBQ1UsaUJBQVksR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLEtBQVMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBS3BGLENBQUM7SUFIQyxJQUFJLENBQUMsS0FBUztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBRUQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFNLE9BQU8sc0JBQTBCLFNBQVEsZUFBa0I7SUFJL0QsWUFBWSxLQUFRO1FBQ2xCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUpQLGlCQUFZLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxLQUFRLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUs1RSxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQVE7UUFDWCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFRoaXMgd3JhcHMgdGhlIHByb3ZpZGVkIGZ1bmN0aW9uLCBhbmQgd2lsbCBlbmZvcmNlIHRoZSBmb2xsb3dpbmc6XG4gKiAtIFRoZSBjYWxscyB3aWxsIGV4ZWN1dGUgaW4gdGhlIG9yZGVyIHRoYXQgdGhleSBhcmUgbWFkZVxuICogLSBBIGNhbGwgd2lsbCBvbmx5IGJlIGluaXRpYXRlZCB3aGVuIHRoZSBwcmV2aW91cyBjYWxsIGhhcyBjb21wbGV0ZWRcbiAqIC0gSWYgdGhlcmUgaXMgYSBjYWxsIGN1cnJlbnRseSBleGVjdXRpbmcgdGhlbiB0aGUgbmV3IGNhbGwgd2lsbCBiZSBhZGRlZFxuICogICB0byB0aGUgcXVldWUgYW5kIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBpbW1lZGlhdGVseVxuICpcbiAqIE5PVEU6IFRoZSBmb2xsb3dpbmcgYXNzdW1wdGlvbnMgYWJvdXQgdGhlIG9wZXJhdGlvbiBtdXN0IGhvbGQgdHJ1ZTpcbiAqIC0gVGhlIG9wZXJhdGlvbiBpcyBzeW5jaHJvbm91cyBpbiBuYXR1cmVcbiAqIC0gSWYgYW55IGFzeW5jaHJvbm91cyBzaWRlIGVmZmVjdHMgb2YgdGhlIGNhbGwgZXhpc3QsIGl0IHNob3VsZCBub3RcbiAqICAgaGF2ZSBhbnkgYmVhcmluZyBvbiB0aGUgY29ycmVjdG5lc3Mgb2YgdGhlIG5leHQgY2FsbCBpbiB0aGUgcXVldWVcbiAqIC0gVGhlIG9wZXJhdGlvbiBoYXMgYSB2b2lkIHJldHVyblxuICogLSBUaGUgY2FsbGVyIHNob3VsZCBub3QgYXNzdW1lIHRoYXQgdGhlIGNhbGwgaGFzIGNvbXBsZXRlZCB1cG9uXG4gKiAgIHJldHVybiBvZiB0aGUgZnVuY3Rpb25cbiAqIC0gVGhlIGNhbGxlciBjYW4gYXNzdW1lIHRoYXQgYWxsIHRoZSBxdWV1ZWQgY2FsbHMgd2lsbCBjb21wbGV0ZVxuICogICB3aXRoaW4gdGhlIGN1cnJlbnQgbWljcm90YXNrXG4gKiAtIFRoZSBvbmx5IHdheSB0aGF0IGEgY2FsbCB3aWxsIGVuY291bnRlciBhbm90aGVyIGNhbGwgaW4gdGhlIHF1ZXVlXG4gKiAgIHdvdWxkIGJlIGlmIHRoZSBjYWxsIGF0IHRoZSBmcm9udCBvZiB0aGUgcXVldWUgaW5pdGlhdGVkIHRoaXMgY2FsbFxuICogICBhcyBwYXJ0IG9mIGl0cyBzeW5jaHJvbm91cyBleGVjdXRpb25cbiAqL1xuZnVuY3Rpb24gb3JkZXJlZFF1ZXVlT3BlcmF0aW9uPFRBcmdzIGV4dGVuZHMgYW55W10+KG9wZXJhdGlvbjogKC4uLmFyZ3M6IFRBcmdzKSA9PiB2b2lkKSB7XG4gIGNvbnN0IGNhbGxzUXVldWU6IFRBcmdzW10gPSBbXTtcbiAgbGV0IGJ1c3lQdXNoaW5nTmV4dCA9IGZhbHNlO1xuICByZXR1cm4gZnVuY3Rpb24gY2FsbE9wZXJhdGlvbiguLi5hcmdzOiBUQXJncykge1xuICAgIGlmIChidXN5UHVzaGluZ05leHQpIHtcbiAgICAgIGNhbGxzUXVldWUudW5zaGlmdChhcmdzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYnVzeVB1c2hpbmdOZXh0ID0gdHJ1ZTtcbiAgICBvcGVyYXRpb24oLi4uYXJncyk7XG4gICAgd2hpbGUgKGNhbGxzUXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbmV4dENhbGxBcmdzID0gY2FsbHNRdWV1ZS5wb3AoKTtcbiAgICAgIG5leHRDYWxsQXJncyAmJiBvcGVyYXRpb24oLi4ubmV4dENhbGxBcmdzKTtcbiAgICB9XG4gICAgYnVzeVB1c2hpbmdOZXh0ID0gZmFsc2U7XG4gIH07XG59XG5cbi8qKlxuICogQ3VzdG9tIFN1YmplY3QgdGhhdCBlbnN1cmVzIHRoYXQgc3Vic2NyaWJlcnMgYXJlIG5vdGlmaWVkIG9mIHZhbHVlcyBpbiB0aGUgb3JkZXIgdGhhdCB0aGV5IGFycml2ZWQuXG4gKiBBIHN0YW5kYXJkIFN1YmplY3QgZG9lcyBub3QgaGF2ZSB0aGlzIGd1YXJhbnRlZS5cbiAqIEZvciBleGFtcGxlLCBnaXZlbiB0aGUgZm9sbG93aW5nIGNvZGU6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAgIGNvbnN0IHN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gICAgIHN1YmplY3Quc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICBpZiAodmFsdWUgPT09ICdzdGFydCcpIHN1YmplY3QubmV4dCgnZW5kJyk7XG4gICAgIH0pO1xuICAgICBzdWJqZWN0LnN1YnNjcmliZSh2YWx1ZSA9PiB7IH0pO1xuICAgICBzdWJqZWN0Lm5leHQoJ3N0YXJ0Jyk7XG4gKiBgYGBcbiAqIFdoZW4gYHN1YmplY3RgIGlzIGEgc3RhbmRhcmQgYFN1YmplY3Q8VD5gIHRoZSBzZWNvbmQgc3Vic2NyaWJlciB3b3VsZCByZWNpZXZlIGBlbmRgIGFuZCB0aGVuIGBzdGFydGAuXG4gKiBXaGVuIGBzdWJqZWN0YCBpcyBhIGBPcmRlcmVkU3ViamVjdDxUPmAgdGhlIHNlY29uZCBzdWJzY3JpYmVyIHdvdWxkIHJlY2lldmUgYHN0YXJ0YCBhbmQgdGhlbiBgZW5kYC5cbiAqL1xuZXhwb3J0IGNsYXNzIE9yZGVyZWRTdWJqZWN0PFQ+IGV4dGVuZHMgU3ViamVjdDxUPiB7XG4gIHByaXZhdGUgX29yZGVyZWROZXh0ID0gb3JkZXJlZFF1ZXVlT3BlcmF0aW9uKCh2YWx1ZT86IFQpID0+IHN1cGVyLm5leHQoPFQ+dmFsdWUpKTtcblxuICBuZXh0KHZhbHVlPzogVCk6IHZvaWQge1xuICAgIHRoaXMuX29yZGVyZWROZXh0KHZhbHVlKTtcbiAgfVxufVxuXG4vKipcbiAqIEN1c3RvbSBCZWhhdmlvclN1YmplY3QgdGhhdCBlbnN1cmVzIHRoYXQgc3Vic2NyaWJlcnMgYXJlIG5vdGlmaWVkIG9mIHZhbHVlcyBpbiB0aGUgb3JkZXIgdGhhdCB0aGV5IGFycml2ZWQuXG4gKiBBIHN0YW5kYXJkIEJlaGF2aW9yU3ViamVjdCBkb2VzIG5vdCBoYXZlIHRoaXMgZ3VhcmFudGVlLlxuICogRm9yIGV4YW1wbGUsIGdpdmVuIHRoZSBmb2xsb3dpbmcgY29kZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqICAgY29uc3Qgc3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPigpO1xuICAgICBzdWJqZWN0LnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgaWYgKHZhbHVlID09PSAnc3RhcnQnKSBzdWJqZWN0Lm5leHQoJ2VuZCcpO1xuICAgICB9KTtcbiAgICAgc3ViamVjdC5zdWJzY3JpYmUodmFsdWUgPT4geyB9KTtcbiAgICAgc3ViamVjdC5uZXh0KCdzdGFydCcpO1xuICogYGBgXG4gKiBXaGVuIGBzdWJqZWN0YCBpcyBhIHN0YW5kYXJkIGBCZWhhdmlvclN1YmplY3Q8VD5gIHRoZSBzZWNvbmQgc3Vic2NyaWJlciB3b3VsZCByZWNpZXZlIGBlbmRgIGFuZCB0aGVuIGBzdGFydGAuXG4gKiBXaGVuIGBzdWJqZWN0YCBpcyBhIGBPcmRlcmVkQmVoYXZpb3JTdWJqZWN0PFQ+YCB0aGUgc2Vjb25kIHN1YnNjcmliZXIgd291bGQgcmVjaWV2ZSBgc3RhcnRgIGFuZCB0aGVuIGBlbmRgLlxuICovXG5leHBvcnQgY2xhc3MgT3JkZXJlZEJlaGF2aW9yU3ViamVjdDxUPiBleHRlbmRzIEJlaGF2aW9yU3ViamVjdDxUPiB7XG4gIHByaXZhdGUgX29yZGVyZWROZXh0ID0gb3JkZXJlZFF1ZXVlT3BlcmF0aW9uKCh2YWx1ZTogVCkgPT4gc3VwZXIubmV4dCh2YWx1ZSkpO1xuICBwcml2YXRlIF9jdXJyZW50VmFsdWU6IFQ7XG5cbiAgY29uc3RydWN0b3IodmFsdWU6IFQpIHtcbiAgICBzdXBlcih2YWx1ZSk7XG4gICAgdGhpcy5fY3VycmVudFZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBnZXRWYWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFZhbHVlO1xuICB9XG5cbiAgbmV4dCh2YWx1ZTogVCk6IHZvaWQge1xuICAgIHRoaXMuX2N1cnJlbnRWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuX29yZGVyZWROZXh0KHZhbHVlKTtcbiAgfVxufVxuIl19
|
|
@@ -22,9 +22,9 @@ import * as i5 from "./error-handler";
|
|
|
22
22
|
*/
|
|
23
23
|
export class InternalDispatchedActionResults extends Subject {
|
|
24
24
|
}
|
|
25
|
-
/** @nocollapse */ InternalDispatchedActionResults.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
26
|
-
/** @nocollapse */ InternalDispatchedActionResults.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
25
|
+
/** @nocollapse */ InternalDispatchedActionResults.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalDispatchedActionResults, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
+
/** @nocollapse */ InternalDispatchedActionResults.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalDispatchedActionResults, providedIn: 'root' });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalDispatchedActionResults, decorators: [{
|
|
28
28
|
type: Injectable,
|
|
29
29
|
args: [{ providedIn: 'root' }]
|
|
30
30
|
}] });
|
|
@@ -72,21 +72,21 @@ export class InternalDispatcher {
|
|
|
72
72
|
}
|
|
73
73
|
const actionResult$ = this.getActionResultStream(nextAction);
|
|
74
74
|
actionResult$.subscribe(ctx => this._actions.next(ctx));
|
|
75
|
-
this._actions.next({ action: nextAction, status: "DISPATCHED" /* Dispatched */ });
|
|
75
|
+
this._actions.next({ action: nextAction, status: "DISPATCHED" /* ActionStatus.Dispatched */ });
|
|
76
76
|
return this.createDispatchObservable(actionResult$);
|
|
77
77
|
}
|
|
78
78
|
])(prevState, action).pipe(shareReplay());
|
|
79
79
|
}
|
|
80
80
|
getActionResultStream(action) {
|
|
81
|
-
return this._actionResults.pipe(filter((ctx) => ctx.action === action && ctx.status !== "DISPATCHED" /* Dispatched */), take(1), shareReplay());
|
|
81
|
+
return this._actionResults.pipe(filter((ctx) => ctx.action === action && ctx.status !== "DISPATCHED" /* ActionStatus.Dispatched */), take(1), shareReplay());
|
|
82
82
|
}
|
|
83
83
|
createDispatchObservable(actionResult$) {
|
|
84
84
|
return actionResult$
|
|
85
85
|
.pipe(exhaustMap((ctx) => {
|
|
86
86
|
switch (ctx.status) {
|
|
87
|
-
case "SUCCESSFUL" /* Successful */:
|
|
87
|
+
case "SUCCESSFUL" /* ActionStatus.Successful */:
|
|
88
88
|
return of(this._stateStream.getValue());
|
|
89
|
-
case "ERRORED" /* Errored */:
|
|
89
|
+
case "ERRORED" /* ActionStatus.Errored */:
|
|
90
90
|
return throwError(ctx.error);
|
|
91
91
|
default:
|
|
92
92
|
return EMPTY;
|
|
@@ -95,10 +95,10 @@ export class InternalDispatcher {
|
|
|
95
95
|
.pipe(shareReplay());
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
/** @nocollapse */ InternalDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
99
|
-
/** @nocollapse */ InternalDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
98
|
+
/** @nocollapse */ InternalDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalDispatcher, deps: [{ token: i1.InternalActions }, { token: InternalDispatchedActionResults }, { token: i2.PluginManager }, { token: i3.StateStream }, { token: i4.InternalNgxsExecutionStrategy }, { token: i5.InternalErrorReporter }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
99
|
+
/** @nocollapse */ InternalDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalDispatcher, providedIn: 'root' });
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalDispatcher, decorators: [{
|
|
101
101
|
type: Injectable,
|
|
102
102
|
args: [{ providedIn: 'root' }]
|
|
103
103
|
}], ctorParameters: function () { return [{ type: i1.InternalActions }, { type: InternalDispatchedActionResults }, { type: i2.PluginManager }, { type: i3.StateStream }, { type: i4.InternalNgxsExecutionStrategy }, { type: i5.InternalErrorReporter }]; } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQStCLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDOUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFFM0Q7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsT0FBc0I7OytJQUE5RCwrQkFBK0I7bUpBQS9CLCtCQUErQixjQURsQixNQUFNOzJGQUNuQiwrQkFBK0I7a0JBRDNDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQUlsQyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsUUFBeUIsRUFDekIsY0FBK0MsRUFDL0MsY0FBNkIsRUFDN0IsWUFBeUIsRUFDekIsc0JBQXFE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R0FBa0IsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sK0NBQTRCLENBQ3hGLEVBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFdBQVcsRUFBRSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRU8sd0JBQXdCLENBQUMsYUFBd0M7UUFDdkUsT0FBTyxhQUFhO2FBQ2pCLElBQUksQ0FDSCxVQUFVLENBQUMsQ0FBQyxHQUFrQixFQUFFLEVBQUU7WUFDaEMsUUFBUSxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUNsQjtvQkFDRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQzFDO29CQUNFLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0I7b0JBQ0UsT0FBTyxLQUFLLENBQUM7YUFDaEI7UUFDSCxDQUFDLENBQUMsQ0FDSDthQUNBLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7O2tJQXZGVSxrQkFBa0I7c0lBQWxCLGtCQUFrQixjQURMLE1BQU07MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTVBUWSwgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBleGhhdXN0TWFwLCBmaWx0ZXIsIHNoYXJlUmVwbGF5LCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBjb21wb3NlIH0gZnJvbSAnLi4vdXRpbHMvY29tcG9zZSc7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yUmVwb3J0ZXIsIG5neHNFcnJvckhhbmRsZXIgfSBmcm9tICcuL2Vycm9yLWhhbmRsZXInO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dCwgQWN0aW9uU3RhdHVzLCBJbnRlcm5hbEFjdGlvbnMgfSBmcm9tICcuLi9hY3Rpb25zLXN0cmVhbSc7XG5pbXBvcnQgeyBTdGF0ZVN0cmVhbSB9IGZyb20gJy4vc3RhdGUtc3RyZWFtJztcbmltcG9ydCB7IFBsdWdpbk1hbmFnZXIgfSBmcm9tICcuLi9wbHVnaW4tbWFuYWdlcic7XG5pbXBvcnQgeyBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4uL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5pbXBvcnQgeyBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlIH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xuXG4vKipcbiAqIEludGVybmFsIEFjdGlvbiByZXN1bHQgc3RyZWFtIHRoYXQgaXMgZW1pdHRlZCB3aGVuIGFuIGFjdGlvbiBpcyBjb21wbGV0ZWQuXG4gKiBUaGlzIGlzIHVzZWQgYXMgYSBtZXRob2Qgb2YgcmV0dXJuaW5nIHRoZSBhY3Rpb24gcmVzdWx0IHRvIHRoZSBkaXNwYXRjaGVyXG4gKiBmb3IgdGhlIG9ic2VydmFibGUgcmV0dXJuZWQgYnkgdGhlIGRpc3BhdGNoKC4uLikgY2FsbC5cbiAqIFRoZSBkaXNwYXRjaGVyIHRoZW4gYXN5bmNocm9ub3VzbHkgcHVzaGVzIHRoZSByZXN1bHQgZnJvbSB0aGlzIHN0cmVhbSBvbnRvIHRoZSBtYWluIGFjdGlvbiBzdHJlYW0gYXMgYSByZXN1bHQuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxEaXNwYXRjaGVkQWN0aW9uUmVzdWx0cyBleHRlbmRzIFN1YmplY3Q8QWN0aW9uQ29udGV4dD4ge31cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbERpc3BhdGNoZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9hY3Rpb25zOiBJbnRlcm5hbEFjdGlvbnMsXG4gICAgcHJpdmF0ZSBfYWN0aW9uUmVzdWx0czogSW50ZXJuYWxEaXNwYXRjaGVkQWN0aW9uUmVzdWx0cyxcbiAgICBwcml2YXRlIF9wbHVnaW5NYW5hZ2VyOiBQbHVnaW5NYW5hZ2VyLFxuICAgIHByaXZhdGUgX3N0YXRlU3RyZWFtOiBTdGF0ZVN0cmVhbSxcbiAgICBwcml2YXRlIF9uZ3hzRXhlY3V0aW9uU3RyYXRlZ3k6IEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5LFxuICAgIHByaXZhdGUgX2ludGVybmFsRXJyb3JSZXBvcnRlcjogSW50ZXJuYWxFcnJvclJlcG9ydGVyXG4gICkge31cblxuICAvKipcbiAgICogRGlzcGF0Y2hlcyBldmVudChzKS5cbiAgICovXG4gIGRpc3BhdGNoKGFjdGlvbk9yQWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX25neHNFeGVjdXRpb25TdHJhdGVneS5lbnRlcigoKSA9PlxuICAgICAgdGhpcy5kaXNwYXRjaEJ5RXZlbnRzKGFjdGlvbk9yQWN0aW9ucylcbiAgICApO1xuXG4gICAgcmV0dXJuIHJlc3VsdC5waXBlKFxuICAgICAgbmd4c0Vycm9ySGFuZGxlcih0aGlzLl9pbnRlcm5hbEVycm9yUmVwb3J0ZXIsIHRoaXMuX25neHNFeGVjdXRpb25TdHJhdGVneSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwYXRjaEJ5RXZlbnRzKGFjdGlvbk9yQWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGFjdGlvbk9yQWN0aW9ucykpIHtcbiAgICAgIGlmIChhY3Rpb25PckFjdGlvbnMubGVuZ3RoID09PSAwKSByZXR1cm4gb2YodGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKSk7XG4gICAgICByZXR1cm4gZm9ya0pvaW4oYWN0aW9uT3JBY3Rpb25zLm1hcChhY3Rpb24gPT4gdGhpcy5kaXNwYXRjaFNpbmdsZShhY3Rpb24pKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc3BhdGNoU2luZ2xlKGFjdGlvbk9yQWN0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkaXNwYXRjaFNpbmdsZShhY3Rpb246IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgICAgY29uc3QgdHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShhY3Rpb24pO1xuICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFxuICAgICAgICAgIGBUaGlzIGFjdGlvbiBkb2Vzbid0IGhhdmUgYSB0eXBlIHByb3BlcnR5OiAke2FjdGlvbi5jb25zdHJ1Y3Rvci5uYW1lfWBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuX3N0YXRlU3RyZWFtLmdldFZhbHVlKCk7XG4gICAgY29uc3QgcGx1Z2lucyA9IHRoaXMuX3BsdWdpbk1hbmFnZXIucGx1Z2lucztcblxuICAgIHJldHVybiAoXG4gICAgICBjb21wb3NlKFtcbiAgICAgICAgLi4ucGx1Z2lucyxcbiAgICAgICAgKG5leHRTdGF0ZTogYW55LCBuZXh0QWN0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAobmV4dFN0YXRlICE9PSBwcmV2U3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3N0YXRlU3RyZWFtLm5leHQobmV4dFN0YXRlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgYWN0aW9uUmVzdWx0JCA9IHRoaXMuZ2V0QWN0aW9uUmVzdWx0U3RyZWFtKG5leHRBY3Rpb24pO1xuICAgICAgICAgIGFjdGlvblJlc3VsdCQuc3Vic2NyaWJlKGN0eCA9PiB0aGlzLl9hY3Rpb25zLm5leHQoY3R4KSk7XG4gICAgICAgICAgdGhpcy5fYWN0aW9ucy5uZXh0KHsgYWN0aW9uOiBuZXh0QWN0aW9uLCBzdGF0dXM6IEFjdGlvblN0YXR1cy5EaXNwYXRjaGVkIH0pO1xuICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZURpc3BhdGNoT2JzZXJ2YWJsZShhY3Rpb25SZXN1bHQkKTtcbiAgICAgICAgfVxuICAgICAgXSkocHJldlN0YXRlLCBhY3Rpb24pIGFzIE9ic2VydmFibGU8YW55PlxuICAgICkucGlwZShzaGFyZVJlcGxheSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWN0aW9uUmVzdWx0U3RyZWFtKGFjdGlvbjogYW55KTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvblJlc3VsdHMucGlwZShcbiAgICAgIGZpbHRlcihcbiAgICAgICAgKGN0eDogQWN0aW9uQ29udGV4dCkgPT4gY3R4LmFjdGlvbiA9PT0gYWN0aW9uICYmIGN0eC5zdGF0dXMgIT09IEFjdGlvblN0YXR1cy5EaXNwYXRjaGVkXG4gICAgICApLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHNoYXJlUmVwbGF5KClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEaXNwYXRjaE9ic2VydmFibGUoYWN0aW9uUmVzdWx0JDogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0Pik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIGFjdGlvblJlc3VsdCRcbiAgICAgIC5waXBlKFxuICAgICAgICBleGhhdXN0TWFwKChjdHg6IEFjdGlvbkNvbnRleHQpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGN0eC5zdGF0dXMpIHtcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uU3RhdHVzLlN1Y2Nlc3NmdWw6XG4gICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLl9zdGF0ZVN0cmVhbS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uU3RhdHVzLkVycm9yZWQ6XG4gICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGN0eC5lcnJvcik7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnBpcGUoc2hhcmVSZXBsYXkoKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -52,13 +52,13 @@ export class InternalErrorReporter {
|
|
|
52
52
|
try {
|
|
53
53
|
this._errorHandler.handleError(error);
|
|
54
54
|
}
|
|
55
|
-
catch
|
|
55
|
+
catch { }
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
/** @nocollapse */ InternalErrorReporter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
59
|
-
/** @nocollapse */ InternalErrorReporter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
58
|
+
/** @nocollapse */ InternalErrorReporter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalErrorReporter, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
59
|
+
/** @nocollapse */ InternalErrorReporter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalErrorReporter, providedIn: 'root' });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalErrorReporter, decorators: [{
|
|
61
61
|
type: Injectable,
|
|
62
62
|
args: [{ providedIn: 'root' }]
|
|
63
63
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9lcnJvci1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHcEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLHFCQUE0QyxFQUM1QyxxQkFBNEM7SUFFNUMsT0FBTyxDQUFDLE1BQXFCLEVBQUUsRUFBRTtRQUMvQixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFFdkIsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNmLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDYixpRkFBaUY7Z0JBQ2pGLGtGQUFrRjtnQkFDbEYsMkJBQTJCO2dCQUMzQixxQkFBcUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQy9CLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUMxQixJQUFJLENBQUMsVUFBVSxFQUFFO3dCQUNmLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FDL0IscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQy9DLENBQUM7cUJBQ0g7Z0JBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDbEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUdELE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsWUFBb0IsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUh2QyxvREFBb0Q7UUFDNUMsa0JBQWEsR0FBaUIsSUFBSyxDQUFDO0lBRUYsQ0FBQztJQUUzQyxpQkFBaUIsQ0FBQyxLQUFVO1FBQzFCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RDtRQUNELDZFQUE2RTtRQUM3RSwrRUFBK0U7UUFDL0UsZ0ZBQWdGO1FBQ2hGLHNEQUFzRDtRQUN0RCxJQUFJO1lBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkM7UUFBQyxNQUFNLEdBQUU7SUFDWixDQUFDOztxSUFqQlUscUJBQXFCO3lJQUFyQixxQkFBcUIsY0FEUixNQUFNOzJGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBsZWF2ZU5neHMgfSBmcm9tICcuLi9vcGVyYXRvcnMvbGVhdmUtbmd4cyc7XG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi9leGVjdXRpb24vc3ltYm9scyc7XG5cbi8qKlxuICogVGhpcyBvcGVyYXRvciBpcyB1c2VkIGZvciBwaXBpbmcgdGhlIG9ic2VydmFibGUgcmVzdWx0XG4gKiBmcm9tIHRoZSBgZGlzcGF0Y2goKWAuIEl0IGhhcyBhIFwic21hcnRcIiBlcnJvciBoYW5kbGluZ1xuICogc3RyYXRlZ3kgdGhhdCBhbGxvd3MgdXMgdG8gZGVjaWRlIHdoZXRoZXIgd2UgcHJvcGFnYXRlXG4gKiBlcnJvcnMgdG8gQW5ndWxhcidzIGBFcnJvckhhbmRsZXJgIG9yIGVuYWJsZSB1c2VycyB0b1xuICogaGFuZGxlIHRoZW0gbWFudWFsbHkuIFdlIGNvbnNpZGVyIGZvbGxvd2luZyBjYXNlczpcbiAqIDEpIGBzdG9yZS5kaXNwYXRjaCgpYCAobm8gc3Vic2NyaWJlKSAtPiBjYWxsIGBoYW5kbGVFcnJvcigpYFxuICogMikgYHN0b3JlLmRpc3BhdGNoKCkuc3Vic2NyaWJlKClgIChubyBlcnJvciBjYWxsYmFjaykgLT4gY2FsbCBgaGFuZGxlRXJyb3IoKWBcbiAqIDMpIGBzdG9yZS5kaXNwYXRjaCgpLnN1YnNjcmliZSh7IGVycm9yOiAuLi4gfSlgIC0+IGRvbid0IGNhbGwgYGhhbmRsZUVycm9yKClgXG4gKiA0KSBgdG9Qcm9taXNlKClgIHdpdGhvdXQgYGNhdGNoYCAtPiBkbyBgaGFuZGxlRXJyb3IoKWBcbiAqIDUpIGB0b1Byb21pc2UoKWAgd2l0aCBgY2F0Y2hgIC0+IGRvbid0IGBoYW5kbGVFcnJvcigpYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbmd4c0Vycm9ySGFuZGxlcjxUPihcbiAgaW50ZXJuYWxFcnJvclJlcG9ydGVyOiBJbnRlcm5hbEVycm9yUmVwb3J0ZXIsXG4gIG5neHNFeGVjdXRpb25TdHJhdGVneTogTmd4c0V4ZWN1dGlvblN0cmF0ZWd5XG4pIHtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHtcbiAgICBsZXQgc3Vic2NyaWJlZCA9IGZhbHNlO1xuXG4gICAgc291cmNlLnN1YnNjcmliZSh7XG4gICAgICBlcnJvcjogZXJyb3IgPT4ge1xuICAgICAgICAvLyBEbyBub3QgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIGZvciBhIG1pY3JvdGFzay4gVGhpcyBkZXBlbmRzIG9uIHRoZSBleGVjdXRpb25cbiAgICAgICAgLy8gc3RyYXRlZ3kgYmVpbmcgdXNlZCwgYnV0IHRoZSBkZWZhdWx0IGBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5YFxuICAgICAgICAvLyBsZWF2ZXMgdGhlIEFuZ3VsYXIgem9uZS5cbiAgICAgICAgbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmVudGVyKCgpID0+XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXN1YnNjcmliZWQpIHtcbiAgICAgICAgICAgICAgbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmxlYXZlKCgpID0+XG4gICAgICAgICAgICAgICAgaW50ZXJuYWxFcnJvclJlcG9ydGVyLnJlcG9ydEVycm9yU2FmZWx5KGVycm9yKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3Vic2NyaWJlciA9PiB7XG4gICAgICBzdWJzY3JpYmVkID0gdHJ1ZTtcbiAgICAgIHJldHVybiBzb3VyY2UucGlwZShsZWF2ZU5neHMobmd4c0V4ZWN1dGlvblN0cmF0ZWd5KSkuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgIH0pO1xuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsRXJyb3JSZXBvcnRlciB7XG4gIC8qKiBXaWxsIGJlIHNldCBsYXppbHkgdG8gYmUgYmFja3dhcmQgY29tcGF0aWJsZS4gKi9cbiAgcHJpdmF0ZSBfZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXIgPSBudWxsITtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgcmVwb3J0RXJyb3JTYWZlbHkoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9lcnJvckhhbmRsZXIgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuX2Vycm9ySGFuZGxlciA9IHRoaXMuX2luamVjdG9yLmdldChFcnJvckhhbmRsZXIpO1xuICAgIH1cbiAgICAvLyBUaGUgYHRyeS1jYXRjaGAgaXMgdXNlZCB0byBhdm9pZCBoYW5kbGluZyB0aGUgZXJyb3IgdHdpY2UuIFN1cHBvc2Ugd2UgY2FsbFxuICAgIC8vIGBoYW5kbGVFcnJvcmAgd2hpY2ggcmUtdGhyb3dzIHRoZSBlcnJvciBpbnRlcm5hbGx5LiBUaGUgcmUtdGhyb3duIGVycm9yIHdpbGxcbiAgICAvLyBiZSBjYXVnaHQgYnkgem9uZS5qcyB3aGljaCB3aWxsIHRoZW4gZ2V0IHRvIHRoZSBgem9uZS5vbkVycm9yLmVtaXQoKWAgYW5kIHRoZVxuICAgIC8vIGBvbkVycm9yYCBzdWJzY3JpYmVyIHdpbGwgY2FsbCBgaGFuZGxlRXJyb3JgIGFnYWluLlxuICAgIHRyeSB7XG4gICAgICB0aGlzLl9lcnJvckhhbmRsZXIuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH0gY2F0Y2gge31cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { ɵMETA_KEY, ɵMETA_OPTIONS_KEY, ɵSELECTOR_META_KEY } from '@ngxs/store/internals';
|
|
2
|
+
/**
|
|
3
|
+
* Ensures metadata is attached to the class and returns it.
|
|
4
|
+
*
|
|
5
|
+
* @ignore
|
|
6
|
+
*/
|
|
7
|
+
export function ensureStoreMetadata(target) {
|
|
8
|
+
if (!target.hasOwnProperty(ɵMETA_KEY)) {
|
|
9
|
+
const defaultMetadata = {
|
|
10
|
+
name: null,
|
|
11
|
+
actions: {},
|
|
12
|
+
defaults: {},
|
|
13
|
+
path: null,
|
|
14
|
+
makeRootSelector(context) {
|
|
15
|
+
return context.getStateGetter(defaultMetadata.name);
|
|
16
|
+
},
|
|
17
|
+
children: []
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(target, ɵMETA_KEY, { value: defaultMetadata });
|
|
20
|
+
}
|
|
21
|
+
return getStoreMetadata(target);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get the metadata attached to the state class if it exists.
|
|
25
|
+
*
|
|
26
|
+
* @ignore
|
|
27
|
+
*/
|
|
28
|
+
export function getStoreMetadata(target) {
|
|
29
|
+
return target[ɵMETA_KEY];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Ensures metadata is attached to the selector and returns it.
|
|
33
|
+
*
|
|
34
|
+
* @ignore
|
|
35
|
+
*/
|
|
36
|
+
export function ensureSelectorMetadata(target) {
|
|
37
|
+
if (!target.hasOwnProperty(ɵSELECTOR_META_KEY)) {
|
|
38
|
+
const defaultMetadata = {
|
|
39
|
+
makeRootSelector: null,
|
|
40
|
+
originalFn: null,
|
|
41
|
+
containerClass: null,
|
|
42
|
+
selectorName: null,
|
|
43
|
+
getSelectorOptions: () => ({})
|
|
44
|
+
};
|
|
45
|
+
Object.defineProperty(target, ɵSELECTOR_META_KEY, { value: defaultMetadata });
|
|
46
|
+
}
|
|
47
|
+
return getSelectorMetadata(target);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get the metadata attached to the selector if it exists.
|
|
51
|
+
*
|
|
52
|
+
* @ignore
|
|
53
|
+
*/
|
|
54
|
+
export function getSelectorMetadata(target) {
|
|
55
|
+
return target[ɵSELECTOR_META_KEY];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get a deeply nested value. Example:
|
|
59
|
+
*
|
|
60
|
+
* getValue({ foo: bar: [] }, 'foo.bar') //=> []
|
|
61
|
+
*
|
|
62
|
+
* Note: This is not as fast as the `fastPropGetter` but is strict Content Security Policy compliant.
|
|
63
|
+
* See perf hit: https://jsperf.com/fast-value-getter-given-path/1
|
|
64
|
+
*
|
|
65
|
+
* @ignore
|
|
66
|
+
*/
|
|
67
|
+
function compliantPropGetter(paths) {
|
|
68
|
+
const copyOfPaths = paths.slice();
|
|
69
|
+
return obj => copyOfPaths.reduce((acc, part) => acc && acc[part], obj);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The generated function is faster than:
|
|
73
|
+
* - pluck (Observable operator)
|
|
74
|
+
* - memoize
|
|
75
|
+
*
|
|
76
|
+
* @ignore
|
|
77
|
+
*/
|
|
78
|
+
function fastPropGetter(paths) {
|
|
79
|
+
const segments = paths;
|
|
80
|
+
let seg = 'store.' + segments[0];
|
|
81
|
+
let i = 0;
|
|
82
|
+
const l = segments.length;
|
|
83
|
+
let expr = seg;
|
|
84
|
+
while (++i < l) {
|
|
85
|
+
expr = expr + ' && ' + (seg = seg + '.' + segments[i]);
|
|
86
|
+
}
|
|
87
|
+
const fn = new Function('store', 'return ' + expr + ';');
|
|
88
|
+
return fn;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Get a deeply nested value. Example:
|
|
92
|
+
*
|
|
93
|
+
* getValue({ foo: bar: [] }, 'foo.bar') //=> []
|
|
94
|
+
*
|
|
95
|
+
* @ignore
|
|
96
|
+
*/
|
|
97
|
+
export function propGetter(paths, config) {
|
|
98
|
+
if (config && config.compatibility && config.compatibility.strictContentSecurityPolicy) {
|
|
99
|
+
return compliantPropGetter(paths);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
return fastPropGetter(paths);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Given an array of states, it will return a object graph. Example:
|
|
107
|
+
* const states = [
|
|
108
|
+
* Cart,
|
|
109
|
+
* CartSaved,
|
|
110
|
+
* CartSavedItems
|
|
111
|
+
* ]
|
|
112
|
+
*
|
|
113
|
+
* would return:
|
|
114
|
+
*
|
|
115
|
+
* const graph = {
|
|
116
|
+
* cart: ['saved'],
|
|
117
|
+
* saved: ['items'],
|
|
118
|
+
* items: []
|
|
119
|
+
* };
|
|
120
|
+
*
|
|
121
|
+
* @ignore
|
|
122
|
+
*/
|
|
123
|
+
export function buildGraph(stateClasses) {
|
|
124
|
+
const findName = (stateClass) => {
|
|
125
|
+
const meta = stateClasses.find(g => g === stateClass);
|
|
126
|
+
// Caretaker note: we have still left the `typeof` condition in order to avoid
|
|
127
|
+
// creating a breaking change for projects that still use the View Engine.
|
|
128
|
+
if ((typeof ngDevMode === 'undefined' || ngDevMode) && !meta) {
|
|
129
|
+
throw new Error(`Child state not found: ${stateClass}. \r\nYou may have forgotten to add states to module`);
|
|
130
|
+
}
|
|
131
|
+
return meta[ɵMETA_KEY].name;
|
|
132
|
+
};
|
|
133
|
+
return stateClasses.reduce((result, stateClass) => {
|
|
134
|
+
const { name, children } = stateClass[ɵMETA_KEY];
|
|
135
|
+
result[name] = (children || []).map(findName);
|
|
136
|
+
return result;
|
|
137
|
+
}, {});
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Given a states array, returns object graph
|
|
141
|
+
* returning the name and state metadata. Example:
|
|
142
|
+
*
|
|
143
|
+
* const graph = {
|
|
144
|
+
* cart: { metadata }
|
|
145
|
+
* };
|
|
146
|
+
*
|
|
147
|
+
* @ignore
|
|
148
|
+
*/
|
|
149
|
+
export function nameToState(states) {
|
|
150
|
+
return states.reduce((result, stateClass) => {
|
|
151
|
+
const meta = stateClass[ɵMETA_KEY];
|
|
152
|
+
result[meta.name] = stateClass;
|
|
153
|
+
return result;
|
|
154
|
+
}, {});
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Given a object relationship graph will return the full path
|
|
158
|
+
* for the child items. Example:
|
|
159
|
+
*
|
|
160
|
+
* const graph = {
|
|
161
|
+
* cart: ['saved'],
|
|
162
|
+
* saved: ['items'],
|
|
163
|
+
* items: []
|
|
164
|
+
* };
|
|
165
|
+
*
|
|
166
|
+
* would return:
|
|
167
|
+
*
|
|
168
|
+
* const r = {
|
|
169
|
+
* cart: 'cart',
|
|
170
|
+
* saved: 'cart.saved',
|
|
171
|
+
* items: 'cart.saved.items'
|
|
172
|
+
* };
|
|
173
|
+
*
|
|
174
|
+
* @ignore
|
|
175
|
+
*/
|
|
176
|
+
export function findFullParentPath(obj, newObj = {}) {
|
|
177
|
+
const visit = (child, keyToFind) => {
|
|
178
|
+
for (const key in child) {
|
|
179
|
+
if (child.hasOwnProperty(key) && child[key].indexOf(keyToFind) >= 0) {
|
|
180
|
+
const parent = visit(child, key);
|
|
181
|
+
return parent !== null ? `${parent}.${key}` : key;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return null;
|
|
185
|
+
};
|
|
186
|
+
for (const key in obj) {
|
|
187
|
+
if (obj.hasOwnProperty(key)) {
|
|
188
|
+
const parent = visit(obj, key);
|
|
189
|
+
newObj[key] = parent ? `${parent}.${key}` : key;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return newObj;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Given a object graph, it will return the items topologically sorted Example:
|
|
196
|
+
*
|
|
197
|
+
* const graph = {
|
|
198
|
+
* cart: ['saved'],
|
|
199
|
+
* saved: ['items'],
|
|
200
|
+
* items: []
|
|
201
|
+
* };
|
|
202
|
+
*
|
|
203
|
+
* would return:
|
|
204
|
+
*
|
|
205
|
+
* const results = [
|
|
206
|
+
* 'items',
|
|
207
|
+
* 'saved',
|
|
208
|
+
* 'cart'
|
|
209
|
+
* ];
|
|
210
|
+
*
|
|
211
|
+
* @ignore
|
|
212
|
+
*/
|
|
213
|
+
export function topologicalSort(graph) {
|
|
214
|
+
const sorted = [];
|
|
215
|
+
const visited = {};
|
|
216
|
+
const visit = (name, ancestors = []) => {
|
|
217
|
+
if (!Array.isArray(ancestors)) {
|
|
218
|
+
ancestors = [];
|
|
219
|
+
}
|
|
220
|
+
ancestors.push(name);
|
|
221
|
+
visited[name] = true;
|
|
222
|
+
graph[name].forEach((dep) => {
|
|
223
|
+
// Caretaker note: we have still left the `typeof` condition in order to avoid
|
|
224
|
+
// creating a breaking change for projects that still use the View Engine.
|
|
225
|
+
if ((typeof ngDevMode === 'undefined' || ngDevMode) && ancestors.indexOf(dep) >= 0) {
|
|
226
|
+
throw new Error(`Circular dependency '${dep}' is required by '${name}': ${ancestors.join(' -> ')}`);
|
|
227
|
+
}
|
|
228
|
+
if (visited[dep]) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
visit(dep, ancestors.slice(0));
|
|
232
|
+
});
|
|
233
|
+
if (sorted.indexOf(name) < 0) {
|
|
234
|
+
sorted.push(name);
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
Object.keys(graph).forEach(k => visit(k));
|
|
238
|
+
return sorted.reverse();
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Returns if the parameter is a object or not.
|
|
242
|
+
*
|
|
243
|
+
* @ignore
|
|
244
|
+
*/
|
|
245
|
+
export function isObject(obj) {
|
|
246
|
+
return (typeof obj === 'object' && obj !== null) || typeof obj === 'function';
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2ludGVybmFsL2ludGVybmFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbkIsTUFBTSx1QkFBdUIsQ0FBQztBQW1FL0I7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxNQUEwQjtJQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUNyQyxNQUFNLGVBQWUsR0FBa0I7WUFDckMsSUFBSSxFQUFFLElBQUk7WUFDVixPQUFPLEVBQUUsRUFBRTtZQUNYLFFBQVEsRUFBRSxFQUFFO1lBQ1osSUFBSSxFQUFFLElBQUk7WUFDVixnQkFBZ0IsQ0FBQyxPQUErQjtnQkFDOUMsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RCxDQUFDO1lBQ0QsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDO1FBRUYsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7S0FDdEU7SUFDRCxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQTBCO0lBQ3pELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBRSxDQUFDO0FBQzVCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE1BQWdCO0lBQ3JELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7UUFDOUMsTUFBTSxlQUFlLEdBQTBCO1lBQzdDLGdCQUFnQixFQUFF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U0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUNuRixDQUFDO2FBQ0g7WUFFRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDaEIsT0FBTzthQUNSO1lBRUQsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkI7SUFDSCxDQUFDLENBQUM7SUFFRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTFDLE9BQU8sTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQzFCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFRO0lBQy9CLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFVBQVUsQ0FBQztBQUNoRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUGxhaW5PYmplY3RPZixcbiAgybVTdGF0ZUNsYXNzLFxuICDJtU1FVEFfS0VZLFxuICDJtU1FVEFfT1BUSU9OU19LRVksXG4gIMm1U0VMRUNUT1JfTUVUQV9LRVlcbn0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmd4c0NvbmZpZywgU3RvcmVPcHRpb25zIH0gZnJvbSAnLi4vc3ltYm9scyc7XG5pbXBvcnQgeyBBY3Rpb25IYW5kbGVyTWV0YURhdGEgfSBmcm9tICcuLi9hY3Rpb25zL3N5bWJvbHMnO1xuXG4vLyBpbnNwaXJlZCBmcm9tIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS80MzY3NDM4OVxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZUNsYXNzSW50ZXJuYWw8VCA9IGFueSwgVSA9IGFueT4gZXh0ZW5kcyDJtVN0YXRlQ2xhc3M8VD4ge1xuICBbybVNRVRBX0tFWV0/OiBNZXRhRGF0YU1vZGVsO1xuICBbybVNRVRBX09QVElPTlNfS0VZXT86IFN0b3JlT3B0aW9uczxVPjtcbn1cblxuZXhwb3J0IHR5cGUgU3RhdGVLZXlHcmFwaCA9IFBsYWluT2JqZWN0T2Y8c3RyaW5nW10+O1xuZXhwb3J0IHR5cGUgU3RhdGVzQnlOYW1lID0gUGxhaW5PYmplY3RPZjxTdGF0ZUNsYXNzSW50ZXJuYWw+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlT3BlcmF0aW9uczxUPiB7XG4gIGdldFN0YXRlKCk6IFQ7XG5cbiAgc2V0U3RhdGUodmFsOiBUKTogVDtcblxuICBkaXNwYXRjaChhY3Rpb25PckFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRhRGF0YU1vZGVsIHtcbiAgbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgYWN0aW9uczogUGxhaW5PYmplY3RPZjxBY3Rpb25IYW5kbGVyTWV0YURhdGFbXT47XG4gIGRlZmF1bHRzOiBhbnk7XG4gIHBhdGg6IHN0cmluZyB8IG51bGw7XG4gIG1ha2VSb290U2VsZWN0b3I6IFNlbGVjdG9yRmFjdG9yeSB8IG51bGw7XG4gIGNoaWxkcmVuPzogU3RhdGVDbGFzc0ludGVybmFsW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZVNlbGVjdG9yQ29udGV4dCB7XG4gIGdldFN0YXRlR2V0dGVyKGtleTogYW55KTogKHN0YXRlOiBhbnkpID0+IGFueTtcbiAgZ2V0U2VsZWN0b3JPcHRpb25zKGxvY2FsT3B0aW9ucz86IFNoYXJlZFNlbGVjdG9yT3B0aW9ucyk6IFNoYXJlZFNlbGVjdG9yT3B0aW9ucztcbn1cblxuZXhwb3J0IHR5cGUgU2VsZWN0RnJvbVJvb3RTdGF0ZSA9IChyb290U3RhdGU6IGFueSkgPT4gYW55O1xuZXhwb3J0IHR5cGUgU2VsZWN0b3JGYWN0b3J5ID0gKHJ1bnRpbWVDb250ZXh0OiBSdW50aW1lU2VsZWN0b3JDb250ZXh0KSA9PiBTZWxlY3RGcm9tUm9vdFN0YXRlO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlZFNlbGVjdG9yT3B0aW9ucyB7XG4gIGluamVjdENvbnRhaW5lclN0YXRlPzogYm9vbGVhbjtcbiAgc3VwcHJlc3NFcnJvcnM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdG9yTWV0YURhdGFNb2RlbCB7XG4gIG1ha2VSb290U2VsZWN0b3I6IFNlbGVjdG9yRmFjdG9yeSB8IG51bGw7XG4gIG9yaWdpbmFsRm46IEZ1bmN0aW9uIHwgbnVsbDtcbiAgY29udGFpbmVyQ2xhc3M6IGFueTtcbiAgc2VsZWN0b3JOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBnZXRTZWxlY3Rvck9wdGlvbnM6ICgpID0+IFNoYXJlZFNlbGVjdG9yT3B0aW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBwZWRTdG9yZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgaXNJbml0aWFsaXNlZDogYm9vbGVhbjtcbiAgYWN0aW9uczogUGxhaW5PYmplY3RPZjxBY3Rpb25IYW5kbGVyTWV0YURhdGFbXT47XG4gIGRlZmF1bHRzOiBhbnk7XG4gIGluc3RhbmNlOiBhbnk7XG4gIHBhdGg6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZXNBbmREZWZhdWx0cyB7XG4gIGRlZmF1bHRzOiBhbnk7XG4gIHN0YXRlczogTWFwcGVkU3RvcmVbXTtcbn1cblxuLyoqXG4gKiBFbnN1cmVzIG1ldGFkYXRhIGlzIGF0dGFjaGVkIHRvIHRoZSBjbGFzcyBhbmQgcmV0dXJucyBpdC5cbiAqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVTdG9yZU1ldGFkYXRhKHRhcmdldDogU3RhdGVDbGFzc0ludGVybmFsKTogTWV0YURhdGFNb2RlbCB7XG4gIGlmICghdGFyZ2V0Lmhhc093blByb3BlcnR5KMm1TUVUQV9LRVkpKSB7XG4gICAgY29uc3QgZGVmYXVsdE1ldGFkYXRhOiBNZXRhRGF0YU1vZGVsID0ge1xuICAgICAgbmFtZTogbnVsbCxcbiAgICAgIGFjdGlvbnM6IHt9LFxuICAgICAgZGVmYXVsdHM6IHt9LFxuICAgICAgcGF0aDogbnVsbCxcbiAgICAgIG1ha2VSb290U2VsZWN0b3IoY29udGV4dDogUnVudGltZVNlbGVjdG9yQ29udGV4dCkge1xuICAgICAgICByZXR1cm4gY29udGV4dC5nZXRTdGF0ZUdldHRlcihkZWZhdWx0TWV0YWRhdGEubmFtZSk7XG4gICAgICB9LFxuICAgICAgY2hpbGRyZW46IFtdXG4gICAgfTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIMm1TUVUQV9LRVksIHsgdmFsdWU6IGRlZmF1bHRNZXRhZGF0YSB9KTtcbiAgfVxuICByZXR1cm4gZ2V0U3RvcmVNZXRhZGF0YSh0YXJnZXQpO1xufVxuXG4vKipcbiAqIEdldCB0aGUgbWV0YWRhdGEgYXR0YWNoZWQgdG8gdGhlIHN0YXRlIGNsYXNzIGlmIGl0IGV4aXN0cy5cbiAqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdG9yZU1ldGFkYXRhKHRhcmdldDogU3RhdGVDbGFzc0ludGVybmFsKTogTWV0YURhdGFNb2RlbCB7XG4gIHJldHVybiB0YXJnZXRbybVNRVRBX0tFWV0hO1xufVxuXG4vKipcbiAqIEVuc3VyZXMgbWV0YWRhdGEgaXMgYXR0YWNoZWQgdG8gdGhlIHNlbGVjdG9yIGFuZCByZXR1cm5zIGl0LlxuICpcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVNlbGVjdG9yTWV0YWRhdGEodGFyZ2V0OiBGdW5jdGlvbik6IFNlbGVjdG9yTWV0YURhdGFNb2RlbCB7XG4gIGlmICghdGFyZ2V0Lmhhc093blByb3BlcnR5KMm1U0VMRUNUT1JfTUVUQV9LRVkpKSB7XG4gICAgY29uc3QgZGVmYXVsdE1ldGFkYXRhOiBTZWxlY3Rvck1ldGFEYXRhTW9kZWwgPSB7XG4gICAgICBtYWtlUm9vdFNlbGVjdG9yOiBudWxsLFxuICAgICAgb3JpZ2luYWxGbjogbnVsbCxcbiAgICAgIGNvbnRhaW5lckNsYXNzOiBudWxsLFxuICAgICAgc2VsZWN0b3JOYW1lOiBudWxsLFxuICAgICAgZ2V0U2VsZWN0b3JPcHRpb25zOiAoKSA9PiAoe30pXG4gICAgfTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIMm1U0VMRUNUT1JfTUVUQV9LRVksIHsgdmFsdWU6IGRlZmF1bHRNZXRhZGF0YSB9KTtcbiAgfVxuXG4gIHJldHVybiBnZXRTZWxlY3Rvck1ldGFkYXRhKHRhcmdldCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBtZXRhZGF0YSBhdHRhY2hlZCB0byB0aGUgc2VsZWN0b3IgaWYgaXQgZXhpc3RzLlxuICpcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNlbGVjdG9yTWV0YWRhdGEodGFyZ2V0OiBhbnkpOiBTZWxlY3Rvck1ldGFEYXRhTW9kZWwge1xuICByZXR1cm4gdGFyZ2V0W8m1U0VMRUNUT1JfTUVUQV9LRVldO1xufVxuXG4vKipcbiAqIEdldCBhIGRlZXBseSBuZXN0ZWQgdmFsdWUuIEV4YW1wbGU6XG4gKlxuICogICAgZ2V0VmFsdWUoeyBmb286IGJhcjogW10gfSwgJ2Zvby5iYXInKSAvLz0+IFtdXG4gKlxuICogTm90ZTogVGhpcyBpcyBub3QgYXMgZmFzdCBhcyB0aGUgYGZhc3RQcm9wR2V0dGVyYCBidXQgaXMgc3RyaWN0IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGNvbXBsaWFudC5cbiAqIFNlZSBwZXJmIGhpdDogaHR0cHM6Ly9qc3BlcmYuY29tL2Zhc3QtdmFsdWUtZ2V0dGVyLWdpdmVuLXBhdGgvMVxuICpcbiAqIEBpZ25vcmVcbiAqL1xuZnVuY3Rpb24gY29tcGxpYW50UHJvcEdldHRlcihwYXRoczogc3RyaW5nW10pOiAoeDogYW55KSA9PiBhbnkge1xuICBjb25zdCBjb3B5T2ZQYXRocyA9IHBhdGhzLnNsaWNlKCk7XG4gIHJldHVybiBvYmogPT4gY29weU9mUGF0aHMucmVkdWNlKChhY2M6IGFueSwgcGFydDogc3RyaW5nKSA9PiBhY2MgJiYgYWNjW3BhcnRdLCBvYmopO1xufVxuXG4vKipcbiAqIFRoZSBnZW5lcmF0ZWQgZnVuY3Rpb24gaXMgZmFzdGVyIHRoYW46XG4gKiAtIHBsdWNrIChPYnNlcnZhYmxlIG9wZXJhdG9yKVxuICogLSBtZW1vaXplXG4gKlxuICogQGlnbm9yZVxuICovXG5mdW5jdGlvbiBmYXN0UHJvcEdldHRlcihwYXRoczogc3RyaW5nW10pOiAoeDogYW55KSA9PiBhbnkge1xuICBjb25zdCBzZWdtZW50cyA9IHBhdGhzO1xuICBsZXQgc2VnID0gJ3N0b3JlLicgKyBzZWdtZW50c1swXTtcbiAgbGV0IGkgPSAwO1xuICBjb25zdCBsID0gc2VnbWVudHMubGVuZ3RoO1xuXG4gIGxldCBleHByID0gc2VnO1xuICB3aGlsZSAoKytpIDwgbCkge1xuICAgIGV4cHIgPSBleHByICsgJyAmJiAnICsgKHNlZyA9IHNlZyArICcuJyArIHNlZ21lbnRzW2ldKTtcbiAgfVxuXG4gIGNvbnN0IGZuID0gbmV3IEZ1bmN0aW9uKCdzdG9yZScsICdyZXR1cm4gJyArIGV4cHIgKyAnOycpO1xuXG4gIHJldHVybiA8KHg6IGFueSkgPT4gYW55PmZuO1xufVxuXG4vKipcbiAqIEdldCBhIGRlZXBseSBuZXN0ZWQgdmFsdWUuIEV4YW1wbGU6XG4gKlxuICogICAgZ2V0VmFsdWUoeyBmb286IGJhcjogW10gfSwgJ2Zvby5iYXInKSAvLz0+IFtdXG4gKlxuICogQGlnbm9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvcEdldHRlcihwYXRoczogc3RyaW5nW10sIGNvbmZpZzogTmd4c0NvbmZpZykge1xuICBpZiAoY29uZmlnICYmIGNvbmZpZy5jb21wYXRpYmlsaXR5ICYmIGNvbmZpZy5jb21wYXRpYmlsaXR5LnN0cmljdENvbnRlbnRTZWN1cml0eVBvbGljeSkge1xuICAgIHJldHVybiBjb21wbGlhbnRQcm9wR2V0dGVyKHBhdGhzKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFzdFByb3BHZXR0ZXIocGF0aHMpO1xuICB9XG59XG5cbi8qKlxuICogR2l2ZW4gYW4gYXJyYXkgb2Ygc3RhdGVzLCBpdCB3aWxsIHJldHVybiBhIG9iamVjdCBncmFwaC4gRXhhbXBsZTpcbiAqICAgIGNvbnN0IHN0YXRlcyA9IFtcbiAqICAgICAgQ2FydCxcbiAqICAgICAgQ2FydFNhdmVkLFxuICogICAgICBDYXJ0U2F2ZWRJdGVtc1xuICogICAgXVxuICpcbiAqIHdvdWxkIHJldHVybjpcbiAqXG4gKiAgY29uc3QgZ3JhcGggPSB7XG4gKiAgICBjYXJ0OiBbJ3NhdmVkJ10sXG4gKiAgICBzYXZlZDogWydpdGVtcyddLFxuICogICAgaXRlbXM6IFtdXG4gKiAgfTtcbiAqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEdyYXBoKHN0YXRlQ2xhc3NlczogU3RhdGVDbGFzc0ludGVybmFsW10pOiBTdGF0ZUtleUdyYXBoIHtcbiAgY29uc3QgZmluZE5hbWUgPSAoc3RhdGVDbGFzczogU3RhdGVDbGFzc0ludGVybmFsKSA9PiB7XG4gICAgY29uc3QgbWV0YSA9IHN0YXRlQ2xhc3Nlcy5maW5kKGcgPT4gZyA9PT0gc3RhdGVDbGFzcyk7XG5cbiAgICAvLyBDYXJldGFrZXIgbm90ZTogd2UgaGF2ZSBzdGlsbCBsZWZ0IHRoZSBgdHlwZW9mYCBjb25kaXRpb24gaW4gb3JkZXIgdG8gYXZvaWRcbiAgICAvLyBjcmVhdGluZyBhIGJyZWFraW5nIGNoYW5nZSBmb3IgcHJvamVjdHMgdGhhdCBzdGlsbCB1c2UgdGhlIFZpZXcgRW5naW5lLlxuICAgIGlmICgodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSAmJiAhbWV0YSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ2hpbGQgc3RhdGUgbm90IGZvdW5kOiAke3N0YXRlQ2xhc3N9LiBcXHJcXG5Zb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIGFkZCBzdGF0ZXMgdG8gbW9kdWxlYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YSFbybVNRVRBX0tFWV0hLm5hbWUhO1xuICB9O1xuXG4gIHJldHVybiBzdGF0ZUNsYXNzZXMucmVkdWNlPFN0YXRlS2V5R3JhcGg+KFxuICAgIChyZXN1bHQ6IFN0YXRlS2V5R3JhcGgsIHN0YXRlQ2xhc3M6IFN0YXRlQ2xhc3NJbnRlcm5hbCkgPT4ge1xuICAgICAgY29uc3QgeyBuYW1lLCBjaGlsZHJlbiB9ID0gc3RhdGVDbGFzc1vJtU1FVEFfS0VZXSE7XG4gICAgICByZXN1bHRbbmFtZSFdID0gKGNoaWxkcmVuIHx8IFtdKS5tYXAoZmluZE5hbWUpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LFxuICAgIHt9XG4gICk7XG59XG5cbi8qKlxuICogR2l2ZW4gYSBzdGF0ZXMgYXJyYXksIHJldHVybnMgb2JqZWN0IGdyYXBoXG4gKiByZXR1cm5pbmcgdGhlIG5hbWUgYW5kIHN0YXRlIG1ldGFkYXRhLiBFeGFtcGxlOlxuICpcbiAqICBjb25zdCBncmFwaCA9IHtcbiAqICAgIGNhcnQ6IHsgbWV0YWRhdGEgfVxuICogIH07XG4gKlxuICogQGlnbm9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gbmFtZVRvU3RhdGUoc3RhdGVzOiBTdGF0ZUNsYXNzSW50ZXJuYWxbXSk6IFBsYWluT2JqZWN0T2Y8U3RhdGVDbGFzc0ludGVybmFsPiB7XG4gIHJldHVybiBzdGF0ZXMucmVkdWNlPFBsYWluT2JqZWN0T2Y8U3RhdGVDbGFzc0ludGVybmFsPj4oXG4gICAgKHJlc3VsdDogUGxhaW5PYmplY3RPZjxTdGF0ZUNsYXNzSW50ZXJuYWw+LCBzdGF0ZUNsYXNzOiBTdGF0ZUNsYXNzSW50ZXJuYWwpID0+IHtcbiAgICAgIGNvbnN0IG1ldGEgPSBzdGF0ZUNsYXNzW8m1TUVUQV9LRVldITtcbiAgICAgIHJlc3VsdFttZXRhLm5hbWUhXSA9IHN0YXRlQ2xhc3M7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAge31cbiAgKTtcbn1cblxuLyoqXG4gKiBHaXZlbiBhIG9iamVjdCByZWxhdGlvbnNoaXAgZ3JhcGggd2lsbCByZXR1cm4gdGhlIGZ1bGwgcGF0aFxuICogZm9yIHRoZSBjaGlsZCBpdGVtcy4gRXhhbXBsZTpcbiAqXG4gKiAgY29uc3QgZ3JhcGggPSB7XG4gKiAgICBjYXJ0OiBbJ3NhdmVkJ10sXG4gKiAgICBzYXZlZDogWydpdGVtcyddLFxuICogICAgaXRlbXM6IFtdXG4gKiAgfTtcbiAqXG4gKiB3b3VsZCByZXR1cm46XG4gKlxuICogIGNvbnN0IHIgPSB7XG4gKiAgICBjYXJ0OiAnY2FydCcsXG4gKiAgICBzYXZlZDogJ2NhcnQuc2F2ZWQnLFxuICogICAgaXRlbXM6ICdjYXJ0LnNhdmVkLml0ZW1zJ1xuICogIH07XG4gKlxuICogQGlnbm9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZEZ1bGxQYXJlbnRQYXRoKFxuICBvYmo6IFN0YXRlS2V5R3JhcGgsXG4gIG5ld09iajogUGxhaW5PYmplY3RPZjxzdHJpbmc+ID0ge31cbik6IFBsYWluT2JqZWN0T2Y8c3RyaW5nPiB7XG4gIGNvbnN0IHZpc2l0ID0gKGNoaWxkOiBTdGF0ZUtleUdyYXBoLCBrZXlUb0ZpbmQ6IHN0cmluZyk6IHN0cmluZyB8IG51bGwgPT4ge1xuICAgIGZvciAoY29uc3Qga2V5IGluIGNoaWxkKSB7XG4gICAgICBpZiAoY2hpbGQuaGFzT3duUHJvcGVydHkoa2V5KSAmJiBjaGlsZFtrZXldLmluZGV4T2Yoa2V5VG9GaW5kKSA+PSAwKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHZpc2l0KGNoaWxkLCBrZXkpO1xuICAgICAgICByZXR1cm4gcGFyZW50ICE9PSBudWxsID8gYCR7cGFyZW50fS4ke2tleX1gIDoga2V5O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IHZpc2l0KG9iaiwga2V5KTtcbiAgICAgIG5ld09ialtrZXldID0gcGFyZW50ID8gYCR7cGFyZW50fS4ke2tleX1gIDoga2V5O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXdPYmo7XG59XG5cbi8qKlxuICogR2l2ZW4gYSBvYmplY3QgZ3JhcGgsIGl0IHdpbGwgcmV0dXJuIHRoZSBpdGVtcyB0b3BvbG9naWNhbGx5IHNvcnRlZCBFeGFtcGxlOlxuICpcbiAqICBjb25zdCBncmFwaCA9IHtcbiAqICAgIGNhcnQ6IFsnc2F2ZWQnXSxcbiAqICAgIHNhdmVkOiBbJ2l0ZW1zJ10sXG4gKiAgICBpdGVtczogW11cbiAqICB9O1xuICpcbiAqIHdvdWxkIHJldHVybjpcbiAqXG4gKiAgY29uc3QgcmVzdWx0cyA9IFtcbiAqICAgICdpdGVtcycsXG4gKiAgICAnc2F2ZWQnLFxuICogICAgJ2NhcnQnXG4gKiAgXTtcbiAqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b3BvbG9naWNhbFNvcnQoZ3JhcGg6IFN0YXRlS2V5R3JhcGgpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHNvcnRlZDogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgdmlzaXRlZDogUGxhaW5PYmplY3RPZjxib29sZWFuPiA9IHt9O1xuXG4gIGNvbnN0IHZpc2l0ID0gKG5hbWU6IHN0cmluZywgYW5jZXN0b3JzOiBzdHJpbmdbXSA9IFtdKSA9PiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGFuY2VzdG9ycykpIHtcbiAgICAgIGFuY2VzdG9ycyA9IFtdO1xuICAgIH1cblxuICAgIGFuY2VzdG9ycy5wdXNoKG5hbWUpO1xuICAgIHZpc2l0ZWRbbmFtZV0gPSB0cnVlO1xuXG4gICAgZ3JhcGhbbmFtZV0uZm9yRWFjaCgoZGVwOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIENhcmV0YWtlciBub3RlOiB3ZSBoYXZlIHN0aWxsIGxlZnQgdGhlIGB0eXBlb2ZgIGNvbmRpdGlvbiBpbiBvcmRlciB0byBhdm9pZFxuICAgICAgLy8gY3JlYXRpbmcgYSBicmVha2luZyBjaGFuZ2UgZm9yIHByb2plY3RzIHRoYXQgc3RpbGwgdXNlIHRoZSBWaWV3IEVuZ2luZS5cbiAgICAgIGlmICgodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSAmJiBhbmNlc3RvcnMuaW5kZXhPZihkZXApID49IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDaXJjdWxhciBkZXBlbmRlbmN5ICcke2RlcH0nIGlzIHJlcXVpcmVkIGJ5ICcke25hbWV9JzogJHthbmNlc3RvcnMuam9pbignIC0+ICcpfWBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHZpc2l0ZWRbZGVwXSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZpc2l0KGRlcCwgYW5jZXN0b3JzLnNsaWNlKDApKTtcbiAgICB9KTtcblxuICAgIGlmIChzb3J0ZWQuaW5kZXhPZihuYW1lKSA8IDApIHtcbiAgICAgIHNvcnRlZC5wdXNoKG5hbWUpO1xuICAgIH1cbiAgfTtcblxuICBPYmplY3Qua2V5cyhncmFwaCkuZm9yRWFjaChrID0+IHZpc2l0KGspKTtcblxuICByZXR1cm4gc29ydGVkLnJldmVyc2UoKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGlmIHRoZSBwYXJhbWV0ZXIgaXMgYSBvYmplY3Qgb3Igbm90LlxuICpcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KG9iajogYW55KSB7XG4gIHJldHVybiAodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgb2JqICE9PSBudWxsKSB8fCB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nO1xufVxuIl19
|