@ngxs/store 18.1.1-dev.master-4a0091e → 18.1.1-dev.master-1c1e589

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.
@@ -1,4 +1,4 @@
1
1
  export { freshPlatform } from './fresh-platform';
2
2
  export { NgxsTestBed } from './ngxs.setup';
3
- export { skipConsoleLogging } from './skip-console-logging';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9pbnRlcm5hbHMvdGVzdGluZy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBmcmVzaFBsYXRmb3JtIH0gZnJvbSAnLi9mcmVzaC1wbGF0Zm9ybSc7XG5leHBvcnQgeyBOZ3hzVGVzdEJlZCB9IGZyb20gJy4vbmd4cy5zZXR1cCc7XG5leHBvcnQgeyBza2lwQ29uc29sZUxvZ2dpbmcgfSBmcm9tICcuL3NraXAtY29uc29sZS1sb2dnaW5nJztcbmV4cG9ydCB7IE5neHNUZXN0aW5nIH0gZnJvbSAnLi9zeW1ib2wnO1xuIl19
3
+ export { skipConsoleLogging, loggedError } from './skip-console-logging';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9pbnRlcm5hbHMvdGVzdGluZy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUNMLGtCQUFrQixFQUdsQixXQUFXLEVBQ1osTUFBTSx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGZyZXNoUGxhdGZvcm0gfSBmcm9tICcuL2ZyZXNoLXBsYXRmb3JtJztcbmV4cG9ydCB7IE5neHNUZXN0QmVkIH0gZnJvbSAnLi9uZ3hzLnNldHVwJztcbmV4cG9ydCB7XG4gIHNraXBDb25zb2xlTG9nZ2luZyxcbiAgQ29uc29sZVJlY29yZCxcbiAgQ29uc29sZVJlY29yZGVyLFxuICBsb2dnZWRFcnJvclxufSBmcm9tICcuL3NraXAtY29uc29sZS1sb2dnaW5nJztcbmV4cG9ydCB7IE5neHNUZXN0aW5nIH0gZnJvbSAnLi9zeW1ib2wnO1xuIl19
@@ -5,19 +5,20 @@ import { ɵBrowserDomAdapter as BrowserDomAdapter } from '@angular/platform-brow
5
5
  import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
6
6
  import { NgxsModule, Store } from '@ngxs/store';
7
7
  import { NgxsTestModule } from './helpers/ngxs-test.module';
8
+ import { skipConsoleLogging } from './skip-console-logging';
8
9
  export class NgxsTestBed {
9
10
  static configureTestingStates(options) {
10
11
  this.resetTestBed();
11
12
  if (options.before) {
12
13
  options.before();
13
14
  }
14
- TestBed.configureTestingModule({
15
+ skipConsoleLogging(() => TestBed.configureTestingModule({
15
16
  imports: [
16
17
  NgxsTestModule,
17
18
  NgxsModule.forRoot(options.states || [], options.ngxsOptions || {}),
18
19
  ...(options.imports || [])
19
20
  ]
20
- }).compileComponents();
21
+ }).compileComponents());
21
22
  NgxsTestBed.ngxsBootstrap();
22
23
  return {
23
24
  get store() {
@@ -45,4 +46,4 @@ export class NgxsTestBed {
45
46
  document.body.appendChild(root);
46
47
  }
47
48
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy5zZXR1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL2ludGVybmFscy90ZXN0aW5nL3NyYy9uZ3hzLnNldHVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixJQUFJLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEYsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiw2QkFBNkIsRUFDOUIsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHNUQsTUFBTSxPQUFPLFdBQVc7SUFDZixNQUFNLENBQUMsc0JBQXNCLENBQUMsT0FBMkI7UUFDOUQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxDQUFDLHNCQUFzQixDQUFDO1lBQzdCLE9BQU8sRUFBRTtnQkFDUCxjQUFjO2dCQUNkLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7Z0JBQ25FLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQzthQUMzQjtTQUNGLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRXZCLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUU1QixPQUFPO1lBQ0wsSUFBSSxLQUFLO2dCQUNQLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixDQUFDO1lBQ0QsSUFBSSxVQUFVO2dCQUNaLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhO1FBQzFCLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM3QixjQUFjLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sTUFBTSxDQUFDLFlBQVk7UUFDekIsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDL0IsT0FBTyxDQUFDLG1CQUFtQixDQUFDLDJCQUEyQixFQUFFLDZCQUE2QixFQUFFLEVBQUU7WUFDeEYsUUFBUSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFO1NBQ3JDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsR0FBRyxVQUFVO1FBQ2pELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlc3RCZWQsIFRlc3RCZWRTdGF0aWMgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgybVCcm93c2VyRG9tQWRhcHRlciBhcyBCcm93c2VyRG9tQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtcbiAgQnJvd3NlckR5bmFtaWNUZXN0aW5nTW9kdWxlLFxuICBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljVGVzdGluZ1xufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyLWR5bmFtaWMvdGVzdGluZyc7XG5pbXBvcnQgeyBOZ3hzTW9kdWxlLCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcblxuaW1wb3J0IHsgTmd4c1Rlc3RNb2R1bGUgfSBmcm9tICcuL2hlbHBlcnMvbmd4cy10ZXN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3hzT3B0aW9uc1Rlc3RpbmcsIE5neHNUZXN0aW5nIH0gZnJvbSAnLi9zeW1ib2wnO1xuXG5leHBvcnQgY2xhc3MgTmd4c1Rlc3RCZWQge1xuICBwdWJsaWMgc3RhdGljIGNvbmZpZ3VyZVRlc3RpbmdTdGF0ZXMob3B0aW9uczogTmd4c09wdGlvbnNUZXN0aW5nKTogTmd4c1Rlc3Rpbmcge1xuICAgIHRoaXMucmVzZXRUZXN0QmVkKCk7XG5cbiAgICBpZiAob3B0aW9ucy5iZWZvcmUpIHtcbiAgICAgIG9wdGlvbnMuYmVmb3JlKCk7XG4gICAgfVxuXG4gICAgVGVzdEJlZC5jb25maWd1cmVUZXN0aW5nTW9kdWxlKHtcbiAgICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmd4c1Rlc3RNb2R1bGUsXG4gICAgICAgIE5neHNNb2R1bGUuZm9yUm9vdChvcHRpb25zLnN0YXRlcyB8fCBbXSwgb3B0aW9ucy5uZ3hzT3B0aW9ucyB8fCB7fSksXG4gICAgICAgIC4uLihvcHRpb25zLmltcG9ydHMgfHwgW10pXG4gICAgICBdXG4gICAgfSkuY29tcGlsZUNvbXBvbmVudHMoKTtcblxuICAgIE5neHNUZXN0QmVkLm5neHNCb290c3RyYXAoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBnZXQgc3RvcmUoKTogU3RvcmUge1xuICAgICAgICByZXR1cm4gVGVzdEJlZC5pbmplY3QoU3RvcmUpO1xuICAgICAgfSxcbiAgICAgIGdldCBnZXRUZXN0QmVkKCk6IFRlc3RCZWRTdGF0aWMge1xuICAgICAgICByZXR1cm4gVGVzdEJlZDtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbmd4c0Jvb3RzdHJhcCgpOiB2b2lkIHtcbiAgICBOZ3hzVGVzdEJlZC5jcmVhdGVSb290Tm9kZSgpO1xuICAgIE5neHNUZXN0TW9kdWxlLm5nRG9Cb290c3RyYXAoVGVzdEJlZC5pbmplY3QoQXBwbGljYXRpb25SZWYpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlc2V0VGVzdEJlZCgpOiB2b2lkIHtcbiAgICBUZXN0QmVkLnJlc2V0VGVzdEVudmlyb25tZW50KCk7XG4gICAgVGVzdEJlZC5pbml0VGVzdEVudmlyb25tZW50KEJyb3dzZXJEeW5hbWljVGVzdGluZ01vZHVsZSwgcGxhdGZvcm1Ccm93c2VyRHluYW1pY1Rlc3RpbmcoKSwge1xuICAgICAgdGVhcmRvd246IHsgZGVzdHJveUFmdGVyRWFjaDogdHJ1ZSB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVSb290Tm9kZShzZWxlY3RvciA9ICdhcHAtcm9vdCcpOiB2b2lkIHtcbiAgICBjb25zdCBkb2N1bWVudCA9IFRlc3RCZWQuaW5qZWN0KERPQ1VNRU5UKTtcbiAgICBjb25zdCBhZGFwdGVyID0gbmV3IEJyb3dzZXJEb21BZGFwdGVyKCk7XG4gICAgY29uc3Qgcm9vdCA9IGFkYXB0ZXIuY3JlYXRlRWxlbWVudChzZWxlY3Rvcik7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTtcbiAgfVxufVxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy5zZXR1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL2ludGVybmFscy90ZXN0aW5nL3NyYy9uZ3hzLnNldHVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixJQUFJLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEYsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiw2QkFBNkIsRUFDOUIsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsTUFBTSxPQUFPLFdBQVc7SUFDZixNQUFNLENBQUMsc0JBQXNCLENBQUMsT0FBMkI7UUFDOUQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQixDQUFDO1FBRUQsa0JBQWtCLENBQUMsR0FBRyxFQUFFLENBQ3RCLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztZQUM3QixPQUFPLEVBQUU7Z0JBQ1AsY0FBYztnQkFDZCxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxFQUFFLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO2dCQUNuRSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7YUFDM0I7U0FDRixDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FDdkIsQ0FBQztRQUVGLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUU1QixPQUFPO1lBQ0wsSUFBSSxLQUFLO2dCQUNQLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixDQUFDO1lBQ0QsSUFBSSxVQUFVO2dCQUNaLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhO1FBQzFCLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM3QixjQUFjLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sTUFBTSxDQUFDLFlBQVk7UUFDekIsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDL0IsT0FBTyxDQUFDLG1CQUFtQixDQUFDLDJCQUEyQixFQUFFLDZCQUE2QixFQUFFLEVBQUU7WUFDeEYsUUFBUSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFO1NBQ3JDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsR0FBRyxVQUFVO1FBQ2pELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlc3RCZWQsIFRlc3RCZWRTdGF0aWMgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgybVCcm93c2VyRG9tQWRhcHRlciBhcyBCcm93c2VyRG9tQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtcbiAgQnJvd3NlckR5bmFtaWNUZXN0aW5nTW9kdWxlLFxuICBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljVGVzdGluZ1xufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyLWR5bmFtaWMvdGVzdGluZyc7XG5pbXBvcnQgeyBOZ3hzTW9kdWxlLCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcblxuaW1wb3J0IHsgTmd4c1Rlc3RNb2R1bGUgfSBmcm9tICcuL2hlbHBlcnMvbmd4cy10ZXN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3hzT3B0aW9uc1Rlc3RpbmcsIE5neHNUZXN0aW5nIH0gZnJvbSAnLi9zeW1ib2wnO1xuaW1wb3J0IHsgc2tpcENvbnNvbGVMb2dnaW5nIH0gZnJvbSAnLi9za2lwLWNvbnNvbGUtbG9nZ2luZyc7XG5cbmV4cG9ydCBjbGFzcyBOZ3hzVGVzdEJlZCB7XG4gIHB1YmxpYyBzdGF0aWMgY29uZmlndXJlVGVzdGluZ1N0YXRlcyhvcHRpb25zOiBOZ3hzT3B0aW9uc1Rlc3RpbmcpOiBOZ3hzVGVzdGluZyB7XG4gICAgdGhpcy5yZXNldFRlc3RCZWQoKTtcblxuICAgIGlmIChvcHRpb25zLmJlZm9yZSkge1xuICAgICAgb3B0aW9ucy5iZWZvcmUoKTtcbiAgICB9XG5cbiAgICBza2lwQ29uc29sZUxvZ2dpbmcoKCkgPT5cbiAgICAgIFRlc3RCZWQuY29uZmlndXJlVGVzdGluZ01vZHVsZSh7XG4gICAgICAgIGltcG9ydHM6IFtcbiAgICAgICAgICBOZ3hzVGVzdE1vZHVsZSxcbiAgICAgICAgICBOZ3hzTW9kdWxlLmZvclJvb3Qob3B0aW9ucy5zdGF0ZXMgfHwgW10sIG9wdGlvbnMubmd4c09wdGlvbnMgfHwge30pLFxuICAgICAgICAgIC4uLihvcHRpb25zLmltcG9ydHMgfHwgW10pXG4gICAgICAgIF1cbiAgICAgIH0pLmNvbXBpbGVDb21wb25lbnRzKClcbiAgICApO1xuXG4gICAgTmd4c1Rlc3RCZWQubmd4c0Jvb3RzdHJhcCgpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGdldCBzdG9yZSgpOiBTdG9yZSB7XG4gICAgICAgIHJldHVybiBUZXN0QmVkLmluamVjdChTdG9yZSk7XG4gICAgICB9LFxuICAgICAgZ2V0IGdldFRlc3RCZWQoKTogVGVzdEJlZFN0YXRpYyB7XG4gICAgICAgIHJldHVybiBUZXN0QmVkO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBuZ3hzQm9vdHN0cmFwKCk6IHZvaWQge1xuICAgIE5neHNUZXN0QmVkLmNyZWF0ZVJvb3ROb2RlKCk7XG4gICAgTmd4c1Rlc3RNb2R1bGUubmdEb0Jvb3RzdHJhcChUZXN0QmVkLmluamVjdChBcHBsaWNhdGlvblJlZikpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVzZXRUZXN0QmVkKCk6IHZvaWQge1xuICAgIFRlc3RCZWQucmVzZXRUZXN0RW52aXJvbm1lbnQoKTtcbiAgICBUZXN0QmVkLmluaXRUZXN0RW52aXJvbm1lbnQoQnJvd3NlckR5bmFtaWNUZXN0aW5nTW9kdWxlLCBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljVGVzdGluZygpLCB7XG4gICAgICB0ZWFyZG93bjogeyBkZXN0cm95QWZ0ZXJFYWNoOiB0cnVlIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZVJvb3ROb2RlKHNlbGVjdG9yID0gJ2FwcC1yb290Jyk6IHZvaWQge1xuICAgIGNvbnN0IGRvY3VtZW50ID0gVGVzdEJlZC5pbmplY3QoRE9DVU1FTlQpO1xuICAgIGNvbnN0IGFkYXB0ZXIgPSBuZXcgQnJvd3NlckRvbUFkYXB0ZXIoKTtcbiAgICBjb25zdCByb290ID0gYWRhcHRlci5jcmVhdGVFbGVtZW50KHNlbGVjdG9yKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3QpO1xuICB9XG59XG4iXX0=
@@ -1,10 +1,20 @@
1
- /// <reference types="jest" />
2
- export function skipConsoleLogging(fn) {
1
+ export function loggedError(message) {
2
+ return ['error', [expect.objectContaining({ message })]];
3
+ }
4
+ export function skipConsoleLogging(fn, consoleRecorder = []) {
3
5
  const consoleSpies = [
4
- jest.spyOn(console, 'log').mockImplementation(() => { }),
5
- jest.spyOn(console, 'warn').mockImplementation(() => { }),
6
- jest.spyOn(console, 'error').mockImplementation(() => { }),
7
- jest.spyOn(console, 'info').mockImplementation(() => { })
6
+ jest.spyOn(console, 'log').mockImplementation((...args) => {
7
+ consoleRecorder.push(['log', args]);
8
+ }),
9
+ jest.spyOn(console, 'warn').mockImplementation((...args) => {
10
+ consoleRecorder.push(['warn', args]);
11
+ }),
12
+ jest.spyOn(console, 'error').mockImplementation((...args) => {
13
+ consoleRecorder.push(['error', args]);
14
+ }),
15
+ jest.spyOn(console, 'info').mockImplementation((...args) => {
16
+ consoleRecorder.push(['info', args]);
17
+ })
8
18
  ];
9
19
  function restoreSpies() {
10
20
  consoleSpies.forEach(spy => spy.mockRestore());
@@ -24,4 +34,4 @@ export function skipConsoleLogging(fn) {
24
34
  }
25
35
  }
26
36
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcC1jb25zb2xlLWxvZ2dpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9pbnRlcm5hbHMvdGVzdGluZy9zcmMvc2tpcC1jb25zb2xlLWxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBRTlCLE1BQU0sVUFBVSxrQkFBa0IsQ0FBb0MsRUFBSztJQUN6RSxNQUFNLFlBQVksR0FBRztRQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0FDekQsQ0FBQztJQUNGLFNBQVMsWUFBWTtRQUNuQixZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELElBQUksZUFBZSxHQUFHLEtBQUssQ0FBQztJQUM1QixJQUFJLENBQUM7UUFDSCxNQUFNLFdBQVcsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUN6QixJQUFJLFdBQVcsWUFBWSxPQUFPLEVBQUUsQ0FBQztZQUNuQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBa0IsQ0FBQztRQUNwRSxDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztZQUFTLENBQUM7UUFDVCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsWUFBWSxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJqZXN0XCIgLz5cblxuZXhwb3J0IGZ1bmN0aW9uIHNraXBDb25zb2xlTG9nZ2luZzxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk+KGZuOiBUKTogUmV0dXJuVHlwZTxUPiB7XG4gIGNvbnN0IGNvbnNvbGVTcGllcyA9IFtcbiAgICBqZXN0LnNweU9uKGNvbnNvbGUsICdsb2cnKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge30pLFxuICAgIGplc3Quc3B5T24oY29uc29sZSwgJ3dhcm4nKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge30pLFxuICAgIGplc3Quc3B5T24oY29uc29sZSwgJ2Vycm9yJykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHt9KSxcbiAgICBqZXN0LnNweU9uKGNvbnNvbGUsICdpbmZvJykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHt9KVxuICBdO1xuICBmdW5jdGlvbiByZXN0b3JlU3BpZXMoKSB7XG4gICAgY29uc29sZVNwaWVzLmZvckVhY2goc3B5ID0+IHNweS5tb2NrUmVzdG9yZSgpKTtcbiAgfVxuICBsZXQgcmVzdG9yZVNweUFzeW5jID0gZmFsc2U7XG4gIHRyeSB7XG4gICAgY29uc3QgcmV0dXJuVmFsdWUgPSBmbigpO1xuICAgIGlmIChyZXR1cm5WYWx1ZSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHJlc3RvcmVTcHlBc3luYyA9IHRydWU7XG4gICAgICByZXR1cm4gcmV0dXJuVmFsdWUuZmluYWxseSgoKSA9PiByZXN0b3JlU3BpZXMoKSkgYXMgUmV0dXJuVHlwZTxUPjtcbiAgICB9XG4gICAgcmV0dXJuIHJldHVyblZhbHVlO1xuICB9IGZpbmFsbHkge1xuICAgIGlmICghcmVzdG9yZVNweUFzeW5jKSB7XG4gICAgICByZXN0b3JlU3BpZXMoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcC1jb25zb2xlLWxvZ2dpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9pbnRlcm5hbHMvdGVzdGluZy9zcmMvc2tpcC1jb25zb2xlLWxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUFlO0lBQ3pDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxFQUFLLEVBQ0wsa0JBQW1DLEVBQUU7SUFFckMsTUFBTSxZQUFZLEdBQUc7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO1lBQ3hELGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUU7WUFDekQsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtZQUMxRCxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO1lBQ3pELGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUM7S0FDSCxDQUFDO0lBQ0YsU0FBUyxZQUFZO1FBQ25CLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQzVCLElBQUksQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ3pCLElBQUksV0FBVyxZQUFZLE9BQU8sRUFBRSxDQUFDO1lBQ25DLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDdkIsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFrQixDQUFDO1FBQ3BFLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO1lBQVMsQ0FBQztRQUNULElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQixZQUFZLEVBQUUsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDb25zb2xlUmVjb3JkID0gW3N0cmluZywgYW55W11dO1xuZXhwb3J0IHR5cGUgQ29uc29sZVJlY29yZGVyID0gQ29uc29sZVJlY29yZFtdO1xuXG5leHBvcnQgZnVuY3Rpb24gbG9nZ2VkRXJyb3IobWVzc2FnZTogc3RyaW5nKTogQ29uc29sZVJlY29yZCB7XG4gIHJldHVybiBbJ2Vycm9yJywgW2V4cGVjdC5vYmplY3RDb250YWluaW5nKHsgbWVzc2FnZSB9KV1dO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2tpcENvbnNvbGVMb2dnaW5nPFQgZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGFueT4oXG4gIGZuOiBULFxuICBjb25zb2xlUmVjb3JkZXI6IENvbnNvbGVSZWNvcmRlciA9IFtdXG4pOiBSZXR1cm5UeXBlPFQ+IHtcbiAgY29uc3QgY29uc29sZVNwaWVzID0gW1xuICAgIGplc3Quc3B5T24oY29uc29sZSwgJ2xvZycpLm1vY2tJbXBsZW1lbnRhdGlvbigoLi4uYXJncykgPT4ge1xuICAgICAgY29uc29sZVJlY29yZGVyLnB1c2goWydsb2cnLCBhcmdzXSk7XG4gICAgfSksXG4gICAgamVzdC5zcHlPbihjb25zb2xlLCAnd2FybicpLm1vY2tJbXBsZW1lbnRhdGlvbigoLi4uYXJncykgPT4ge1xuICAgICAgY29uc29sZVJlY29yZGVyLnB1c2goWyd3YXJuJywgYXJnc10pO1xuICAgIH0pLFxuICAgIGplc3Quc3B5T24oY29uc29sZSwgJ2Vycm9yJykubW9ja0ltcGxlbWVudGF0aW9uKCguLi5hcmdzKSA9PiB7XG4gICAgICBjb25zb2xlUmVjb3JkZXIucHVzaChbJ2Vycm9yJywgYXJnc10pO1xuICAgIH0pLFxuICAgIGplc3Quc3B5T24oY29uc29sZSwgJ2luZm8nKS5tb2NrSW1wbGVtZW50YXRpb24oKC4uLmFyZ3MpID0+IHtcbiAgICAgIGNvbnNvbGVSZWNvcmRlci5wdXNoKFsnaW5mbycsIGFyZ3NdKTtcbiAgICB9KVxuICBdO1xuICBmdW5jdGlvbiByZXN0b3JlU3BpZXMoKSB7XG4gICAgY29uc29sZVNwaWVzLmZvckVhY2goc3B5ID0+IHNweS5tb2NrUmVzdG9yZSgpKTtcbiAgfVxuICBsZXQgcmVzdG9yZVNweUFzeW5jID0gZmFsc2U7XG4gIHRyeSB7XG4gICAgY29uc3QgcmV0dXJuVmFsdWUgPSBmbigpO1xuICAgIGlmIChyZXR1cm5WYWx1ZSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHJlc3RvcmVTcHlBc3luYyA9IHRydWU7XG4gICAgICByZXR1cm4gcmV0dXJuVmFsdWUuZmluYWxseSgoKSA9PiByZXN0b3JlU3BpZXMoKSkgYXMgUmV0dXJuVHlwZTxUPjtcbiAgICB9XG4gICAgcmV0dXJuIHJldHVyblZhbHVlO1xuICB9IGZpbmFsbHkge1xuICAgIGlmICghcmVzdG9yZVNweUFzeW5jKSB7XG4gICAgICByZXN0b3JlU3BpZXMoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,11 +1,36 @@
1
1
  import { ɵgetSelectorMetadata, ɵgetStoreMetadata } from '@ngxs/store/internals';
2
+ import { NgZone } from '@angular/core';
3
+ function getMissingMetaDataError(selector, context = {}) {
4
+ const metadata = ɵgetSelectorMetadata(selector) || ɵgetStoreMetadata(selector);
5
+ if (!metadata) {
6
+ return new Error(`${context.prefix}The value provided as the ${context.noun} is not a valid selector.`);
7
+ }
8
+ return null;
9
+ }
2
10
  export function ensureValidSelector(selector, context = {}) {
3
11
  const noun = context.noun || 'selector';
4
12
  const prefix = context.prefix ? context.prefix + ': ' : '';
5
13
  ensureValueProvided(selector, { noun, prefix: context.prefix });
6
- const metadata = ɵgetSelectorMetadata(selector) || ɵgetStoreMetadata(selector);
7
- if (!metadata) {
8
- throw new Error(`${prefix}The value provided as the ${noun} is not a valid selector.`);
14
+ const error = getMissingMetaDataError(selector, { noun, prefix });
15
+ if (error) {
16
+ // If we have used this utility within a state class, we may be
17
+ // before the @State or @Selector decorators have been applied.
18
+ // wait until the next microtask to verify.
19
+ // Theoretically this situation is only encountered when the javascript
20
+ // files are being loaded and we are outside the angular zone.
21
+ if (!NgZone.isInAngularZone()) {
22
+ Promise.resolve().then(() => {
23
+ const errorAgain = getMissingMetaDataError(selector, { noun, prefix });
24
+ if (errorAgain) {
25
+ // Throw the originally captured error so that the stack trace shows the
26
+ // original utility call site.
27
+ console.error(error);
28
+ }
29
+ });
30
+ }
31
+ else {
32
+ throw error;
33
+ }
9
34
  }
10
35
  }
11
36
  export function ensureValueProvided(value, context = {}) {
@@ -15,4 +40,4 @@ export function ensureValueProvided(value, context = {}) {
15
40
  throw new Error(`${prefix}A ${noun} must be provided.`);
16
41
  }
17
42
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItY2hlY2tzLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL3NlbGVjdG9yLWNoZWNrcy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSWhGLE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsUUFBMkIsRUFDM0IsVUFBOEMsRUFBRTtJQUVoRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQztJQUN4QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzNELG1CQUFtQixDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEUsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksaUJBQWlCLENBQUMsUUFBZSxDQUFDLENBQUM7SUFDdEYsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLE1BQU0sNkJBQTZCLElBQUksMkJBQTJCLENBQUMsQ0FBQztJQUN6RixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsS0FBVSxFQUNWLFVBQThDLEVBQUU7SUFFaEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUM7SUFDckMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsTUFBTSxLQUFLLElBQUksb0JBQW9CLENBQUMsQ0FBQztJQUMxRCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1Z2V0U2VsZWN0b3JNZXRhZGF0YSwgybVnZXRTdG9yZU1ldGFkYXRhIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgybVTZWxlY3RvckRlZiB9IGZyb20gJy4vc2VsZWN0b3ItdHlwZXMudXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVWYWxpZFNlbGVjdG9yKFxuICBzZWxlY3RvcjogybVTZWxlY3RvckRlZjxhbnk+LFxuICBjb250ZXh0OiB7IHByZWZpeD86IHN0cmluZzsgbm91bj86IHN0cmluZyB9ID0ge31cbikge1xuICBjb25zdCBub3VuID0gY29udGV4dC5ub3VuIHx8ICdzZWxlY3Rvcic7XG4gIGNvbnN0IHByZWZpeCA9IGNvbnRleHQucHJlZml4ID8gY29udGV4dC5wcmVmaXggKyAnOiAnIDogJyc7XG4gIGVuc3VyZVZhbHVlUHJvdmlkZWQoc2VsZWN0b3IsIHsgbm91biwgcHJlZml4OiBjb250ZXh0LnByZWZpeCB9KTtcbiAgY29uc3QgbWV0YWRhdGEgPSDJtWdldFNlbGVjdG9yTWV0YWRhdGEoc2VsZWN0b3IpIHx8IMm1Z2V0U3RvcmVNZXRhZGF0YShzZWxlY3RvciBhcyBhbnkpO1xuICBpZiAoIW1ldGFkYXRhKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke3ByZWZpeH1UaGUgdmFsdWUgcHJvdmlkZWQgYXMgdGhlICR7bm91bn0gaXMgbm90IGEgdmFsaWQgc2VsZWN0b3IuYCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVZhbHVlUHJvdmlkZWQoXG4gIHZhbHVlOiBhbnksXG4gIGNvbnRleHQ6IHsgcHJlZml4Pzogc3RyaW5nOyBub3VuPzogc3RyaW5nIH0gPSB7fVxuKSB7XG4gIGNvbnN0IG5vdW4gPSBjb250ZXh0Lm5vdW4gfHwgJ3ZhbHVlJztcbiAgY29uc3QgcHJlZml4ID0gY29udGV4dC5wcmVmaXggPyBjb250ZXh0LnByZWZpeCArICc6ICcgOiAnJztcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtwcmVmaXh9QSAke25vdW59IG11c3QgYmUgcHJvdmlkZWQuYCk7XG4gIH1cbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItY2hlY2tzLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL3NlbGVjdG9yLWNoZWNrcy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsU0FBUyx1QkFBdUIsQ0FDOUIsUUFBMkIsRUFDM0IsVUFBOEMsRUFBRTtJQUVoRCxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxRQUFlLENBQUMsQ0FBQztJQUN0RixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxPQUFPLElBQUksS0FBSyxDQUNkLEdBQUcsT0FBTyxDQUFDLE1BQU0sNkJBQTZCLE9BQU8sQ0FBQyxJQUFJLDJCQUEyQixDQUN0RixDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsUUFBMkIsRUFDM0IsVUFBOEMsRUFBRTtJQUVoRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQztJQUN4QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzNELG1CQUFtQixDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEUsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEUsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLCtEQUErRDtRQUMvRCxnRUFBZ0U7UUFDaEUsNENBQTRDO1FBQzVDLHVFQUF1RTtRQUN2RSwrREFBK0Q7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO1lBQzlCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUMxQixNQUFNLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxVQUFVLEVBQUUsQ0FBQztvQkFDZix3RUFBd0U7b0JBQ3hFLDhCQUE4QjtvQkFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsS0FBVSxFQUNWLFVBQThDLEVBQUU7SUFFaEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUM7SUFDckMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsTUFBTSxLQUFLLElBQUksb0JBQW9CLENBQUMsQ0FBQztJQUMxRCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1Z2V0U2VsZWN0b3JNZXRhZGF0YSwgybVnZXRTdG9yZU1ldGFkYXRhIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcbmltcG9ydCB7IMm1U2VsZWN0b3JEZWYgfSBmcm9tICcuL3NlbGVjdG9yLXR5cGVzLnV0aWwnO1xuaW1wb3J0IHsgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmZ1bmN0aW9uIGdldE1pc3NpbmdNZXRhRGF0YUVycm9yKFxuICBzZWxlY3RvcjogybVTZWxlY3RvckRlZjxhbnk+LFxuICBjb250ZXh0OiB7IHByZWZpeD86IHN0cmluZzsgbm91bj86IHN0cmluZyB9ID0ge31cbikge1xuICBjb25zdCBtZXRhZGF0YSA9IMm1Z2V0U2VsZWN0b3JNZXRhZGF0YShzZWxlY3RvcikgfHwgybVnZXRTdG9yZU1ldGFkYXRhKHNlbGVjdG9yIGFzIGFueSk7XG4gIGlmICghbWV0YWRhdGEpIHtcbiAgICByZXR1cm4gbmV3IEVycm9yKFxuICAgICAgYCR7Y29udGV4dC5wcmVmaXh9VGhlIHZhbHVlIHByb3ZpZGVkIGFzIHRoZSAke2NvbnRleHQubm91bn0gaXMgbm90IGEgdmFsaWQgc2VsZWN0b3IuYFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVWYWxpZFNlbGVjdG9yKFxuICBzZWxlY3RvcjogybVTZWxlY3RvckRlZjxhbnk+LFxuICBjb250ZXh0OiB7IHByZWZpeD86IHN0cmluZzsgbm91bj86IHN0cmluZyB9ID0ge31cbikge1xuICBjb25zdCBub3VuID0gY29udGV4dC5ub3VuIHx8ICdzZWxlY3Rvcic7XG4gIGNvbnN0IHByZWZpeCA9IGNvbnRleHQucHJlZml4ID8gY29udGV4dC5wcmVmaXggKyAnOiAnIDogJyc7XG4gIGVuc3VyZVZhbHVlUHJvdmlkZWQoc2VsZWN0b3IsIHsgbm91biwgcHJlZml4OiBjb250ZXh0LnByZWZpeCB9KTtcbiAgY29uc3QgZXJyb3IgPSBnZXRNaXNzaW5nTWV0YURhdGFFcnJvcihzZWxlY3RvciwgeyBub3VuLCBwcmVmaXggfSk7XG4gIGlmIChlcnJvcikge1xuICAgIC8vIElmIHdlIGhhdmUgdXNlZCB0aGlzIHV0aWxpdHkgd2l0aGluIGEgc3RhdGUgY2xhc3MsIHdlIG1heSBiZVxuICAgIC8vICBiZWZvcmUgdGhlIEBTdGF0ZSBvciBAU2VsZWN0b3IgZGVjb3JhdG9ycyBoYXZlIGJlZW4gYXBwbGllZC5cbiAgICAvLyAgd2FpdCB1bnRpbCB0aGUgbmV4dCBtaWNyb3Rhc2sgdG8gdmVyaWZ5LlxuICAgIC8vIFRoZW9yZXRpY2FsbHkgdGhpcyBzaXR1YXRpb24gaXMgb25seSBlbmNvdW50ZXJlZCB3aGVuIHRoZSBqYXZhc2NyaXB0XG4gICAgLy8gIGZpbGVzIGFyZSBiZWluZyBsb2FkZWQgYW5kIHdlIGFyZSBvdXRzaWRlIHRoZSBhbmd1bGFyIHpvbmUuXG4gICAgaWYgKCFOZ1pvbmUuaXNJbkFuZ3VsYXJab25lKCkpIHtcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBlcnJvckFnYWluID0gZ2V0TWlzc2luZ01ldGFEYXRhRXJyb3Ioc2VsZWN0b3IsIHsgbm91biwgcHJlZml4IH0pO1xuICAgICAgICBpZiAoZXJyb3JBZ2Fpbikge1xuICAgICAgICAgIC8vIFRocm93IHRoZSBvcmlnaW5hbGx5IGNhcHR1cmVkIGVycm9yIHNvIHRoYXQgdGhlIHN0YWNrIHRyYWNlIHNob3dzIHRoZVxuICAgICAgICAgIC8vIG9yaWdpbmFsIHV0aWxpdHkgY2FsbCBzaXRlLlxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVWYWx1ZVByb3ZpZGVkKFxuICB2YWx1ZTogYW55LFxuICBjb250ZXh0OiB7IHByZWZpeD86IHN0cmluZzsgbm91bj86IHN0cmluZyB9ID0ge31cbikge1xuICBjb25zdCBub3VuID0gY29udGV4dC5ub3VuIHx8ICd2YWx1ZSc7XG4gIGNvbnN0IHByZWZpeCA9IGNvbnRleHQucHJlZml4ID8gY29udGV4dC5wcmVmaXggKyAnOiAnIDogJyc7XG4gIGlmICghdmFsdWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7cHJlZml4fUEgJHtub3VufSBtdXN0IGJlIHByb3ZpZGVkLmApO1xuICB9XG59XG4iXX0=
@@ -104,19 +104,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
104
104
  }]
105
105
  }] });
106
106
 
107
+ function loggedError(message) {
108
+ return ['error', [expect.objectContaining({ message })]];
109
+ }
110
+ function skipConsoleLogging(fn, consoleRecorder = []) {
111
+ const consoleSpies = [
112
+ jest.spyOn(console, 'log').mockImplementation((...args) => {
113
+ consoleRecorder.push(['log', args]);
114
+ }),
115
+ jest.spyOn(console, 'warn').mockImplementation((...args) => {
116
+ consoleRecorder.push(['warn', args]);
117
+ }),
118
+ jest.spyOn(console, 'error').mockImplementation((...args) => {
119
+ consoleRecorder.push(['error', args]);
120
+ }),
121
+ jest.spyOn(console, 'info').mockImplementation((...args) => {
122
+ consoleRecorder.push(['info', args]);
123
+ })
124
+ ];
125
+ function restoreSpies() {
126
+ consoleSpies.forEach(spy => spy.mockRestore());
127
+ }
128
+ let restoreSpyAsync = false;
129
+ try {
130
+ const returnValue = fn();
131
+ if (returnValue instanceof Promise) {
132
+ restoreSpyAsync = true;
133
+ return returnValue.finally(() => restoreSpies());
134
+ }
135
+ return returnValue;
136
+ }
137
+ finally {
138
+ if (!restoreSpyAsync) {
139
+ restoreSpies();
140
+ }
141
+ }
142
+ }
143
+
107
144
  class NgxsTestBed {
108
145
  static configureTestingStates(options) {
109
146
  this.resetTestBed();
110
147
  if (options.before) {
111
148
  options.before();
112
149
  }
113
- TestBed.configureTestingModule({
150
+ skipConsoleLogging(() => TestBed.configureTestingModule({
114
151
  imports: [
115
152
  NgxsTestModule,
116
153
  NgxsModule.forRoot(options.states || [], options.ngxsOptions || {}),
117
154
  ...(options.imports || [])
118
155
  ]
119
- }).compileComponents();
156
+ }).compileComponents());
120
157
  NgxsTestBed.ngxsBootstrap();
121
158
  return {
122
159
  get store() {
@@ -145,36 +182,9 @@ class NgxsTestBed {
145
182
  }
146
183
  }
147
184
 
148
- /// <reference types="jest" />
149
- function skipConsoleLogging(fn) {
150
- const consoleSpies = [
151
- jest.spyOn(console, 'log').mockImplementation(() => { }),
152
- jest.spyOn(console, 'warn').mockImplementation(() => { }),
153
- jest.spyOn(console, 'error').mockImplementation(() => { }),
154
- jest.spyOn(console, 'info').mockImplementation(() => { })
155
- ];
156
- function restoreSpies() {
157
- consoleSpies.forEach(spy => spy.mockRestore());
158
- }
159
- let restoreSpyAsync = false;
160
- try {
161
- const returnValue = fn();
162
- if (returnValue instanceof Promise) {
163
- restoreSpyAsync = true;
164
- return returnValue.finally(() => restoreSpies());
165
- }
166
- return returnValue;
167
- }
168
- finally {
169
- if (!restoreSpyAsync) {
170
- restoreSpies();
171
- }
172
- }
173
- }
174
-
175
185
  /**
176
186
  * Generated bundle index. Do not edit.
177
187
  */
178
188
 
179
- export { NgxsTestBed, freshPlatform, skipConsoleLogging };
189
+ export { NgxsTestBed, freshPlatform, loggedError, skipConsoleLogging };
180
190
  //# sourceMappingURL=ngxs-store-internals-testing.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngxs-store-internals-testing.mjs","sources":["../../../packages/store/internals/testing/src/fresh-platform.ts","../../../packages/store/internals/testing/src/helpers/ngxs-test.component.ts","../../../packages/store/internals/testing/src/helpers/ngxs-test.module.ts","../../../packages/store/internals/testing/src/ngxs.setup.ts","../../../packages/store/internals/testing/src/skip-console-logging.ts","../../../packages/store/internals/testing/src/ngxs-store-internals-testing.ts"],"sourcesContent":["import { TestBed } from '@angular/core/testing';\nimport { DOCUMENT } from '@angular/common';\nimport { ɵgetDOM as getDOM } from '@angular/platform-browser';\nimport { VERSION, destroyPlatform, createPlatform } from '@angular/core';\n\nfunction createRootElement() {\n const document = TestBed.inject(DOCUMENT);\n const root = getDOM().createElement('app-root', document);\n document.body.appendChild(root);\n}\n\nfunction removeRootElement() {\n const root: Element = document.getElementsByTagName('app-root').item(0)!;\n try {\n document.body.removeChild(root);\n } catch {}\n}\n\nfunction destroyPlatformBeforeBootstrappingTheNewOne(freshUrl: string) {\n destroyPlatform();\n resetLocationToUrl(freshUrl);\n createRootElement();\n}\n\n// As we create our custom platform via `bootstrapModule`\n// we have to destroy it after assetions and revert\n// the previous one\nfunction resetPlatformAfterBootstrapping() {\n removeRootElement();\n destroyPlatform();\n const version = +VERSION.major;\n // https://github.com/angular/angular/commit/e250db4f261741b04ee4cbad4dec41a8908a12aa\n if (version < 14) {\n createPlatform(TestBed);\n }\n}\n\nfunction resetLocationToUrl(freshUrl: string) {\n window.history.replaceState({}, 'Test', freshUrl);\n}\n\nexport function freshPlatform(fn: (done?: VoidFunction) => Promise<void>) {\n let resolve: VoidFunction | null = null;\n let reject: ((error: Error) => void) | null = null;\n let whenDoneIsCalledPromise: Promise<void> | null = null;\n\n const hasDoneArgument = fn.length === 1;\n\n if (hasDoneArgument) {\n whenDoneIsCalledPromise = new Promise<void>((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n }\n\n return async function testWithAFreshPlatform() {\n try {\n const freshUrl = '/';\n destroyPlatformBeforeBootstrappingTheNewOne(freshUrl);\n\n if (hasDoneArgument) {\n await fn((error?: Error) => {\n if (error) {\n reject!(error);\n } else {\n resolve!();\n }\n });\n await whenDoneIsCalledPromise!;\n } else {\n await fn();\n }\n } finally {\n resetPlatformAfterBootstrapping();\n }\n };\n}\n","import { AfterViewInit, Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n template: ''\n})\nexport class NgxsTestComponent implements OnInit, AfterViewInit {\n public ngOnInit(): void {}\n public ngAfterViewInit(): void {}\n}\n","import { ApplicationRef, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { NgxsTestComponent } from './ngxs-test.component';\n\n@NgModule({\n imports: [BrowserModule],\n declarations: [NgxsTestComponent]\n})\nexport class NgxsTestModule {\n public static ngDoBootstrap(app: ApplicationRef): void {\n app.bootstrap(NgxsTestComponent);\n }\n}\n","import { ApplicationRef } from '@angular/core';\nimport { TestBed, TestBedStatic } from '@angular/core/testing';\nimport { DOCUMENT } from '@angular/common';\nimport { ɵBrowserDomAdapter as BrowserDomAdapter } from '@angular/platform-browser';\nimport {\n BrowserDynamicTestingModule,\n platformBrowserDynamicTesting\n} from '@angular/platform-browser-dynamic/testing';\nimport { NgxsModule, Store } from '@ngxs/store';\n\nimport { NgxsTestModule } from './helpers/ngxs-test.module';\nimport { NgxsOptionsTesting, NgxsTesting } from './symbol';\n\nexport class NgxsTestBed {\n public static configureTestingStates(options: NgxsOptionsTesting): NgxsTesting {\n this.resetTestBed();\n\n if (options.before) {\n options.before();\n }\n\n TestBed.configureTestingModule({\n imports: [\n NgxsTestModule,\n NgxsModule.forRoot(options.states || [], options.ngxsOptions || {}),\n ...(options.imports || [])\n ]\n }).compileComponents();\n\n NgxsTestBed.ngxsBootstrap();\n\n return {\n get store(): Store {\n return TestBed.inject(Store);\n },\n get getTestBed(): TestBedStatic {\n return TestBed;\n }\n };\n }\n\n private static ngxsBootstrap(): void {\n NgxsTestBed.createRootNode();\n NgxsTestModule.ngDoBootstrap(TestBed.inject(ApplicationRef));\n }\n\n private static resetTestBed(): void {\n TestBed.resetTestEnvironment();\n TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {\n teardown: { destroyAfterEach: true }\n });\n }\n\n private static createRootNode(selector = 'app-root'): void {\n const document = TestBed.inject(DOCUMENT);\n const adapter = new BrowserDomAdapter();\n const root = adapter.createElement(selector);\n document.body.appendChild(root);\n }\n}\n","/// <reference types=\"jest\" />\n\nexport function skipConsoleLogging<T extends (...args: any[]) => any>(fn: T): ReturnType<T> {\n const consoleSpies = [\n jest.spyOn(console, 'log').mockImplementation(() => {}),\n jest.spyOn(console, 'warn').mockImplementation(() => {}),\n jest.spyOn(console, 'error').mockImplementation(() => {}),\n jest.spyOn(console, 'info').mockImplementation(() => {})\n ];\n function restoreSpies() {\n consoleSpies.forEach(spy => spy.mockRestore());\n }\n let restoreSpyAsync = false;\n try {\n const returnValue = fn();\n if (returnValue instanceof Promise) {\n restoreSpyAsync = true;\n return returnValue.finally(() => restoreSpies()) as ReturnType<T>;\n }\n return returnValue;\n } finally {\n if (!restoreSpyAsync) {\n restoreSpies();\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["getDOM","BrowserDomAdapter"],"mappings":"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"}
1
+ {"version":3,"file":"ngxs-store-internals-testing.mjs","sources":["../../../packages/store/internals/testing/src/fresh-platform.ts","../../../packages/store/internals/testing/src/helpers/ngxs-test.component.ts","../../../packages/store/internals/testing/src/helpers/ngxs-test.module.ts","../../../packages/store/internals/testing/src/skip-console-logging.ts","../../../packages/store/internals/testing/src/ngxs.setup.ts","../../../packages/store/internals/testing/src/ngxs-store-internals-testing.ts"],"sourcesContent":["import { TestBed } from '@angular/core/testing';\nimport { DOCUMENT } from '@angular/common';\nimport { ɵgetDOM as getDOM } from '@angular/platform-browser';\nimport { VERSION, destroyPlatform, createPlatform } from '@angular/core';\n\nfunction createRootElement() {\n const document = TestBed.inject(DOCUMENT);\n const root = getDOM().createElement('app-root', document);\n document.body.appendChild(root);\n}\n\nfunction removeRootElement() {\n const root: Element = document.getElementsByTagName('app-root').item(0)!;\n try {\n document.body.removeChild(root);\n } catch {}\n}\n\nfunction destroyPlatformBeforeBootstrappingTheNewOne(freshUrl: string) {\n destroyPlatform();\n resetLocationToUrl(freshUrl);\n createRootElement();\n}\n\n// As we create our custom platform via `bootstrapModule`\n// we have to destroy it after assetions and revert\n// the previous one\nfunction resetPlatformAfterBootstrapping() {\n removeRootElement();\n destroyPlatform();\n const version = +VERSION.major;\n // https://github.com/angular/angular/commit/e250db4f261741b04ee4cbad4dec41a8908a12aa\n if (version < 14) {\n createPlatform(TestBed);\n }\n}\n\nfunction resetLocationToUrl(freshUrl: string) {\n window.history.replaceState({}, 'Test', freshUrl);\n}\n\nexport function freshPlatform(fn: (done?: VoidFunction) => Promise<void>) {\n let resolve: VoidFunction | null = null;\n let reject: ((error: Error) => void) | null = null;\n let whenDoneIsCalledPromise: Promise<void> | null = null;\n\n const hasDoneArgument = fn.length === 1;\n\n if (hasDoneArgument) {\n whenDoneIsCalledPromise = new Promise<void>((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n }\n\n return async function testWithAFreshPlatform() {\n try {\n const freshUrl = '/';\n destroyPlatformBeforeBootstrappingTheNewOne(freshUrl);\n\n if (hasDoneArgument) {\n await fn((error?: Error) => {\n if (error) {\n reject!(error);\n } else {\n resolve!();\n }\n });\n await whenDoneIsCalledPromise!;\n } else {\n await fn();\n }\n } finally {\n resetPlatformAfterBootstrapping();\n }\n };\n}\n","import { AfterViewInit, Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n template: ''\n})\nexport class NgxsTestComponent implements OnInit, AfterViewInit {\n public ngOnInit(): void {}\n public ngAfterViewInit(): void {}\n}\n","import { ApplicationRef, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { NgxsTestComponent } from './ngxs-test.component';\n\n@NgModule({\n imports: [BrowserModule],\n declarations: [NgxsTestComponent]\n})\nexport class NgxsTestModule {\n public static ngDoBootstrap(app: ApplicationRef): void {\n app.bootstrap(NgxsTestComponent);\n }\n}\n","export type ConsoleRecord = [string, any[]];\nexport type ConsoleRecorder = ConsoleRecord[];\n\nexport function loggedError(message: string): ConsoleRecord {\n return ['error', [expect.objectContaining({ message })]];\n}\n\nexport function skipConsoleLogging<T extends (...args: any[]) => any>(\n fn: T,\n consoleRecorder: ConsoleRecorder = []\n): ReturnType<T> {\n const consoleSpies = [\n jest.spyOn(console, 'log').mockImplementation((...args) => {\n consoleRecorder.push(['log', args]);\n }),\n jest.spyOn(console, 'warn').mockImplementation((...args) => {\n consoleRecorder.push(['warn', args]);\n }),\n jest.spyOn(console, 'error').mockImplementation((...args) => {\n consoleRecorder.push(['error', args]);\n }),\n jest.spyOn(console, 'info').mockImplementation((...args) => {\n consoleRecorder.push(['info', args]);\n })\n ];\n function restoreSpies() {\n consoleSpies.forEach(spy => spy.mockRestore());\n }\n let restoreSpyAsync = false;\n try {\n const returnValue = fn();\n if (returnValue instanceof Promise) {\n restoreSpyAsync = true;\n return returnValue.finally(() => restoreSpies()) as ReturnType<T>;\n }\n return returnValue;\n } finally {\n if (!restoreSpyAsync) {\n restoreSpies();\n }\n }\n}\n","import { ApplicationRef } from '@angular/core';\nimport { TestBed, TestBedStatic } from '@angular/core/testing';\nimport { DOCUMENT } from '@angular/common';\nimport { ɵBrowserDomAdapter as BrowserDomAdapter } from '@angular/platform-browser';\nimport {\n BrowserDynamicTestingModule,\n platformBrowserDynamicTesting\n} from '@angular/platform-browser-dynamic/testing';\nimport { NgxsModule, Store } from '@ngxs/store';\n\nimport { NgxsTestModule } from './helpers/ngxs-test.module';\nimport { NgxsOptionsTesting, NgxsTesting } from './symbol';\nimport { skipConsoleLogging } from './skip-console-logging';\n\nexport class NgxsTestBed {\n public static configureTestingStates(options: NgxsOptionsTesting): NgxsTesting {\n this.resetTestBed();\n\n if (options.before) {\n options.before();\n }\n\n skipConsoleLogging(() =>\n TestBed.configureTestingModule({\n imports: [\n NgxsTestModule,\n NgxsModule.forRoot(options.states || [], options.ngxsOptions || {}),\n ...(options.imports || [])\n ]\n }).compileComponents()\n );\n\n NgxsTestBed.ngxsBootstrap();\n\n return {\n get store(): Store {\n return TestBed.inject(Store);\n },\n get getTestBed(): TestBedStatic {\n return TestBed;\n }\n };\n }\n\n private static ngxsBootstrap(): void {\n NgxsTestBed.createRootNode();\n NgxsTestModule.ngDoBootstrap(TestBed.inject(ApplicationRef));\n }\n\n private static resetTestBed(): void {\n TestBed.resetTestEnvironment();\n TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {\n teardown: { destroyAfterEach: true }\n });\n }\n\n private static createRootNode(selector = 'app-root'): void {\n const document = TestBed.inject(DOCUMENT);\n const adapter = new BrowserDomAdapter();\n const root = adapter.createElement(selector);\n document.body.appendChild(root);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["getDOM","BrowserDomAdapter"],"mappings":";;;;;;;;AAKA,SAAS,iBAAiB,GAAA;IACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAGA,OAAM,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC1D,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,iBAAiB,GAAA;AACxB,IAAA,MAAM,IAAI,GAAY,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;AACzE,IAAA,IAAI;AACF,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KACjC;IAAC,MAAM,GAAE;AACZ,CAAC;AAED,SAAS,2CAA2C,CAAC,QAAgB,EAAA;AACnE,IAAA,eAAe,EAAE,CAAC;IAClB,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC7B,IAAA,iBAAiB,EAAE,CAAC;AACtB,CAAC;AAED;AACA;AACA;AACA,SAAS,+BAA+B,GAAA;AACtC,IAAA,iBAAiB,EAAE,CAAC;AACpB,IAAA,eAAe,EAAE,CAAC;AAClB,IAAA,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;;AAE/B,IAAA,IAAI,OAAO,GAAG,EAAE,EAAE;QAChB,cAAc,CAAC,OAAO,CAAC,CAAC;KACzB;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAA;IAC1C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC;AAEK,SAAU,aAAa,CAAC,EAA0C,EAAA;IACtE,IAAI,OAAO,GAAwB,IAAI,CAAC;IACxC,IAAI,MAAM,GAAoC,IAAI,CAAC;IACnD,IAAI,uBAAuB,GAAyB,IAAI,CAAC;AAEzD,IAAA,MAAM,eAAe,GAAG,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;IAExC,IAAI,eAAe,EAAE;QACnB,uBAAuB,GAAG,IAAI,OAAO,CAAO,CAAC,QAAQ,EAAE,OAAO,KAAI;YAChE,OAAO,GAAG,QAAQ,CAAC;YACnB,MAAM,GAAG,OAAO,CAAC;AACnB,SAAC,CAAC,CAAC;KACJ;IAED,OAAO,eAAe,sBAAsB,GAAA;AAC1C,QAAA,IAAI;YACF,MAAM,QAAQ,GAAG,GAAG,CAAC;YACrB,2CAA2C,CAAC,QAAQ,CAAC,CAAC;YAEtD,IAAI,eAAe,EAAE;AACnB,gBAAA,MAAM,EAAE,CAAC,CAAC,KAAa,KAAI;oBACzB,IAAI,KAAK,EAAE;wBACT,MAAO,CAAC,KAAK,CAAC,CAAC;qBAChB;yBAAM;AACL,wBAAA,OAAQ,EAAE,CAAC;qBACZ;AACH,iBAAC,CAAC,CAAC;AACH,gBAAA,MAAM,uBAAwB,CAAC;aAChC;iBAAM;gBACL,MAAM,EAAE,EAAE,CAAC;aACZ;SACF;gBAAS;AACR,YAAA,+BAA+B,EAAE,CAAC;SACnC;AACH,KAAC,CAAC;AACJ;;MCtEa,iBAAiB,CAAA;AACrB,IAAA,QAAQ,MAAW;AACnB,IAAA,eAAe,MAAW;iIAFtB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,gDAFlB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAED,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,EAAE;AACb,iBAAA,CAAA;;;MCIY,cAAc,CAAA;IAClB,OAAO,aAAa,CAAC,GAAmB,EAAA;AAC7C,QAAA,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;KAClC;iIAHU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;kIAAd,cAAc,EAAA,YAAA,EAAA,CAFV,iBAAiB,CAAA,EAAA,OAAA,EAAA,CADtB,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;AAGZ,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAHf,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGZ,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,YAAY,EAAE,CAAC,iBAAiB,CAAC;AAClC,iBAAA,CAAA;;;ACLK,SAAU,WAAW,CAAC,OAAe,EAAA;AACzC,IAAA,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;SAEe,kBAAkB,CAChC,EAAK,EACL,kBAAmC,EAAE,EAAA;AAErC,IAAA,MAAM,YAAY,GAAG;AACnB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,KAAI;YACxD,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACtC,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,KAAI;YACzD,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AACvC,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,KAAI;YAC1D,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AACxC,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,KAAI;YACzD,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AACvC,SAAC,CAAC;KACH,CAAC;AACF,IAAA,SAAS,YAAY,GAAA;AACnB,QAAA,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;KAChD;IACD,IAAI,eAAe,GAAG,KAAK,CAAC;AAC5B,IAAA,IAAI;AACF,QAAA,MAAM,WAAW,GAAG,EAAE,EAAE,CAAC;AACzB,QAAA,IAAI,WAAW,YAAY,OAAO,EAAE;YAClC,eAAe,GAAG,IAAI,CAAC;YACvB,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,YAAY,EAAE,CAAkB,CAAC;SACnE;AACD,QAAA,OAAO,WAAW,CAAC;KACpB;YAAS;QACR,IAAI,CAAC,eAAe,EAAE;AACpB,YAAA,YAAY,EAAE,CAAC;SAChB;KACF;AACH;;MC3Ba,WAAW,CAAA;IACf,OAAO,sBAAsB,CAAC,OAA2B,EAAA;QAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;AAEpB,QAAA,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,OAAO,CAAC,MAAM,EAAE,CAAC;SAClB;AAED,QAAA,kBAAkB,CAAC,MACjB,OAAO,CAAC,sBAAsB,CAAC;AAC7B,YAAA,OAAO,EAAE;gBACP,cAAc;AACd,gBAAA,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;AACnE,gBAAA,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE;AAC1B,aAAA;AACF,SAAA,CAAC,CAAC,iBAAiB,EAAE,CACvB,CAAC;QAEF,WAAW,CAAC,aAAa,EAAE,CAAC;QAE5B,OAAO;AACL,YAAA,IAAI,KAAK,GAAA;AACP,gBAAA,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC9B;AACD,YAAA,IAAI,UAAU,GAAA;AACZ,gBAAA,OAAO,OAAO,CAAC;aAChB;SACF,CAAC;KACH;AAEO,IAAA,OAAO,aAAa,GAAA;QAC1B,WAAW,CAAC,cAAc,EAAE,CAAC;QAC7B,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;KAC9D;AAEO,IAAA,OAAO,YAAY,GAAA;QACzB,OAAO,CAAC,oBAAoB,EAAE,CAAC;AAC/B,QAAA,OAAO,CAAC,mBAAmB,CAAC,2BAA2B,EAAE,6BAA6B,EAAE,EAAE;AACxF,YAAA,QAAQ,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE;AACrC,SAAA,CAAC,CAAC;KACJ;AAEO,IAAA,OAAO,cAAc,CAAC,QAAQ,GAAG,UAAU,EAAA;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1C,QAAA,MAAM,OAAO,GAAG,IAAIC,kBAAiB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC7C,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KACjC;AACF;;AC9DD;;AAEG;;;;"}
@@ -2131,13 +2131,37 @@ function withNgxsDevelopmentOptions(options) {
2131
2131
  ]);
2132
2132
  }
2133
2133
 
2134
+ function getMissingMetaDataError(selector, context = {}) {
2135
+ const metadata = _getSelectorMetadata(selector) || _getStoreMetadata(selector);
2136
+ if (!metadata) {
2137
+ return new Error(`${context.prefix}The value provided as the ${context.noun} is not a valid selector.`);
2138
+ }
2139
+ return null;
2140
+ }
2134
2141
  function ensureValidSelector(selector, context = {}) {
2135
2142
  const noun = context.noun || 'selector';
2136
2143
  const prefix = context.prefix ? context.prefix + ': ' : '';
2137
2144
  ensureValueProvided(selector, { noun, prefix: context.prefix });
2138
- const metadata = _getSelectorMetadata(selector) || _getStoreMetadata(selector);
2139
- if (!metadata) {
2140
- throw new Error(`${prefix}The value provided as the ${noun} is not a valid selector.`);
2145
+ const error = getMissingMetaDataError(selector, { noun, prefix });
2146
+ if (error) {
2147
+ // If we have used this utility within a state class, we may be
2148
+ // before the @State or @Selector decorators have been applied.
2149
+ // wait until the next microtask to verify.
2150
+ // Theoretically this situation is only encountered when the javascript
2151
+ // files are being loaded and we are outside the angular zone.
2152
+ if (!NgZone.isInAngularZone()) {
2153
+ Promise.resolve().then(() => {
2154
+ const errorAgain = getMissingMetaDataError(selector, { noun, prefix });
2155
+ if (errorAgain) {
2156
+ // Throw the originally captured error so that the stack trace shows the
2157
+ // original utility call site.
2158
+ console.error(error);
2159
+ }
2160
+ });
2161
+ }
2162
+ else {
2163
+ throw error;
2164
+ }
2141
2165
  }
2142
2166
  }
2143
2167
  function ensureValueProvided(value, context = {}) {