@ngxs/store 18.0.0 → 18.1.0-dev.master-d917fba

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.
Files changed (83) hide show
  1. package/README.md +4 -2
  2. package/esm2022/experimental/index.mjs +2 -0
  3. package/esm2022/experimental/ngxs-store-experimental.mjs +5 -0
  4. package/esm2022/experimental/pending-tasks.mjs +30 -0
  5. package/esm2022/internals/custom-rxjs-operators.mjs +19 -0
  6. package/esm2022/internals/index.mjs +2 -1
  7. package/esm2022/internals/ngxs-app-bootstrapped-state.mjs +3 -3
  8. package/esm2022/internals/state-stream.mjs +7 -6
  9. package/esm2022/internals/testing/helpers/ngxs-test.component.mjs +3 -3
  10. package/esm2022/internals/testing/helpers/ngxs-test.module.mjs +4 -4
  11. package/esm2022/src/actions-stream.mjs +6 -6
  12. package/esm2022/src/decorators/select/select-factory.mjs +3 -3
  13. package/esm2022/src/dev-features/ngxs-development.module.mjs +4 -4
  14. package/esm2022/src/dev-features/ngxs-unhandled-actions-logger.mjs +3 -3
  15. package/esm2022/src/execution/dispatch-outside-zone-ngxs-execution-strategy.mjs +3 -3
  16. package/esm2022/src/execution/internal-ngxs-execution-strategy.mjs +3 -3
  17. package/esm2022/src/execution/noop-ngxs-execution-strategy.mjs +3 -3
  18. package/esm2022/src/internal/dispatcher.mjs +6 -6
  19. package/esm2022/src/internal/lifecycle-state-manager.mjs +3 -3
  20. package/esm2022/src/internal/state-context-factory.mjs +3 -3
  21. package/esm2022/src/internal/state-factory.mjs +6 -6
  22. package/esm2022/src/internal/state-operations.mjs +3 -3
  23. package/esm2022/src/module.mjs +4 -4
  24. package/esm2022/src/modules/ngxs-feature.module.mjs +4 -4
  25. package/esm2022/src/modules/ngxs-root.module.mjs +4 -4
  26. package/esm2022/src/ngxs-unhandled-error-handler.mjs +3 -3
  27. package/esm2022/src/operators/leave-ngxs.mjs +3 -17
  28. package/esm2022/src/plugin-manager.mjs +3 -3
  29. package/esm2022/src/store.mjs +6 -7
  30. package/esm2022/src/symbols.mjs +3 -3
  31. package/experimental/index.d.ts +1 -0
  32. package/experimental/pending-tasks.d.ts +8 -0
  33. package/fesm2022/ngxs-store-experimental.mjs +37 -0
  34. package/fesm2022/ngxs-store-experimental.mjs.map +1 -0
  35. package/fesm2022/ngxs-store-internals-testing.mjs +7 -7
  36. package/fesm2022/ngxs-store-internals.mjs +28 -10
  37. package/fesm2022/ngxs-store-internals.mjs.map +1 -1
  38. package/fesm2022/ngxs-store.mjs +76 -90
  39. package/fesm2022/ngxs-store.mjs.map +1 -1
  40. package/internals/custom-rxjs-operators.d.ts +2 -0
  41. package/internals/index.d.ts +1 -0
  42. package/internals/state-stream.d.ts +1 -1
  43. package/package.json +8 -2
  44. package/schematics/src/ng-add/add-declaration.js +3 -3
  45. package/schematics/src/ng-add/add-declaration.js.map +1 -1
  46. package/schematics/src/ng-add/ng-add.factory.js +2 -2
  47. package/schematics/src/ng-add/ng-add.factory.js.map +1 -1
  48. package/schematics/src/starter-kit/starter-kit.factory.js +2 -2
  49. package/schematics/src/starter-kit/starter-kit.factory.js.map +1 -1
  50. package/schematics/src/state/state.factory.js +2 -2
  51. package/schematics/src/state/state.factory.js.map +1 -1
  52. package/schematics/src/store/store.factory.js +2 -2
  53. package/schematics/src/store/store.factory.js.map +1 -1
  54. package/schematics/src/utils/project.d.ts +1 -0
  55. package/schematics/src/utils/project.js +23 -1
  56. package/schematics/src/utils/project.js.map +1 -1
  57. package/schematics/src/utils/versions.json +1 -1
  58. package/src/operators/leave-ngxs.d.ts +1 -2
  59. package/schematics/src/utils/ng-utils/README.md +0 -1
  60. package/schematics/src/utils/ng-utils/ast-utils.d.ts +0 -99
  61. package/schematics/src/utils/ng-utils/ast-utils.js +0 -517
  62. package/schematics/src/utils/ng-utils/ast-utils.js.map +0 -1
  63. package/schematics/src/utils/ng-utils/ng-ast-utils.d.ts +0 -5
  64. package/schematics/src/utils/ng-utils/ng-ast-utils.js +0 -67
  65. package/schematics/src/utils/ng-utils/ng-ast-utils.js.map +0 -1
  66. package/schematics/src/utils/ng-utils/project.d.ts +0 -2
  67. package/schematics/src/utils/ng-utils/project.js +0 -27
  68. package/schematics/src/utils/ng-utils/project.js.map +0 -1
  69. package/schematics/src/utils/ng-utils/standalone/app_config.d.ts +0 -16
  70. package/schematics/src/utils/ng-utils/standalone/app_config.js +0 -84
  71. package/schematics/src/utils/ng-utils/standalone/app_config.js.map +0 -1
  72. package/schematics/src/utils/ng-utils/standalone/code_block.d.ts +0 -46
  73. package/schematics/src/utils/ng-utils/standalone/code_block.js +0 -73
  74. package/schematics/src/utils/ng-utils/standalone/code_block.js.map +0 -1
  75. package/schematics/src/utils/ng-utils/standalone/index.d.ts +0 -1
  76. package/schematics/src/utils/ng-utils/standalone/index.js +0 -7
  77. package/schematics/src/utils/ng-utils/standalone/index.js.map +0 -1
  78. package/schematics/src/utils/ng-utils/standalone/rules.d.ts +0 -38
  79. package/schematics/src/utils/ng-utils/standalone/rules.js +0 -195
  80. package/schematics/src/utils/ng-utils/standalone/rules.js.map +0 -1
  81. package/schematics/src/utils/ng-utils/standalone/util.d.ts +0 -28
  82. package/schematics/src/utils/ng-utils/standalone/util.js +0 -138
  83. package/schematics/src/utils/ng-utils/standalone/util.js.map +0 -1
@@ -41,10 +41,10 @@ export class InternalStateOperations {
41
41
  // Set the state to the current + new
42
42
  stateOperations.setState({ ...currentState, ...results.defaults });
43
43
  }
44
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalStateOperations, deps: [{ token: i1.ɵStateStream }, { token: i2.InternalDispatcher }, { token: i3.NgxsConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
45
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalStateOperations, providedIn: 'root' }); }
44
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: InternalStateOperations, deps: [{ token: i1.ɵStateStream }, { token: i2.InternalDispatcher }, { token: i3.NgxsConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
45
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: InternalStateOperations, providedIn: 'root' }); }
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalStateOperations, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: InternalStateOperations, decorators: [{
48
48
  type: Injectable,
49
49
  args: [{ providedIn: 'root' }]
50
50
  }], ctorParameters: () => [{ type: i1.ɵStateStream }, { type: i2.InternalDispatcher }, { type: i3.NgxsConfig }] });
@@ -17,11 +17,11 @@ export class NgxsModule {
17
17
  providers: getFeatureProviders(states)
18
18
  };
19
19
  }
20
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: NgxsModule }); }
22
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsModule }); }
20
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: NgxsModule }); }
22
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsModule }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsModule, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsModule, decorators: [{
25
25
  type: NgModule
26
26
  }] });
27
27
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBRzlFLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQ1osU0FBd0IsRUFBRSxFQUMxQixVQUE2QixFQUFFO1FBRS9CLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQztTQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBd0IsRUFBRTtRQUMxQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxDQUFDO1NBQ3ZDLENBQUM7SUFDSixDQUFDO2lJQWhCVSxVQUFVO2tJQUFWLFVBQVU7a0lBQVYsVUFBVTs7MkZBQVYsVUFBVTtrQkFEdEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyDJtVN0YXRlQ2xhc3MgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBOZ3hzTW9kdWxlT3B0aW9ucyB9IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyBOZ3hzUm9vdE1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9uZ3hzLXJvb3QubW9kdWxlJztcbmltcG9ydCB7IE5neHNGZWF0dXJlTW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL25neHMtZmVhdHVyZS5tb2R1bGUnO1xuaW1wb3J0IHsgZ2V0Um9vdFByb3ZpZGVycyB9IGZyb20gJy4vc3RhbmRhbG9uZS1mZWF0dXJlcy9yb290LXByb3ZpZGVycyc7XG5pbXBvcnQgeyBnZXRGZWF0dXJlUHJvdmlkZXJzIH0gZnJvbSAnLi9zdGFuZGFsb25lLWZlYXR1cmVzL2ZlYXR1cmUtcHJvdmlkZXJzJztcblxuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBOZ3hzTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoXG4gICAgc3RhdGVzOiDJtVN0YXRlQ2xhc3NbXSA9IFtdLFxuICAgIG9wdGlvbnM6IE5neHNNb2R1bGVPcHRpb25zID0ge31cbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hzUm9vdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4c1Jvb3RNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IGdldFJvb3RQcm92aWRlcnMoc3RhdGVzLCBvcHRpb25zKVxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZm9yRmVhdHVyZShzdGF0ZXM6IMm1U3RhdGVDbGFzc1tdID0gW10pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNGZWF0dXJlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ3hzRmVhdHVyZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogZ2V0RmVhdHVyZVByb3ZpZGVycyhzdGF0ZXMpXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -8,11 +8,11 @@ export class NgxsFeatureModule {
8
8
  constructor() {
9
9
  featureStatesInitializer();
10
10
  }
11
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsFeatureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: NgxsFeatureModule }); }
13
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsFeatureModule }); }
11
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsFeatureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: NgxsFeatureModule }); }
13
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsFeatureModule }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsFeatureModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsFeatureModule, decorators: [{
16
16
  type: NgModule
17
17
  }], ctorParameters: () => [] });
18
18
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1mZWF0dXJlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9tb2R1bGVzL25neHMtZmVhdHVyZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFFL0U7O0dBRUc7QUFFSCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCO1FBQ0Usd0JBQXdCLEVBQUUsQ0FBQztJQUM3QixDQUFDO2lJQUhVLGlCQUFpQjtrSUFBakIsaUJBQWlCO2tJQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBmZWF0dXJlU3RhdGVzSW5pdGlhbGl6ZXIgfSBmcm9tICcuLi9zdGFuZGFsb25lLWZlYXR1cmVzL2luaXRpYWxpemVycyc7XG5cbi8qKlxuICogQGlnbm9yZVxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIE5neHNGZWF0dXJlTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZmVhdHVyZVN0YXRlc0luaXRpYWxpemVyKCk7XG4gIH1cbn1cbiJdfQ==
@@ -8,11 +8,11 @@ export class NgxsRootModule {
8
8
  constructor() {
9
9
  rootStoreInitializer();
10
10
  }
11
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsRootModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: NgxsRootModule }); }
13
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsRootModule }); }
11
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsRootModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: NgxsRootModule }); }
13
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsRootModule }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsRootModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsRootModule, decorators: [{
16
16
  type: NgModule
17
17
  }], ctorParameters: () => [] });
18
18
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1yb290Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9tb2R1bGVzL25neHMtcm9vdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFFM0U7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBYztJQUN6QjtRQUNFLG9CQUFvQixFQUFFLENBQUM7SUFDekIsQ0FBQztpSUFIVSxjQUFjO2tJQUFkLGNBQWM7a0lBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHJvb3RTdG9yZUluaXRpYWxpemVyIH0gZnJvbSAnLi4vc3RhbmRhbG9uZS1mZWF0dXJlcy9pbml0aWFsaXplcnMnO1xuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBOZ3hzUm9vdE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHJvb3RTdG9yZUluaXRpYWxpemVyKCk7XG4gIH1cbn1cbiJdfQ==
@@ -19,10 +19,10 @@ export class NgxsUnhandledErrorHandler {
19
19
  // `handleError` (see `_callAndReportToErrorHandler`).
20
20
  this._ngZone.runOutsideAngular(() => this._errorHandler.handleError(error));
21
21
  }
22
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsUnhandledErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsUnhandledErrorHandler, providedIn: 'root' }); }
22
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsUnhandledErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsUnhandledErrorHandler, providedIn: 'root' }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsUnhandledErrorHandler, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsUnhandledErrorHandler, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{ providedIn: 'root' }]
28
28
  }] });
@@ -1,23 +1,9 @@
1
- import { Observable } from 'rxjs';
1
+ import { ɵwrapObserverCalls } from '@ngxs/store/internals';
2
2
  /**
3
3
  * Returns operator that will run
4
4
  * `subscribe` outside of the ngxs execution context
5
5
  */
6
6
  export function leaveNgxs(ngxsExecutionStrategy) {
7
- return (source) => {
8
- return new Observable((sink) => {
9
- return source.subscribe({
10
- next(value) {
11
- ngxsExecutionStrategy.leave(() => sink.next(value));
12
- },
13
- error(error) {
14
- ngxsExecutionStrategy.leave(() => sink.error(error));
15
- },
16
- complete() {
17
- ngxsExecutionStrategy.leave(() => sink.complete());
18
- }
19
- });
20
- });
21
- };
7
+ return ɵwrapObserverCalls(fn => ngxsExecutionStrategy.leave(fn));
22
8
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtbmd4cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9vcGVyYXRvcnMvbGVhdmUtbmd4cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQztBQUd0RTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUN2QixxQkFBNEM7SUFFNUMsT0FBTyxDQUFDLE1BQXFCLEVBQUUsRUFBRTtRQUMvQixPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsSUFBaUIsRUFBRSxFQUFFO1lBQzFDLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLEtBQUs7b0JBQ1IscUJBQXFCLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDdEQsQ0FBQztnQkFDRCxLQUFLLENBQUMsS0FBSztvQkFDVCxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO2dCQUNELFFBQVE7b0JBQ04scUJBQXFCLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi4vZXhlY3V0aW9uL3N5bWJvbHMnO1xuXG4vKipcbiAqIFJldHVybnMgb3BlcmF0b3IgdGhhdCB3aWxsIHJ1blxuICogYHN1YnNjcmliZWAgb3V0c2lkZSBvZiB0aGUgbmd4cyBleGVjdXRpb24gY29udGV4dFxuICovXG5leHBvcnQgZnVuY3Rpb24gbGVhdmVOZ3hzPFQ+KFxuICBuZ3hzRXhlY3V0aW9uU3RyYXRlZ3k6IE5neHNFeGVjdXRpb25TdHJhdGVneVxuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHNpbms6IE9ic2VydmVyPFQ+KSA9PiB7XG4gICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQodmFsdWUpIHtcbiAgICAgICAgICBuZ3hzRXhlY3V0aW9uU3RyYXRlZ3kubGVhdmUoKCkgPT4gc2luay5uZXh0KHZhbHVlKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yKGVycm9yKSB7XG4gICAgICAgICAgbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmxlYXZlKCgpID0+IHNpbmsuZXJyb3IoZXJyb3IpKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29tcGxldGUoKSB7XG4gICAgICAgICAgbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmxlYXZlKCgpID0+IHNpbmsuY29tcGxldGUoKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xufVxuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtbmd4cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9vcGVyYXRvcnMvbGVhdmUtbmd4cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUczRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFJLHFCQUE0QztJQUN2RSxPQUFPLGtCQUFrQixDQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1d3JhcE9ic2VydmVyQ2FsbHMgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi4vZXhlY3V0aW9uL3N5bWJvbHMnO1xuXG4vKipcbiAqIFJldHVybnMgb3BlcmF0b3IgdGhhdCB3aWxsIHJ1blxuICogYHN1YnNjcmliZWAgb3V0c2lkZSBvZiB0aGUgbmd4cyBleGVjdXRpb24gY29udGV4dFxuICovXG5leHBvcnQgZnVuY3Rpb24gbGVhdmVOZ3hzPFQ+KG5neHNFeGVjdXRpb25TdHJhdGVneTogTmd4c0V4ZWN1dGlvblN0cmF0ZWd5KSB7XG4gIHJldHVybiDJtXdyYXBPYnNlcnZlckNhbGxzPFQ+KGZuID0+IG5neHNFeGVjdXRpb25TdHJhdGVneS5sZWF2ZShmbikpO1xufVxuIl19
@@ -19,10 +19,10 @@ export class PluginManager {
19
19
  const handlers = this._pluginHandlers || [];
20
20
  return handlers.map((plugin) => (plugin.handle ? plugin.handle.bind(plugin) : plugin));
21
21
  }
22
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PluginManager, deps: [{ token: PluginManager, optional: true, skipSelf: true }, { token: NGXS_PLUGINS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PluginManager }); }
22
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PluginManager, deps: [{ token: PluginManager, optional: true, skipSelf: true }, { token: NGXS_PLUGINS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PluginManager }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PluginManager, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PluginManager, decorators: [{
26
26
  type: Injectable
27
27
  }], ctorParameters: () => [{ type: PluginManager, decorators: [{
28
28
  type: Optional
@@ -1,6 +1,5 @@
1
- import { Inject, Injectable, Optional, computed } from '@angular/core';
2
- import { of, throwError } from 'rxjs';
3
- import { catchError, distinctUntilChanged, map, shareReplay, take } from 'rxjs/operators';
1
+ import { computed, Inject, Injectable, Optional } from '@angular/core';
2
+ import { of, throwError, catchError, distinctUntilChanged, map, shareReplay, take } from 'rxjs';
4
3
  import { ɵINITIAL_STATE_TOKEN, ɵStateStream } from '@ngxs/store/internals';
5
4
  import { InternalNgxsExecutionStrategy } from './execution/internal-ngxs-execution-strategy';
6
5
  import { InternalStateOperations } from './internal/state-operations';
@@ -102,10 +101,10 @@ export class Store {
102
101
  this._stateStream.next(initialStateValue);
103
102
  }
104
103
  }
105
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: Store, deps: [{ token: i1.ɵStateStream }, { token: i2.InternalStateOperations }, { token: i3.NgxsConfig }, { token: i4.InternalNgxsExecutionStrategy }, { token: i5.StateFactory }, { token: ɵINITIAL_STATE_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
106
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: Store, providedIn: 'root' }); }
104
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: Store, deps: [{ token: i1.ɵStateStream }, { token: i2.InternalStateOperations }, { token: i3.NgxsConfig }, { token: i4.InternalNgxsExecutionStrategy }, { token: i5.StateFactory }, { token: ɵINITIAL_STATE_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
105
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: Store, providedIn: 'root' }); }
107
106
  }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: Store, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: Store, decorators: [{
109
108
  type: Injectable,
110
109
  args: [{ providedIn: 'root' }]
111
110
  }], ctorParameters: () => [{ type: i1.ɵStateStream }, { type: i2.InternalStateOperations }, { type: i3.NgxsConfig }, { type: i4.InternalNgxsExecutionStrategy }, { type: i5.StateFactory }, { type: undefined, decorators: [{
@@ -114,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
114
113
  type: Inject,
115
114
  args: [ɵINITIAL_STATE_TOKEN]
116
115
  }] }] });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWMsRUFBRSxFQUFnQixVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFJeEQsTUFBTSxPQUFPLEtBQUs7SUFXaEIsWUFDVSxZQUEwQixFQUMxQix3QkFBaUQsRUFDakQsT0FBbUIsRUFDbkIsMEJBQXlELEVBQ3pELGFBQTJCLEVBR25DLGlCQUFzQjtRQVBkLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFDakQsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQStCO1FBQ3pELGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FB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QyxjQUFjLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sZUFBZSxDQUFDLGlCQUFzQjtRQUM1QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUN0QyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFFL0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO2lJQWhIVSxLQUFLLHdMQWtCTixvQkFBb0I7cUlBbEJuQixLQUFLLGNBRFEsTUFBTTs7MkZBQ25CLEtBQUs7a0JBRGpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFrQjdCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgU2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXksIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyDJtUlOSVRJQUxfU1RBVEVfVE9LRU4sIMm1U3RhdGVTdHJlYW0gfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vZXhlY3V0aW9uL2ludGVybmFsLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IEludGVybmFsU3RhdGVPcGVyYXRpb25zIH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1vcGVyYXRpb25zJztcbmltcG9ydCB7IGdldFJvb3RTZWxlY3RvckZhY3RvcnkgfSBmcm9tICcuL3NlbGVjdG9ycy9zZWxlY3Rvci11dGlscyc7XG5pbXBvcnQgeyBsZWF2ZU5neHMgfSBmcm9tICcuL29wZXJhdG9ycy9sZWF2ZS1uZ3hzJztcbmltcG9ydCB7IE5neHNDb25maWcgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgU3RhdGVGYWN0b3J5IH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1mYWN0b3J5JztcbmltcG9ydCB7IFR5cGVkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9ycyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RvcmUge1xuICAvKipcbiAgICogVGhpcyBpcyBhIGRlcml2ZWQgc3RhdGUgc3RyZWFtIHRoYXQgbGVhdmVzIE5HWFMgZXhlY3V0aW9uIHN0cmF0ZWd5IHRvIGVtaXQgc3RhdGUgY2hhbmdlcyB3aXRoaW4gdGhlIEFuZ3VsYXIgem9uZSxcbiAgICogYmVjYXVzZSBzdGF0ZSBpcyBiZWluZyBjaGFuZ2VkIGFjdHVhbGx5IHdpdGhpbiB0aGUgYDxyb290PmAgem9uZSwgc2VlIGBJbnRlcm5hbERpc3BhdGNoZXIjZGlzcGF0Y2hTaW5nbGVgLlxuICAgKiBBbGwgc2VsZWN0cyB3b3VsZCB1c2UgdGhpcyBzdHJlYW0sIGFuZCBpdCB3b3VsZCBjYWxsIGxlYXZlIG9ubHkgb25jZSBmb3IgYW55IHN0YXRlIGNoYW5nZSBhY3Jvc3MgYWxsIGFjdGl2ZSBzZWxlY3RvcnMuXG4gICAqL1xuICBwcml2YXRlIF9zZWxlY3RhYmxlU3RhdGVTdHJlYW0gPSB0aGlzLl9zdGF0ZVN0cmVhbS5waXBlKFxuICAgIGxlYXZlTmd4cyh0aGlzLl9pbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5KSxcbiAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfc3RhdGVTdHJlYW06IMm1U3RhdGVTdHJlYW0sXG4gICAgcHJpdmF0ZSBfaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnM6IEludGVybmFsU3RhdGVPcGVyYXRpb25zLFxuICAgIHByaXZhdGUgX2NvbmZpZzogTmd4c0NvbmZpZyxcbiAgICBwcml2YXRlIF9pbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5OiBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSxcbiAgICBwcml2YXRlIF9zdGF0ZUZhY3Rvcnk6IFN0YXRlRmFjdG9yeSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoybVJTklUSUFMX1NUQVRFX1RPS0VOKVxuICAgIGluaXRpYWxTdGF0ZVZhbHVlOiBhbnlcbiAgKSB7XG4gICAgdGhpcy5pbml0U3RhdGVTdHJlYW0oaW5pdGlhbFN0YXRlVmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoZXMgZXZlbnQocykuXG4gICAqL1xuICBkaXNwYXRjaChhY3Rpb25PckFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsU3RhdGVPcGVyYXRpb25zLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKS5kaXNwYXRjaChhY3Rpb25PckFjdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBzbGljZSBvZiBkYXRhIGZyb20gdGhlIHN0b3JlLlxuICAgKi9cbiAgc2VsZWN0PFQ+KHNlbGVjdG9yOiBUeXBlZFNlbGVjdG9yPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3Qgc2VsZWN0b3JGbiA9IHRoaXMuZ2V0U3RvcmVCb3VuZFNlbGVjdG9yRm4oc2VsZWN0b3IpO1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RhYmxlU3RhdGVTdHJlYW0ucGlwZShcbiAgICAgIG1hcChzZWxlY3RvckZuKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBFcnJvcik6IE9ic2VydmFibGU8bmV2ZXI+IHwgT2JzZXJ2YWJsZTx1bmRlZmluZWQ+ID0+IHtcbiAgICAgICAgLy8gaWYgZXJyb3IgaXMgVHlwZUVycm9yIHdlIHN3YWxsb3cgaXQgdG8gcHJldmVudCB1c3VhbCBlcnJvcnMgd2l0aCBwcm9wZXJ0eSBhY2Nlc3NcbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5zZWxlY3Rvck9wdGlvbnMuc3VwcHJlc3NFcnJvcnMgJiYgZXJyb3IgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJldGhyb3cgb3RoZXIgZXJyb3JzXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIGxlYXZlTmd4cyh0aGlzLl9pbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IG9uZSBzbGljZSBvZiBkYXRhIGZyb20gdGhlIHN0b3JlLlxuICAgKi9cbiAgc2VsZWN0T25jZTxUPihzZWxlY3RvcjogVHlwZWRTZWxlY3RvcjxUPik6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdChzZWxlY3RvcikucGlwZSh0YWtlKDEpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3QgYSBzbmFwc2hvdCBmcm9tIHRoZSBzdGF0ZS5cbiAgICovXG4gIHNlbGVjdFNuYXBzaG90PFQ+KHNlbGVjdG9yOiBUeXBlZFNlbGVjdG9yPFQ+KTogVCB7XG4gICAgY29uc3Qgc2VsZWN0b3JGbiA9IHRoaXMuZ2V0U3RvcmVCb3VuZFNlbGVjdG9yRm4oc2VsZWN0b3IpO1xuICAgIHJldHVybiBzZWxlY3RvckZuKHRoaXMuX3N0YXRlU3RyZWFtLmdldFZhbHVlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBhIHNpZ25hbCBmcm9tIHRoZSBzdGF0ZS5cbiAgICovXG4gIHNlbGVjdFNpZ25hbDxUPihzZWxlY3RvcjogVHlwZWRTZWxlY3RvcjxUPik6IFNpZ25hbDxUPiB7XG4gICAgY29uc3Qgc2VsZWN0b3JGbiA9IHRoaXMuZ2V0U3RvcmVCb3VuZFNlbGVjdG9yRm4oc2VsZWN0b3IpO1xuICAgIHJldHVybiBjb21wdXRlZDxUPigoKSA9PiBzZWxlY3RvckZuKHRoaXMuX3N0YXRlU3RyZWFtLnN0YXRlKCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvdyB0aGUgdXNlciB0byBzdWJzY3JpYmUgdG8gdGhlIHJvb3Qgb2YgdGhlIHN0YXRlXG4gICAqL1xuICBzdWJzY3JpYmUoZm4/OiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGFibGVTdGF0ZVN0cmVhbVxuICAgICAgLnBpcGUobGVhdmVOZ3hzKHRoaXMuX2ludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3kpKVxuICAgICAgLnN1YnNjcmliZShmbik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSByYXcgdmFsdWUgb2YgdGhlIHN0YXRlLlxuICAgKi9cbiAgc25hcHNob3QoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuZ2V0Um9vdFN0YXRlT3BlcmF0aW9ucygpLmdldFN0YXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgdGhlIHN0YXRlIHRvIGEgc3BlY2lmaWMgcG9pbnQgaW4gdGltZS4gVGhpcyBtZXRob2QgaXMgdXNlZnVsXG4gICAqIGZvciBwbHVnaW4ncyB3aG8gbmVlZCB0byBtb2RpZnkgdGhlIHN0YXRlIGRpcmVjdGx5IG9yIHVuaXQgdGVzdGluZy5cbiAgICovXG4gIHJlc2V0KHN0YXRlOiBhbnkpIHtcbiAgICB0aGlzLl9pbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCkuc2V0U3RhdGUoc3RhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdG9yZUJvdW5kU2VsZWN0b3JGbihzZWxlY3RvcjogYW55KSB7XG4gICAgY29uc3QgbWFrZVNlbGVjdG9yRm4gPSBnZXRSb290U2VsZWN0b3JGYWN0b3J5KHNlbGVjdG9yKTtcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMuX3N0YXRlRmFjdG9yeS5nZXRSdW50aW1lU2VsZWN0b3JDb250ZXh0KCk7XG4gICAgcmV0dXJuIG1ha2VTZWxlY3RvckZuKHJ1bnRpbWVDb250ZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFN0YXRlU3RyZWFtKGluaXRpYWxTdGF0ZVZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX3N0YXRlU3RyZWFtLnZhbHVlO1xuICAgIGNvbnN0IHN0b3JlSXNFbXB0eSA9ICF2YWx1ZSB8fCBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwO1xuXG4gICAgaWYgKHN0b3JlSXNFbXB0eSkge1xuICAgICAgdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChpbml0aWFsU3RhdGVWYWx1ZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBRUwsRUFBRSxFQUVGLFVBQVUsRUFDVixVQUFVLEVBQ1Ysb0JBQW9CLEVBQ3BCLEdBQUcsRUFDSCxXQUFXLEVBQ1gsSUFBSSxFQUNMLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUl4RCxNQUFNLE9BQU8sS0FBSztJQVdoQixZQUNVLFlBQTBCLEVBQzFCLHdCQUFpRCxFQUNqRCxPQUFtQixFQUNuQiwwQkFBeUQsRUFDekQsYUFBMkIsRUFHbkMsaUJBQXNCO1FBUGQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQUNqRCxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBK0I7UUFDekQsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFmckM7Ozs7V0FJRztRQUNLLDJCQUFzQixHQUFHLElBQUks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QUFlLENBQUMsaUJBQXNCO1FBQzVDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ3RDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUUvRCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7aUlBaEhVLEtBQUssd0xBa0JOLG9CQUFvQjtxSUFsQm5CLEtBQUssY0FEUSxNQUFNOzsyRkFDbkIsS0FBSztrQkFEakIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQWtCN0IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3Vic2NyaXB0aW9uLFxuICB0aHJvd0Vycm9yLFxuICBjYXRjaEVycm9yLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwLFxuICBzaGFyZVJlcGxheSxcbiAgdGFrZVxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IMm1SU5JVElBTF9TVEFURV9UT0tFTiwgybVTdGF0ZVN0cmVhbSB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7IEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9leGVjdXRpb24vaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xuaW1wb3J0IHsgSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgfSBmcm9tICcuL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHsgZ2V0Um9vdFNlbGVjdG9yRmFjdG9yeSB9IGZyb20gJy4vc2VsZWN0b3JzL3NlbGVjdG9yLXV0aWxzJztcbmltcG9ydCB7IGxlYXZlTmd4cyB9IGZyb20gJy4vb3BlcmF0b3JzL2xlYXZlLW5neHMnO1xuaW1wb3J0IHsgTmd4c0NvbmZpZyB9IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyBTdGF0ZUZhY3RvcnkgfSBmcm9tICcuL2ludGVybmFsL3N0YXRlLWZhY3RvcnknO1xuaW1wb3J0IHsgVHlwZWRTZWxlY3RvciB9IGZyb20gJy4vc2VsZWN0b3JzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTdG9yZSB7XG4gIC8qKlxuICAgKiBUaGlzIGlzIGEgZGVyaXZlZCBzdGF0ZSBzdHJlYW0gdGhhdCBsZWF2ZXMgTkdYUyBleGVjdXRpb24gc3RyYXRlZ3kgdG8gZW1pdCBzdGF0ZSBjaGFuZ2VzIHdpdGhpbiB0aGUgQW5ndWxhciB6b25lLFxuICAgKiBiZWNhdXNlIHN0YXRlIGlzIGJlaW5nIGNoYW5nZWQgYWN0dWFsbHkgd2l0aGluIHRoZSBgPHJvb3Q+YCB6b25lLCBzZWUgYEludGVybmFsRGlzcGF0Y2hlciNkaXNwYXRjaFNpbmdsZWAuXG4gICAqIEFsbCBzZWxlY3RzIHdvdWxkIHVzZSB0aGlzIHN0cmVhbSwgYW5kIGl0IHdvdWxkIGNhbGwgbGVhdmUgb25seSBvbmNlIGZvciBhbnkgc3RhdGUgY2hhbmdlIGFjcm9zcyBhbGwgYWN0aXZlIHNlbGVjdG9ycy5cbiAgICovXG4gIHByaXZhdGUgX3NlbGVjdGFibGVTdGF0ZVN0cmVhbSA9IHRoaXMuX3N0YXRlU3RyZWFtLnBpcGUoXG4gICAgbGVhdmVOZ3hzKHRoaXMuX2ludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3kpLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9zdGF0ZVN0cmVhbTogybVTdGF0ZVN0cmVhbSxcbiAgICBwcml2YXRlIF9pbnRlcm5hbFN0YXRlT3BlcmF0aW9uczogSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMsXG4gICAgcHJpdmF0ZSBfY29uZmlnOiBOZ3hzQ29uZmlnLFxuICAgIHByaXZhdGUgX2ludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3k6IEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5LFxuICAgIHByaXZhdGUgX3N0YXRlRmFjdG9yeTogU3RhdGVGYWN0b3J5LFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdCjJtUlOSVRJQUxfU1RBVEVfVE9LRU4pXG4gICAgaW5pdGlhbFN0YXRlVmFsdWU6IGFueVxuICApIHtcbiAgICB0aGlzLmluaXRTdGF0ZVN0cmVhbShpbml0aWFsU3RhdGVWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGF0Y2hlcyBldmVudChzKS5cbiAgICovXG4gIGRpc3BhdGNoKGFjdGlvbk9yQWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuZ2V0Um9vdFN0YXRlT3BlcmF0aW9ucygpLmRpc3BhdGNoKGFjdGlvbk9yQWN0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhIHNsaWNlIG9mIGRhdGEgZnJvbSB0aGUgc3RvcmUuXG4gICAqL1xuICBzZWxlY3Q8VD4oc2VsZWN0b3I6IFR5cGVkU2VsZWN0b3I8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBzZWxlY3RvckZuID0gdGhpcy5nZXRTdG9yZUJvdW5kU2VsZWN0b3JGbihzZWxlY3Rvcik7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGFibGVTdGF0ZVN0cmVhbS5waXBlKFxuICAgICAgbWFwKHNlbGVjdG9yRm4pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEVycm9yKTogT2JzZXJ2YWJsZTxuZXZlcj4gfCBPYnNlcnZhYmxlPHVuZGVmaW5lZD4gPT4ge1xuICAgICAgICAvLyBpZiBlcnJvciBpcyBUeXBlRXJyb3Igd2Ugc3dhbGxvdyBpdCB0byBwcmV2ZW50IHVzdWFsIGVycm9ycyB3aXRoIHByb3BlcnR5IGFjY2Vzc1xuICAgICAgICBpZiAodGhpcy5fY29uZmlnLnNlbGVjdG9yT3B0aW9ucy5zdXBwcmVzc0Vycm9ycyAmJiBlcnJvciBpbnN0YW5jZW9mIFR5cGVFcnJvcikge1xuICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmV0aHJvdyBvdGhlciBlcnJvcnNcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgfSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgbGVhdmVOZ3hzKHRoaXMuX2ludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3kpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3Qgb25lIHNsaWNlIG9mIGRhdGEgZnJvbSB0aGUgc3RvcmUuXG4gICAqL1xuICBzZWxlY3RPbmNlPFQ+KHNlbGVjdG9yOiBUeXBlZFNlbGVjdG9yPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0KHNlbGVjdG9yKS5waXBlKHRha2UoMSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBhIHNuYXBzaG90IGZyb20gdGhlIHN0YXRlLlxuICAgKi9cbiAgc2VsZWN0U25hcHNob3Q8VD4oc2VsZWN0b3I6IFR5cGVkU2VsZWN0b3I8VD4pOiBUIHtcbiAgICBjb25zdCBzZWxlY3RvckZuID0gdGhpcy5nZXRTdG9yZUJvdW5kU2VsZWN0b3JGbihzZWxlY3Rvcik7XG4gICAgcmV0dXJuIHNlbGVjdG9yRm4odGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGEgc2lnbmFsIGZyb20gdGhlIHN0YXRlLlxuICAgKi9cbiAgc2VsZWN0U2lnbmFsPFQ+KHNlbGVjdG9yOiBUeXBlZFNlbGVjdG9yPFQ+KTogU2lnbmFsPFQ+IHtcbiAgICBjb25zdCBzZWxlY3RvckZuID0gdGhpcy5nZXRTdG9yZUJvdW5kU2VsZWN0b3JGbihzZWxlY3Rvcik7XG4gICAgcmV0dXJuIGNvbXB1dGVkPFQ+KCgpID0+IHNlbGVjdG9yRm4odGhpcy5fc3RhdGVTdHJlYW0uc3RhdGUoKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93IHRoZSB1c2VyIHRvIHN1YnNjcmliZSB0byB0aGUgcm9vdCBvZiB0aGUgc3RhdGVcbiAgICovXG4gIHN1YnNjcmliZShmbj86ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZVN0YXRlU3RyZWFtXG4gICAgICAucGlwZShsZWF2ZU5neHModGhpcy5faW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneSkpXG4gICAgICAuc3Vic2NyaWJlKGZuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHJhdyB2YWx1ZSBvZiB0aGUgc3RhdGUuXG4gICAqL1xuICBzbmFwc2hvdCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCkuZ2V0U3RhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgc3RhdGUgdG8gYSBzcGVjaWZpYyBwb2ludCBpbiB0aW1lLiBUaGlzIG1ldGhvZCBpcyB1c2VmdWxcbiAgICogZm9yIHBsdWdpbidzIHdobyBuZWVkIHRvIG1vZGlmeSB0aGUgc3RhdGUgZGlyZWN0bHkgb3IgdW5pdCB0ZXN0aW5nLlxuICAgKi9cbiAgcmVzZXQoc3RhdGU6IGFueSkge1xuICAgIHRoaXMuX2ludGVybmFsU3RhdGVPcGVyYXRpb25zLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKS5zZXRTdGF0ZShzdGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldFN0b3JlQm91bmRTZWxlY3RvckZuKHNlbGVjdG9yOiBhbnkpIHtcbiAgICBjb25zdCBtYWtlU2VsZWN0b3JGbiA9IGdldFJvb3RTZWxlY3RvckZhY3Rvcnkoc2VsZWN0b3IpO1xuICAgIGNvbnN0IHJ1bnRpbWVDb250ZXh0ID0gdGhpcy5fc3RhdGVGYWN0b3J5LmdldFJ1bnRpbWVTZWxlY3RvckNvbnRleHQoKTtcbiAgICByZXR1cm4gbWFrZVNlbGVjdG9yRm4ocnVudGltZUNvbnRleHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0U3RhdGVTdHJlYW0oaW5pdGlhbFN0YXRlVmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fc3RhdGVTdHJlYW0udmFsdWU7XG4gICAgY29uc3Qgc3RvcmVJc0VtcHR5ID0gIXZhbHVlIHx8IE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT09IDA7XG5cbiAgICBpZiAoc3RvcmVJc0VtcHR5KSB7XG4gICAgICB0aGlzLl9zdGF0ZVN0cmVhbS5uZXh0KGluaXRpYWxTdGF0ZVZhbHVlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -41,8 +41,8 @@ export class NgxsConfig {
41
41
  suppressErrors: false
42
42
  };
43
43
  }
44
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
45
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsConfig, providedIn: 'root', useFactory: () => {
44
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
45
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsConfig, providedIn: 'root', useFactory: () => {
46
46
  const defaultConfig = new NgxsConfig();
47
47
  const config = inject(NGXS_OPTIONS);
48
48
  return {
@@ -55,7 +55,7 @@ export class NgxsConfig {
55
55
  };
56
56
  } }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsConfig, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsConfig, decorators: [{
59
59
  type: Injectable,
60
60
  args: [{
61
61
  providedIn: 'root',
@@ -0,0 +1 @@
1
+ export { withExperimentalNgxsPendingTasks } from './pending-tasks';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * This is an experimental feature that contributes to app stability,
3
+ * which is required during server-side rendering. With asynchronous
4
+ * actions being dispatched and handled, Angular is unaware of them in
5
+ * zoneless mode and doesn't know whether the app is still unstable.
6
+ * This may prematurely serialize the final HTML that is sent to the client.
7
+ */
8
+ export declare function withExperimentalNgxsPendingTasks(): import("@angular/core").EnvironmentProviders;
@@ -0,0 +1,37 @@
1
+ import { inject, ExperimentalPendingTasks } from '@angular/core';
2
+ import { withNgxsPreboot, Actions } from '@ngxs/store';
3
+
4
+ /**
5
+ * This is an experimental feature that contributes to app stability,
6
+ * which is required during server-side rendering. With asynchronous
7
+ * actions being dispatched and handled, Angular is unaware of them in
8
+ * zoneless mode and doesn't know whether the app is still unstable.
9
+ * This may prematurely serialize the final HTML that is sent to the client.
10
+ */
11
+ function withExperimentalNgxsPendingTasks() {
12
+ return withNgxsPreboot(() => {
13
+ const pendingTasks = inject(ExperimentalPendingTasks);
14
+ const actions$ = inject(Actions);
15
+ const actionToRemoveTaskFnMap = new Map();
16
+ actions$.subscribe(ctx => {
17
+ if (ctx.status === "DISPATCHED" /* ActionStatus.Dispatched */) {
18
+ const removeTaskFn = pendingTasks.add();
19
+ actionToRemoveTaskFnMap.set(ctx.action, removeTaskFn);
20
+ }
21
+ else {
22
+ const removeTaskFn = actionToRemoveTaskFnMap.get(ctx.action);
23
+ if (typeof removeTaskFn === 'function') {
24
+ removeTaskFn();
25
+ actionToRemoveTaskFnMap.delete(ctx.action);
26
+ }
27
+ }
28
+ });
29
+ });
30
+ }
31
+
32
+ /**
33
+ * Generated bundle index. Do not edit.
34
+ */
35
+
36
+ export { withExperimentalNgxsPendingTasks };
37
+ //# sourceMappingURL=ngxs-store-experimental.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngxs-store-experimental.mjs","sources":["../../../packages/store/experimental/src/pending-tasks.ts","../../../packages/store/experimental/src/ngxs-store-experimental.ts"],"sourcesContent":["import { inject, ExperimentalPendingTasks } from '@angular/core';\nimport { ActionStatus, Actions, withNgxsPreboot } from '@ngxs/store';\n\n/**\n * This is an experimental feature that contributes to app stability,\n * which is required during server-side rendering. With asynchronous\n * actions being dispatched and handled, Angular is unaware of them in\n * zoneless mode and doesn't know whether the app is still unstable.\n * This may prematurely serialize the final HTML that is sent to the client.\n */\nexport function withExperimentalNgxsPendingTasks() {\n return withNgxsPreboot(() => {\n const pendingTasks = inject(ExperimentalPendingTasks);\n const actions$ = inject(Actions);\n\n const actionToRemoveTaskFnMap = new Map<any, () => void>();\n\n actions$.subscribe(ctx => {\n if (ctx.status === ActionStatus.Dispatched) {\n const removeTaskFn = pendingTasks.add();\n actionToRemoveTaskFnMap.set(ctx.action, removeTaskFn);\n } else {\n const removeTaskFn = actionToRemoveTaskFnMap.get(ctx.action);\n if (typeof removeTaskFn === 'function') {\n removeTaskFn();\n actionToRemoveTaskFnMap.delete(ctx.action);\n }\n }\n });\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGA;;;;;;AAMG;SACa,gCAAgC,GAAA;IAC9C,OAAO,eAAe,CAAC,MAAK;AAC1B,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACtD,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAEjC,QAAA,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAmB,CAAC;AAE3D,QAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAG;AACvB,YAAA,IAAI,GAAG,CAAC,MAAM,KAAA,YAAA,gCAA8B;AAC1C,gBAAA,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;gBACxC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;aACvD;iBAAM;gBACL,MAAM,YAAY,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7D,gBAAA,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;AACtC,oBAAA,YAAY,EAAE,CAAC;AACf,oBAAA,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC5C;aACF;AACH,SAAC,CAAC,CAAC;AACL,KAAC,CAAC,CAAC;AACL;;AC9BA;;AAEG;;;;"}
@@ -77,10 +77,10 @@ function freshPlatform(fn) {
77
77
  class NgxsTestComponent {
78
78
  ngOnInit() { }
79
79
  ngAfterViewInit() { }
80
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
81
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: NgxsTestComponent, selector: "app-root", ngImport: i0, template: '', isInline: true }); }
80
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
81
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: NgxsTestComponent, selector: "app-root", ngImport: i0, template: '', isInline: true }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsTestComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsTestComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{
86
86
  selector: 'app-root',
@@ -92,11 +92,11 @@ class NgxsTestModule {
92
92
  static ngDoBootstrap(app) {
93
93
  app.bootstrap(NgxsTestComponent);
94
94
  }
95
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsTestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
96
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: NgxsTestModule, declarations: [NgxsTestComponent], imports: [BrowserModule] }); }
97
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsTestModule, imports: [BrowserModule] }); }
95
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsTestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
96
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: NgxsTestModule, declarations: [NgxsTestComponent], imports: [BrowserModule] }); }
97
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsTestModule, imports: [BrowserModule] }); }
98
98
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsTestModule, decorators: [{
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsTestModule, decorators: [{
100
100
  type: NgModule,
101
101
  args: [{
102
102
  imports: [BrowserModule],
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injectable } from '@angular/core';
3
- import { ReplaySubject, Subject, BehaviorSubject } from 'rxjs';
2
+ import { InjectionToken, Injectable, untracked } from '@angular/core';
3
+ import { ReplaySubject, Subject, BehaviorSubject, Observable } from 'rxjs';
4
4
  import { toSignal } from '@angular/core/rxjs-interop';
5
5
 
6
6
  // This key is used to store metadata on state classes,
@@ -156,10 +156,10 @@ class ɵNgxsAppBootstrappedState extends ReplaySubject {
156
156
  this.next(true);
157
157
  this.complete();
158
158
  }
159
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ɵNgxsAppBootstrappedState, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
160
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ɵNgxsAppBootstrappedState, providedIn: 'root' }); }
159
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ɵNgxsAppBootstrappedState, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
160
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ɵNgxsAppBootstrappedState, providedIn: 'root' }); }
161
161
  }
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ɵNgxsAppBootstrappedState, decorators: [{
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ɵNgxsAppBootstrappedState, decorators: [{
163
163
  type: Injectable,
164
164
  args: [{ providedIn: 'root' }]
165
165
  }], ctorParameters: () => [] });
@@ -260,6 +260,24 @@ class ɵOrderedBehaviorSubject extends BehaviorSubject {
260
260
  }
261
261
  }
262
262
 
263
+ function ɵwrapObserverCalls(invokeFn) {
264
+ return (source) => {
265
+ return new Observable(subscriber => {
266
+ return source.subscribe({
267
+ next(value) {
268
+ invokeFn(() => subscriber.next(value));
269
+ },
270
+ error(error) {
271
+ invokeFn(() => subscriber.error(error));
272
+ },
273
+ complete() {
274
+ invokeFn(() => subscriber.complete());
275
+ }
276
+ });
277
+ });
278
+ };
279
+ }
280
+
263
281
  /**
264
282
  * BehaviorSubject of the entire state.
265
283
  * @ignore
@@ -267,7 +285,7 @@ class ɵOrderedBehaviorSubject extends BehaviorSubject {
267
285
  class ɵStateStream extends ɵOrderedBehaviorSubject {
268
286
  constructor() {
269
287
  super({});
270
- this.state = toSignal(this, {
288
+ this.state = toSignal(this.pipe(ɵwrapObserverCalls(untracked)), {
271
289
  manualCleanup: true,
272
290
  requireSync: true
273
291
  });
@@ -280,10 +298,10 @@ class ɵStateStream extends ɵOrderedBehaviorSubject {
280
298
  // or `store.subscribe`, it can result in significant memory leaks in SSR apps.
281
299
  this.complete();
282
300
  }
283
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ɵStateStream, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
284
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ɵStateStream, providedIn: 'root' }); }
301
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ɵStateStream, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
302
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ɵStateStream, providedIn: 'root' }); }
285
303
  }
286
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ɵStateStream, decorators: [{
304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ɵStateStream, decorators: [{
287
305
  type: Injectable,
288
306
  args: [{ providedIn: 'root' }]
289
307
  }], ctorParameters: () => [] });
@@ -292,5 +310,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
292
310
  * Generated bundle index. Do not edit.
293
311
  */
294
312
 
295
- export { StateToken, ɵINITIAL_STATE_TOKEN, ɵInitialState, ɵMETA_KEY, ɵMETA_OPTIONS_KEY, ɵNGXS_STATE_CONTEXT_FACTORY, ɵNGXS_STATE_FACTORY, ɵNgxsAppBootstrappedState, ɵOrderedBehaviorSubject, ɵOrderedSubject, ɵSELECTOR_META_KEY, ɵStateStream, ɵensureSelectorMetadata, ɵensureStoreMetadata, ɵgetSelectorMetadata, ɵgetStoreMetadata, ɵmemoize };
313
+ export { StateToken, ɵINITIAL_STATE_TOKEN, ɵInitialState, ɵMETA_KEY, ɵMETA_OPTIONS_KEY, ɵNGXS_STATE_CONTEXT_FACTORY, ɵNGXS_STATE_FACTORY, ɵNgxsAppBootstrappedState, ɵOrderedBehaviorSubject, ɵOrderedSubject, ɵSELECTOR_META_KEY, ɵStateStream, ɵensureSelectorMetadata, ɵensureStoreMetadata, ɵgetSelectorMetadata, ɵgetStoreMetadata, ɵmemoize, ɵwrapObserverCalls };
296
314
  //# sourceMappingURL=ngxs-store-internals.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngxs-store-internals.mjs","sources":["../../../packages/store/internals/src/symbols.ts","../../../packages/store/internals/src/metadata.ts","../../../packages/store/internals/src/memoize.ts","../../../packages/store/internals/src/state-token.ts","../../../packages/store/internals/src/initial-state.ts","../../../packages/store/internals/src/ngxs-app-bootstrapped-state.ts","../../../packages/store/internals/src/internal-tokens.ts","../../../packages/store/internals/src/custom-rxjs-subjects.ts","../../../packages/store/internals/src/state-stream.ts","../../../packages/store/internals/src/ngxs-store-internals.ts"],"sourcesContent":["import type { StateToken } from './state-token';\n\nexport interface ɵPlainObject {\n [key: string]: any;\n}\n\nexport interface ɵPlainObjectOf<T> {\n [key: string]: T;\n}\n\nexport type ɵStateClass<T = any> = new (...args: any[]) => T;\n\n// This key is used to store metadata on state classes,\n// such as actions and other related information.\nexport const ɵMETA_KEY = 'NGXS_META';\n// This key is used to store options on state classes\n// provided through the `@State` decorator.\nexport const ɵMETA_OPTIONS_KEY = 'NGXS_OPTIONS_META';\n// This key is used to store selector metadata on selector functions,\n// such as decorated with the `@Selector` or provided through the\n// `createSelector` function.\nexport const ɵSELECTOR_META_KEY = 'NGXS_SELECTOR_META';\n\nexport interface ɵStateToken<T, U> {\n new (name: ɵTokenName<T>): U;\n getName(): string;\n toString(): string;\n}\n\ntype RequireGeneric<T, U> = T extends void ? 'You must provide a type parameter' : U;\n\nexport type ɵTokenName<T> = string & RequireGeneric<T, string>;\n\nexport type ɵExtractTokenType<P> = P extends StateToken<infer T> ? T : never;\n\n/**\n * Options that can be provided to the store.\n */\nexport interface ɵStoreOptions<T> {\n /**\n * Name of the state. Required.\n */\n name: string | StateToken<T>;\n\n /**\n * Default values for the state. If not provided, uses empty object.\n */\n defaults?: T;\n\n /**\n * Sub states for the given state.\n *\n * @deprecated\n * Read the deprecation notice at this link: https://ngxs.io/deprecations/sub-states-deprecation.\n */\n children?: ɵStateClass[];\n}\n\n// inspired from https://stackoverflow.com/a/43674389\nexport interface ɵStateClassInternal<T = any, U = any> extends ɵStateClass<T> {\n [ɵMETA_KEY]?: ɵMetaDataModel;\n [ɵMETA_OPTIONS_KEY]?: ɵStoreOptions<U>;\n}\n\nexport interface ɵMetaDataModel {\n name: string | null;\n actions: ɵPlainObjectOf<ɵActionHandlerMetaData[]>;\n defaults: any;\n path: string | null;\n makeRootSelector: ɵSelectorFactory | null;\n /** @deprecated */\n children?: ɵStateClassInternal[];\n}\n\nexport interface ɵSelectorMetaDataModel {\n makeRootSelector: ɵSelectorFactory | null;\n originalFn: Function | null;\n containerClass: any;\n selectorName: string | null;\n getSelectorOptions: () => ɵSharedSelectorOptions;\n}\n\nexport interface ɵSharedSelectorOptions {\n /**\n * @deprecated\n * Read the deprecation notice at this link: https://ngxs.io/deprecations/inject-container-state-deprecation.md.\n */\n injectContainerState?: boolean;\n suppressErrors?: boolean;\n}\n\nexport interface ɵRuntimeSelectorContext {\n getStateGetter(key: any): (state: any) => any;\n getSelectorOptions(localOptions?: ɵSharedSelectorOptions): ɵSharedSelectorOptions;\n}\n\nexport type ɵSelectFromRootState = (rootState: any) => any;\nexport type ɵSelectorFactory = (\n runtimeContext: ɵRuntimeSelectorContext\n) => ɵSelectFromRootState;\n\n/**\n * Actions that can be provided in a action decorator.\n */\nexport interface ɵActionOptions {\n /**\n * Cancel the previous uncompleted observable(s).\n */\n cancelUncompleted?: boolean;\n}\n\nexport interface ɵActionHandlerMetaData {\n fn: string | symbol;\n options: ɵActionOptions;\n type: string;\n}\n","import {\n ɵMETA_KEY,\n ɵSELECTOR_META_KEY,\n ɵMetaDataModel,\n ɵStateClassInternal,\n ɵSelectorMetaDataModel,\n ɵRuntimeSelectorContext\n} from './symbols';\n\n/**\n * Ensures metadata is attached to the class and returns it.\n *\n * @ignore\n */\nexport function ɵensureStoreMetadata(target: ɵStateClassInternal): ɵMetaDataModel {\n if (!target.hasOwnProperty(ɵMETA_KEY)) {\n const defaultMetadata: ɵMetaDataModel = {\n name: null,\n actions: {},\n defaults: {},\n path: null,\n makeRootSelector(context: ɵRuntimeSelectorContext) {\n return context.getStateGetter(defaultMetadata.name);\n },\n children: []\n };\n\n Object.defineProperty(target, ɵMETA_KEY, { value: defaultMetadata });\n }\n return ɵgetStoreMetadata(target);\n}\n\n/**\n * Get the metadata attached to the state class if it exists.\n *\n * @ignore\n */\nexport function ɵgetStoreMetadata(target: ɵStateClassInternal): ɵMetaDataModel {\n return target[ɵMETA_KEY]!;\n}\n\n/**\n * Ensures metadata is attached to the selector and returns it.\n *\n * @ignore\n */\nexport function ɵensureSelectorMetadata(target: Function): ɵSelectorMetaDataModel {\n if (!target.hasOwnProperty(ɵSELECTOR_META_KEY)) {\n const defaultMetadata: ɵSelectorMetaDataModel = {\n makeRootSelector: null,\n originalFn: null,\n containerClass: null,\n selectorName: null,\n getSelectorOptions: () => ({})\n };\n\n Object.defineProperty(target, ɵSELECTOR_META_KEY, { value: defaultMetadata });\n }\n\n return ɵgetSelectorMetadata(target);\n}\n\n/**\n * Get the metadata attached to the selector if it exists.\n *\n * @ignore\n */\nexport function ɵgetSelectorMetadata(target: any): ɵSelectorMetaDataModel {\n return target[ɵSELECTOR_META_KEY];\n}\n","function defaultEqualityCheck(a: any, b: any) {\n return a === b;\n}\n\nfunction areArgumentsShallowlyEqual(\n equalityCheck: (a: any, b: any) => boolean,\n prev: IArguments | null,\n next: IArguments | null\n) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n }\n\n // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n const length = prev.length;\n for (let i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Memoize a function on its last inputs only.\n * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js\n *\n * @ignore\n */\nexport function ɵmemoize<T extends (...args: any[]) => any>(\n func: T,\n equalityCheck = defaultEqualityCheck\n): T {\n let lastArgs: IArguments | null = null;\n let lastResult: any = null;\n // we reference arguments instead of spreading them for performance reasons\n function memoized() {\n // eslint-disable-next-line prefer-rest-params\n if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {\n // apply arguments instead of spreading for performance.\n // eslint-disable-next-line prefer-rest-params, prefer-spread\n lastResult = (<Function>func).apply(null, arguments);\n }\n // eslint-disable-next-line prefer-rest-params\n lastArgs = arguments;\n return lastResult;\n }\n (<any>memoized).reset = function () {\n // The hidden (for now) ability to reset the memoization\n lastArgs = null;\n lastResult = null;\n };\n return memoized as T;\n}\n","import { ɵensureSelectorMetadata } from './metadata';\nimport type { ɵTokenName, ɵSelectFromRootState, ɵRuntimeSelectorContext } from './symbols';\n\nexport class StateToken<T = void> {\n constructor(private readonly _name: ɵTokenName<T>) {\n const selectorMetadata = ɵensureSelectorMetadata(<any>this);\n selectorMetadata.makeRootSelector = (\n runtimeContext: ɵRuntimeSelectorContext\n ): ɵSelectFromRootState => {\n return runtimeContext.getStateGetter(this._name);\n };\n }\n\n getName(): string {\n return this._name;\n }\n\n toString(): string {\n return `StateToken[${this._name}]`;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { ɵPlainObject } from './symbols';\n\ndeclare const ngDevMode: boolean;\n\nconst NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;\n\nexport class ɵInitialState {\n private static _value: ɵPlainObject = {};\n\n static set(state: ɵPlainObject) {\n this._value = state;\n }\n\n static pop(): ɵPlainObject {\n const state = this._value;\n this._value = {};\n return state;\n }\n}\n\nexport const ɵINITIAL_STATE_TOKEN = new InjectionToken<ɵPlainObject>(\n NG_DEV_MODE ? 'INITIAL_STATE_TOKEN' : '',\n {\n providedIn: 'root',\n factory: () => ɵInitialState.pop()\n }\n);\n","import { Injectable } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ɵNgxsAppBootstrappedState extends ReplaySubject<boolean> {\n constructor() {\n super(1);\n }\n\n bootstrap(): void {\n this.next(true);\n this.complete();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\ndeclare const ngDevMode: boolean;\n\nconst NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;\n\n// These tokens are internal and can change at any point.\n\nexport const ɵNGXS_STATE_FACTORY = new InjectionToken<any>(\n NG_DEV_MODE ? 'ɵNGXS_STATE_FACTORY' : ''\n);\n\nexport const ɵNGXS_STATE_CONTEXT_FACTORY = new InjectionToken<any>(\n NG_DEV_MODE ? 'ɵNGXS_STATE_CONTEXT_FACTORY' : ''\n);\n","import { BehaviorSubject, Subject } from 'rxjs';\n\n/**\n * This wraps the provided function, and will enforce the following:\n * - The calls will execute in the order that they are made\n * - A call will only be initiated when the previous call has completed\n * - If there is a call currently executing then the new call will be added\n * to the queue and the function will return immediately\n *\n * NOTE: The following assumptions about the operation must hold true:\n * - The operation is synchronous in nature\n * - If any asynchronous side effects of the call exist, it should not\n * have any bearing on the correctness of the next call in the queue\n * - The operation has a void return\n * - The caller should not assume that the call has completed upon\n * return of the function\n * - The caller can assume that all the queued calls will complete\n * within the current microtask\n * - The only way that a call will encounter another call in the queue\n * would be if the call at the front of the queue initiated this call\n * as part of its synchronous execution\n */\nfunction orderedQueueOperation<TArgs extends any[]>(operation: (...args: TArgs) => void) {\n const callsQueue: TArgs[] = [];\n let busyPushingNext = false;\n return function callOperation(...args: TArgs) {\n if (busyPushingNext) {\n callsQueue.unshift(args);\n return;\n }\n busyPushingNext = true;\n operation(...args);\n while (callsQueue.length > 0) {\n const nextCallArgs = callsQueue.pop();\n nextCallArgs && operation(...nextCallArgs);\n }\n busyPushingNext = false;\n };\n}\n\n/**\n * Custom Subject that ensures that subscribers are notified of values in the order that they arrived.\n * A standard Subject does not have this guarantee.\n * For example, given the following code:\n * ```typescript\n * const subject = new Subject<string>();\n subject.subscribe(value => {\n if (value === 'start') subject.next('end');\n });\n subject.subscribe(value => { });\n subject.next('start');\n * ```\n * When `subject` is a standard `Subject<T>` the second subscriber would recieve `end` and then `start`.\n * When `subject` is a `OrderedSubject<T>` the second subscriber would recieve `start` and then `end`.\n */\nexport class ɵOrderedSubject<T> extends Subject<T> {\n private _orderedNext = orderedQueueOperation((value?: T) => super.next(<T>value));\n\n next(value?: T): void {\n this._orderedNext(value);\n }\n}\n\n/**\n * Custom BehaviorSubject that ensures that subscribers are notified of values in the order that they arrived.\n * A standard BehaviorSubject does not have this guarantee.\n * For example, given the following code:\n * ```typescript\n * const subject = new BehaviorSubject<string>();\n subject.subscribe(value => {\n if (value === 'start') subject.next('end');\n });\n subject.subscribe(value => { });\n subject.next('start');\n * ```\n * When `subject` is a standard `BehaviorSubject<T>` the second subscriber would recieve `end` and then `start`.\n * When `subject` is a `OrderedBehaviorSubject<T>` the second subscriber would recieve `start` and then `end`.\n */\nexport class ɵOrderedBehaviorSubject<T> extends BehaviorSubject<T> {\n private _orderedNext = orderedQueueOperation((value: T) => super.next(value));\n private _currentValue: T;\n\n constructor(value: T) {\n super(value);\n this._currentValue = value;\n }\n\n getValue(): T {\n return this._currentValue;\n }\n\n next(value: T): void {\n this._currentValue = value;\n this._orderedNext(value);\n }\n}\n","import { Injectable, OnDestroy, Signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nimport { ɵPlainObject } from './symbols';\nimport { ɵOrderedBehaviorSubject } from './custom-rxjs-subjects';\n\n/**\n * BehaviorSubject of the entire state.\n * @ignore\n */\n@Injectable({ providedIn: 'root' })\nexport class ɵStateStream extends ɵOrderedBehaviorSubject<ɵPlainObject> implements OnDestroy {\n readonly state: Signal<ɵPlainObject> = toSignal(this, {\n manualCleanup: true,\n requireSync: true\n });\n\n constructor() {\n super({});\n }\n\n ngOnDestroy(): void {\n // The StateStream should never emit values once the root view is removed,\n // such as when the `NgModuleRef.destroy()` method is called. This is crucial\n // for preventing memory leaks in server-side rendered apps, where a new StateStream\n // is created for each HTTP request. If users forget to unsubscribe from `store.select`\n // or `store.subscribe`, it can result in significant memory leaks in SSR apps.\n this.complete();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["NG_DEV_MODE"],"mappings":"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"}
1
+ {"version":3,"file":"ngxs-store-internals.mjs","sources":["../../../packages/store/internals/src/symbols.ts","../../../packages/store/internals/src/metadata.ts","../../../packages/store/internals/src/memoize.ts","../../../packages/store/internals/src/state-token.ts","../../../packages/store/internals/src/initial-state.ts","../../../packages/store/internals/src/ngxs-app-bootstrapped-state.ts","../../../packages/store/internals/src/internal-tokens.ts","../../../packages/store/internals/src/custom-rxjs-subjects.ts","../../../packages/store/internals/src/custom-rxjs-operators.ts","../../../packages/store/internals/src/state-stream.ts","../../../packages/store/internals/src/ngxs-store-internals.ts"],"sourcesContent":["import type { StateToken } from './state-token';\n\nexport interface ɵPlainObject {\n [key: string]: any;\n}\n\nexport interface ɵPlainObjectOf<T> {\n [key: string]: T;\n}\n\nexport type ɵStateClass<T = any> = new (...args: any[]) => T;\n\n// This key is used to store metadata on state classes,\n// such as actions and other related information.\nexport const ɵMETA_KEY = 'NGXS_META';\n// This key is used to store options on state classes\n// provided through the `@State` decorator.\nexport const ɵMETA_OPTIONS_KEY = 'NGXS_OPTIONS_META';\n// This key is used to store selector metadata on selector functions,\n// such as decorated with the `@Selector` or provided through the\n// `createSelector` function.\nexport const ɵSELECTOR_META_KEY = 'NGXS_SELECTOR_META';\n\nexport interface ɵStateToken<T, U> {\n new (name: ɵTokenName<T>): U;\n getName(): string;\n toString(): string;\n}\n\ntype RequireGeneric<T, U> = T extends void ? 'You must provide a type parameter' : U;\n\nexport type ɵTokenName<T> = string & RequireGeneric<T, string>;\n\nexport type ɵExtractTokenType<P> = P extends StateToken<infer T> ? T : never;\n\n/**\n * Options that can be provided to the store.\n */\nexport interface ɵStoreOptions<T> {\n /**\n * Name of the state. Required.\n */\n name: string | StateToken<T>;\n\n /**\n * Default values for the state. If not provided, uses empty object.\n */\n defaults?: T;\n\n /**\n * Sub states for the given state.\n *\n * @deprecated\n * Read the deprecation notice at this link: https://ngxs.io/deprecations/sub-states-deprecation.\n */\n children?: ɵStateClass[];\n}\n\n// inspired from https://stackoverflow.com/a/43674389\nexport interface ɵStateClassInternal<T = any, U = any> extends ɵStateClass<T> {\n [ɵMETA_KEY]?: ɵMetaDataModel;\n [ɵMETA_OPTIONS_KEY]?: ɵStoreOptions<U>;\n}\n\nexport interface ɵMetaDataModel {\n name: string | null;\n actions: ɵPlainObjectOf<ɵActionHandlerMetaData[]>;\n defaults: any;\n path: string | null;\n makeRootSelector: ɵSelectorFactory | null;\n /** @deprecated */\n children?: ɵStateClassInternal[];\n}\n\nexport interface ɵSelectorMetaDataModel {\n makeRootSelector: ɵSelectorFactory | null;\n originalFn: Function | null;\n containerClass: any;\n selectorName: string | null;\n getSelectorOptions: () => ɵSharedSelectorOptions;\n}\n\nexport interface ɵSharedSelectorOptions {\n /**\n * @deprecated\n * Read the deprecation notice at this link: https://ngxs.io/deprecations/inject-container-state-deprecation.md.\n */\n injectContainerState?: boolean;\n suppressErrors?: boolean;\n}\n\nexport interface ɵRuntimeSelectorContext {\n getStateGetter(key: any): (state: any) => any;\n getSelectorOptions(localOptions?: ɵSharedSelectorOptions): ɵSharedSelectorOptions;\n}\n\nexport type ɵSelectFromRootState = (rootState: any) => any;\nexport type ɵSelectorFactory = (\n runtimeContext: ɵRuntimeSelectorContext\n) => ɵSelectFromRootState;\n\n/**\n * Actions that can be provided in a action decorator.\n */\nexport interface ɵActionOptions {\n /**\n * Cancel the previous uncompleted observable(s).\n */\n cancelUncompleted?: boolean;\n}\n\nexport interface ɵActionHandlerMetaData {\n fn: string | symbol;\n options: ɵActionOptions;\n type: string;\n}\n","import {\n ɵMETA_KEY,\n ɵSELECTOR_META_KEY,\n ɵMetaDataModel,\n ɵStateClassInternal,\n ɵSelectorMetaDataModel,\n ɵRuntimeSelectorContext\n} from './symbols';\n\n/**\n * Ensures metadata is attached to the class and returns it.\n *\n * @ignore\n */\nexport function ɵensureStoreMetadata(target: ɵStateClassInternal): ɵMetaDataModel {\n if (!target.hasOwnProperty(ɵMETA_KEY)) {\n const defaultMetadata: ɵMetaDataModel = {\n name: null,\n actions: {},\n defaults: {},\n path: null,\n makeRootSelector(context: ɵRuntimeSelectorContext) {\n return context.getStateGetter(defaultMetadata.name);\n },\n children: []\n };\n\n Object.defineProperty(target, ɵMETA_KEY, { value: defaultMetadata });\n }\n return ɵgetStoreMetadata(target);\n}\n\n/**\n * Get the metadata attached to the state class if it exists.\n *\n * @ignore\n */\nexport function ɵgetStoreMetadata(target: ɵStateClassInternal): ɵMetaDataModel {\n return target[ɵMETA_KEY]!;\n}\n\n/**\n * Ensures metadata is attached to the selector and returns it.\n *\n * @ignore\n */\nexport function ɵensureSelectorMetadata(target: Function): ɵSelectorMetaDataModel {\n if (!target.hasOwnProperty(ɵSELECTOR_META_KEY)) {\n const defaultMetadata: ɵSelectorMetaDataModel = {\n makeRootSelector: null,\n originalFn: null,\n containerClass: null,\n selectorName: null,\n getSelectorOptions: () => ({})\n };\n\n Object.defineProperty(target, ɵSELECTOR_META_KEY, { value: defaultMetadata });\n }\n\n return ɵgetSelectorMetadata(target);\n}\n\n/**\n * Get the metadata attached to the selector if it exists.\n *\n * @ignore\n */\nexport function ɵgetSelectorMetadata(target: any): ɵSelectorMetaDataModel {\n return target[ɵSELECTOR_META_KEY];\n}\n","function defaultEqualityCheck(a: any, b: any) {\n return a === b;\n}\n\nfunction areArgumentsShallowlyEqual(\n equalityCheck: (a: any, b: any) => boolean,\n prev: IArguments | null,\n next: IArguments | null\n) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n }\n\n // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n const length = prev.length;\n for (let i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Memoize a function on its last inputs only.\n * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js\n *\n * @ignore\n */\nexport function ɵmemoize<T extends (...args: any[]) => any>(\n func: T,\n equalityCheck = defaultEqualityCheck\n): T {\n let lastArgs: IArguments | null = null;\n let lastResult: any = null;\n // we reference arguments instead of spreading them for performance reasons\n function memoized() {\n // eslint-disable-next-line prefer-rest-params\n if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {\n // apply arguments instead of spreading for performance.\n // eslint-disable-next-line prefer-rest-params, prefer-spread\n lastResult = (<Function>func).apply(null, arguments);\n }\n // eslint-disable-next-line prefer-rest-params\n lastArgs = arguments;\n return lastResult;\n }\n (<any>memoized).reset = function () {\n // The hidden (for now) ability to reset the memoization\n lastArgs = null;\n lastResult = null;\n };\n return memoized as T;\n}\n","import { ɵensureSelectorMetadata } from './metadata';\nimport type { ɵTokenName, ɵSelectFromRootState, ɵRuntimeSelectorContext } from './symbols';\n\nexport class StateToken<T = void> {\n constructor(private readonly _name: ɵTokenName<T>) {\n const selectorMetadata = ɵensureSelectorMetadata(<any>this);\n selectorMetadata.makeRootSelector = (\n runtimeContext: ɵRuntimeSelectorContext\n ): ɵSelectFromRootState => {\n return runtimeContext.getStateGetter(this._name);\n };\n }\n\n getName(): string {\n return this._name;\n }\n\n toString(): string {\n return `StateToken[${this._name}]`;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { ɵPlainObject } from './symbols';\n\ndeclare const ngDevMode: boolean;\n\nconst NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;\n\nexport class ɵInitialState {\n private static _value: ɵPlainObject = {};\n\n static set(state: ɵPlainObject) {\n this._value = state;\n }\n\n static pop(): ɵPlainObject {\n const state = this._value;\n this._value = {};\n return state;\n }\n}\n\nexport const ɵINITIAL_STATE_TOKEN = new InjectionToken<ɵPlainObject>(\n NG_DEV_MODE ? 'INITIAL_STATE_TOKEN' : '',\n {\n providedIn: 'root',\n factory: () => ɵInitialState.pop()\n }\n);\n","import { Injectable } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ɵNgxsAppBootstrappedState extends ReplaySubject<boolean> {\n constructor() {\n super(1);\n }\n\n bootstrap(): void {\n this.next(true);\n this.complete();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\ndeclare const ngDevMode: boolean;\n\nconst NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;\n\n// These tokens are internal and can change at any point.\n\nexport const ɵNGXS_STATE_FACTORY = new InjectionToken<any>(\n NG_DEV_MODE ? 'ɵNGXS_STATE_FACTORY' : ''\n);\n\nexport const ɵNGXS_STATE_CONTEXT_FACTORY = new InjectionToken<any>(\n NG_DEV_MODE ? 'ɵNGXS_STATE_CONTEXT_FACTORY' : ''\n);\n","import { BehaviorSubject, Subject } from 'rxjs';\n\n/**\n * This wraps the provided function, and will enforce the following:\n * - The calls will execute in the order that they are made\n * - A call will only be initiated when the previous call has completed\n * - If there is a call currently executing then the new call will be added\n * to the queue and the function will return immediately\n *\n * NOTE: The following assumptions about the operation must hold true:\n * - The operation is synchronous in nature\n * - If any asynchronous side effects of the call exist, it should not\n * have any bearing on the correctness of the next call in the queue\n * - The operation has a void return\n * - The caller should not assume that the call has completed upon\n * return of the function\n * - The caller can assume that all the queued calls will complete\n * within the current microtask\n * - The only way that a call will encounter another call in the queue\n * would be if the call at the front of the queue initiated this call\n * as part of its synchronous execution\n */\nfunction orderedQueueOperation<TArgs extends any[]>(operation: (...args: TArgs) => void) {\n const callsQueue: TArgs[] = [];\n let busyPushingNext = false;\n return function callOperation(...args: TArgs) {\n if (busyPushingNext) {\n callsQueue.unshift(args);\n return;\n }\n busyPushingNext = true;\n operation(...args);\n while (callsQueue.length > 0) {\n const nextCallArgs = callsQueue.pop();\n nextCallArgs && operation(...nextCallArgs);\n }\n busyPushingNext = false;\n };\n}\n\n/**\n * Custom Subject that ensures that subscribers are notified of values in the order that they arrived.\n * A standard Subject does not have this guarantee.\n * For example, given the following code:\n * ```typescript\n * const subject = new Subject<string>();\n subject.subscribe(value => {\n if (value === 'start') subject.next('end');\n });\n subject.subscribe(value => { });\n subject.next('start');\n * ```\n * When `subject` is a standard `Subject<T>` the second subscriber would recieve `end` and then `start`.\n * When `subject` is a `OrderedSubject<T>` the second subscriber would recieve `start` and then `end`.\n */\nexport class ɵOrderedSubject<T> extends Subject<T> {\n private _orderedNext = orderedQueueOperation((value?: T) => super.next(<T>value));\n\n next(value?: T): void {\n this._orderedNext(value);\n }\n}\n\n/**\n * Custom BehaviorSubject that ensures that subscribers are notified of values in the order that they arrived.\n * A standard BehaviorSubject does not have this guarantee.\n * For example, given the following code:\n * ```typescript\n * const subject = new BehaviorSubject<string>();\n subject.subscribe(value => {\n if (value === 'start') subject.next('end');\n });\n subject.subscribe(value => { });\n subject.next('start');\n * ```\n * When `subject` is a standard `BehaviorSubject<T>` the second subscriber would recieve `end` and then `start`.\n * When `subject` is a `OrderedBehaviorSubject<T>` the second subscriber would recieve `start` and then `end`.\n */\nexport class ɵOrderedBehaviorSubject<T> extends BehaviorSubject<T> {\n private _orderedNext = orderedQueueOperation((value: T) => super.next(value));\n private _currentValue: T;\n\n constructor(value: T) {\n super(value);\n this._currentValue = value;\n }\n\n getValue(): T {\n return this._currentValue;\n }\n\n next(value: T): void {\n this._currentValue = value;\n this._orderedNext(value);\n }\n}\n","import { MonoTypeOperatorFunction, Observable } from 'rxjs';\n\nexport function ɵwrapObserverCalls<TValue>(\n invokeFn: (fn: () => void) => void\n): MonoTypeOperatorFunction<TValue> {\n return (source: Observable<TValue>) => {\n return new Observable<TValue>(subscriber => {\n return source.subscribe({\n next(value) {\n invokeFn(() => subscriber.next(value));\n },\n error(error) {\n invokeFn(() => subscriber.error(error));\n },\n complete() {\n invokeFn(() => subscriber.complete());\n }\n });\n });\n };\n}\n","import { Injectable, OnDestroy, Signal, untracked } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nimport { ɵwrapObserverCalls } from './custom-rxjs-operators';\nimport { ɵOrderedBehaviorSubject } from './custom-rxjs-subjects';\nimport { ɵPlainObject } from './symbols';\n\n/**\n * BehaviorSubject of the entire state.\n * @ignore\n */\n@Injectable({ providedIn: 'root' })\nexport class ɵStateStream extends ɵOrderedBehaviorSubject<ɵPlainObject> implements OnDestroy {\n readonly state: Signal<ɵPlainObject> = toSignal(this.pipe(ɵwrapObserverCalls(untracked)), {\n manualCleanup: true,\n requireSync: true\n });\n\n constructor() {\n super({});\n }\n\n ngOnDestroy(): void {\n // The StateStream should never emit values once the root view is removed,\n // such as when the `NgModuleRef.destroy()` method is called. This is crucial\n // for preventing memory leaks in server-side rendered apps, where a new StateStream\n // is created for each HTTP request. If users forget to unsubscribe from `store.select`\n // or `store.subscribe`, it can result in significant memory leaks in SSR apps.\n this.complete();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["NG_DEV_MODE"],"mappings":"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"}