@ngxs/store 3.7.3-dev.master-5175b98 → 3.7.3-dev.master-d470dff

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 (32) hide show
  1. package/bundles/ngxs-store-internals-testing.umd.js +63 -0
  2. package/bundles/ngxs-store-internals-testing.umd.js.map +1 -1
  3. package/bundles/ngxs-store-internals-testing.umd.min.js +2 -2
  4. package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -1
  5. package/bundles/ngxs-store.umd.js +19 -4
  6. package/bundles/ngxs-store.umd.js.map +1 -1
  7. package/bundles/ngxs-store.umd.min.js +1 -1
  8. package/bundles/ngxs-store.umd.min.js.map +1 -1
  9. package/esm2015/internals/testing/index.js +2 -1
  10. package/esm2015/internals/testing/ngxs-store-internals-testing.js +2 -2
  11. package/esm2015/internals/testing/skip-console-logging.js +62 -0
  12. package/esm2015/src/internal/state-operations.js +18 -5
  13. package/esm2015/src/symbols.js +4 -1
  14. package/esm5/internals/testing/index.js +2 -1
  15. package/esm5/internals/testing/ngxs-store-internals-testing.js +2 -2
  16. package/esm5/internals/testing/skip-console-logging.js +62 -0
  17. package/esm5/src/internal/state-operations.js +18 -5
  18. package/esm5/src/symbols.js +4 -1
  19. package/fesm2015/ngxs-store-internals-testing.js +63 -1
  20. package/fesm2015/ngxs-store-internals-testing.js.map +1 -1
  21. package/fesm2015/ngxs-store.js +20 -5
  22. package/fesm2015/ngxs-store.js.map +1 -1
  23. package/fesm5/ngxs-store-internals-testing.js +63 -1
  24. package/fesm5/ngxs-store-internals-testing.js.map +1 -1
  25. package/fesm5/ngxs-store.js +20 -5
  26. package/fesm5/ngxs-store.js.map +1 -1
  27. package/internals/testing/index.d.ts +1 -0
  28. package/internals/testing/ngxs-store-internals-testing.metadata.json +1 -1
  29. package/internals/testing/skip-console-logging.d.ts +1 -0
  30. package/ngxs-store.metadata.json +1 -1
  31. package/package.json +1 -1
  32. package/src/symbols.d.ts +3 -0
@@ -4,4 +4,5 @@
4
4
  */
5
5
  export { NgxsTestBed } from './ngxs.setup';
6
6
  export { freshPlatform } from './fresh-platform';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9pbnRlcm5hbHMvdGVzdGluZy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IE5neHNUZXN0QmVkIH0gZnJvbSAnLi9uZ3hzLnNldHVwJztcbmV4cG9ydCB7IE5neHNUZXN0aW5nIH0gZnJvbSAnLi9zeW1ib2wnO1xuZXhwb3J0IHsgZnJlc2hQbGF0Zm9ybSB9IGZyb20gJy4vZnJlc2gtcGxhdGZvcm0nO1xuIl19
7
+ export { skipConsoleLogging } from './skip-console-logging';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9pbnRlcm5hbHMvdGVzdGluZy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IE5neHNUZXN0QmVkIH0gZnJvbSAnLi9uZ3hzLnNldHVwJztcbmV4cG9ydCB7IE5neHNUZXN0aW5nIH0gZnJvbSAnLi9zeW1ib2wnO1xuZXhwb3J0IHsgZnJlc2hQbGF0Zm9ybSB9IGZyb20gJy4vZnJlc2gtcGxhdGZvcm0nO1xuZXhwb3J0IHsgc2tpcENvbnNvbGVMb2dnaW5nIH0gZnJvbSAnLi9za2lwLWNvbnNvbGUtbG9nZ2luZyc7XG4iXX0=
@@ -5,5 +5,5 @@
5
5
  /**
6
6
  * Generated bundle index. Do not edit.
7
7
  */
8
- export { NgxsTestBed, freshPlatform } from './index';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1zdG9yZS1pbnRlcm5hbHMtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL2ludGVybmFscy90ZXN0aW5nLyIsInNvdXJjZXMiOlsibmd4cy1zdG9yZS1pbnRlcm5hbHMtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMkNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
8
+ export { NgxsTestBed, freshPlatform, skipConsoleLogging } from './index';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1zdG9yZS1pbnRlcm5hbHMtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL2ludGVybmFscy90ZXN0aW5nLyIsInNvdXJjZXMiOlsibmd4cy1zdG9yZS1pbnRlcm5hbHMtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsK0RBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /// <reference types="jest" />
6
+ /// <reference types="jest" />
7
+ /**
8
+ * @template T
9
+ * @param {?} fn
10
+ * @return {?}
11
+ */
12
+ export function skipConsoleLogging(fn) {
13
+ /** @type {?} */
14
+ const consoleSpies = [
15
+ jest.spyOn(console, 'log').mockImplementation((/**
16
+ * @return {?}
17
+ */
18
+ () => { })),
19
+ jest.spyOn(console, 'warn').mockImplementation((/**
20
+ * @return {?}
21
+ */
22
+ () => { })),
23
+ jest.spyOn(console, 'error').mockImplementation((/**
24
+ * @return {?}
25
+ */
26
+ () => { })),
27
+ jest.spyOn(console, 'info').mockImplementation((/**
28
+ * @return {?}
29
+ */
30
+ () => { }))
31
+ ];
32
+ /**
33
+ * @return {?}
34
+ */
35
+ function restoreSpies() {
36
+ consoleSpies.forEach((/**
37
+ * @param {?} spy
38
+ * @return {?}
39
+ */
40
+ spy => spy.mockRestore()));
41
+ }
42
+ /** @type {?} */
43
+ let restoreSpyAsync = false;
44
+ try {
45
+ /** @type {?} */
46
+ const returnValue = fn();
47
+ if (returnValue instanceof Promise) {
48
+ restoreSpyAsync = true;
49
+ return (/** @type {?} */ (returnValue.finally((/**
50
+ * @return {?}
51
+ */
52
+ () => restoreSpies()))));
53
+ }
54
+ return returnValue;
55
+ }
56
+ finally {
57
+ if (!restoreSpyAsync) {
58
+ restoreSpies();
59
+ }
60
+ }
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcC1jb25zb2xlLWxvZ2dpbmcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9pbnRlcm5hbHMvdGVzdGluZy8iLCJzb3VyY2VzIjpbInNraXAtY29uc29sZS1sb2dnaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSw4QkFBOEI7Ozs7Ozs7QUFFOUIsTUFBTSxVQUFVLGtCQUFrQixDQUFvQyxFQUFLOztVQUNuRSxZQUFZLEdBQUc7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsa0JBQWtCOzs7UUFBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLEVBQUM7UUFDdkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsa0JBQWtCOzs7UUFBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLEVBQUM7UUFDeEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsa0JBQWtCOzs7UUFBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLEVBQUM7UUFDekQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsa0JBQWtCOzs7UUFBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLEVBQUM7S0FDekQ7Ozs7SUFDRCxTQUFTLFlBQVk7UUFDbkIsWUFBWSxDQUFDLE9BQU87Ozs7UUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBQyxDQUFDO0lBQ2pELENBQUM7O1FBQ0csZUFBZSxHQUFHLEtBQUs7SUFDM0IsSUFBSTs7Y0FDSSxXQUFXLEdBQUcsRUFBRSxFQUFFO1FBQ3hCLElBQUksV0FBVyxZQUFZLE9BQU8sRUFBRTtZQUNsQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLE9BQU8sbUJBQUEsV0FBVyxDQUFDLE9BQU87OztZQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBRSxFQUFDLEVBQWlCLENBQUM7U0FDbkU7UUFDRCxPQUFPLFdBQVcsQ0FBQztLQUNwQjtZQUFTO1FBQ1IsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNwQixZQUFZLEVBQUUsQ0FBQztTQUNoQjtLQUNGO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHR5cGVzPVwiamVzdFwiIC8+XG5cbmV4cG9ydCBmdW5jdGlvbiBza2lwQ29uc29sZUxvZ2dpbmc8VCBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55PihmbjogVCk6IFJldHVyblR5cGU8VD4ge1xuICBjb25zdCBjb25zb2xlU3BpZXMgPSBbXG4gICAgamVzdC5zcHlPbihjb25zb2xlLCAnbG9nJykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHt9KSxcbiAgICBqZXN0LnNweU9uKGNvbnNvbGUsICd3YXJuJykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHt9KSxcbiAgICBqZXN0LnNweU9uKGNvbnNvbGUsICdlcnJvcicpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7fSksXG4gICAgamVzdC5zcHlPbihjb25zb2xlLCAnaW5mbycpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7fSlcbiAgXTtcbiAgZnVuY3Rpb24gcmVzdG9yZVNwaWVzKCkge1xuICAgIGNvbnNvbGVTcGllcy5mb3JFYWNoKHNweSA9PiBzcHkubW9ja1Jlc3RvcmUoKSk7XG4gIH1cbiAgbGV0IHJlc3RvcmVTcHlBc3luYyA9IGZhbHNlO1xuICB0cnkge1xuICAgIGNvbnN0IHJldHVyblZhbHVlID0gZm4oKTtcbiAgICBpZiAocmV0dXJuVmFsdWUgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICByZXN0b3JlU3B5QXN5bmMgPSB0cnVlO1xuICAgICAgcmV0dXJuIHJldHVyblZhbHVlLmZpbmFsbHkoKCkgPT4gcmVzdG9yZVNwaWVzKCkpIGFzIFJldHVyblR5cGU8VD47XG4gICAgfVxuICAgIHJldHVybiByZXR1cm5WYWx1ZTtcbiAgfSBmaW5hbGx5IHtcbiAgICBpZiAoIXJlc3RvcmVTcHlBc3luYykge1xuICAgICAgcmVzdG9yZVNwaWVzKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -3,6 +3,7 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  import { Injectable } from '@angular/core';
6
+ import { isAngularInTestMode } from '@ngxs/store/internals';
6
7
  import { InternalDispatcher } from '../internal/dispatcher';
7
8
  import { StateStream } from './state-stream';
8
9
  import { NgxsConfig } from '../symbols';
@@ -44,9 +45,22 @@ export class InternalStateOperations {
44
45
  */
45
46
  (actionOrActions) => this._dispatcher.dispatch(actionOrActions))
46
47
  };
47
- return this._config.developmentMode
48
- ? ensureStateAndActionsAreImmutable(rootStateOperations)
49
- : rootStateOperations;
48
+ // We have to have that duplication since this will allow us to tree-shake `ensureStateAndActionsAreImmutable`
49
+ // and `deepFreeze` in Ivy production build.
50
+ // The below `if` condition checks 2 things:
51
+ // 1) if we're in View Engine (`ngDevMode` is `undefined`)
52
+ // 2) if we're running tests, we should fallback to `config.developmentMode` to be backwards-compatible
53
+ if (typeof ngDevMode === 'undefined' || (ngDevMode && isAngularInTestMode())) {
54
+ return this._config.developmentMode
55
+ ? ensureStateAndActionsAreImmutable(rootStateOperations)
56
+ : rootStateOperations;
57
+ }
58
+ else {
59
+ // If we're in Ivy and not running tests, then tree-shake `ensureStateAndActionsAreImmutable` and `deepFreeze`.
60
+ return ngDevMode
61
+ ? ensureStateAndActionsAreImmutable(rootStateOperations)
62
+ : rootStateOperations;
63
+ }
50
64
  }
51
65
  /**
52
66
  * @param {?} results
@@ -88,7 +102,6 @@ if (false) {
88
102
  */
89
103
  InternalStateOperations.prototype._config;
90
104
  }
91
- // We make it as a separate function and not the class method to tree-shake it in the future.
92
105
  /**
93
106
  * @param {?} root
94
107
  * @return {?}
@@ -117,4 +130,4 @@ function ensureStateAndActionsAreImmutable(root) {
117
130
  })
118
131
  };
119
132
  }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtb3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQU83QyxNQUFNLE9BQU8sdUJBQXVCOzs7Ozs7SUFDbEMsWUFDVSxZQUF5QixFQUN6QixXQUErQixFQUMvQixPQUFtQjtRQUZuQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUMxQixDQUFDOzs7OztJQUtKLHNCQUFzQjs7Y0FDZCxtQkFBbUIsR0FBRztZQUMxQixRQUFROzs7WUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQzVDLFFBQVE7Ozs7WUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDN0QsUUFBUTs7OztZQUFFLENBQUMsZUFBNEIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUE7U0FDdkY7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZTtZQUNqQyxDQUFDLENBQUMsaUNBQWlDLENBQUMsbUJBQW1CLENBQUM7WUFDeEQsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO0lBQzFCLENBQUM7Ozs7O0lBRUQsMkJBQTJCLENBQUMsT0FBMEI7O2NBQzlDLGVBQWUsR0FBeUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFOzs7Y0FHckUsWUFBWSxHQUFHLGVBQWUsQ0FBQyxRQUFRLEVBQUU7UUFDL0MscUNBQXFDO1FBQ3JDLGVBQWUsQ0FBQyxRQUFRLG1CQUFNLFlBQVksRUFBSyxPQUFPLENBQUMsUUFBUSxFQUFHLENBQUM7SUFDckUsQ0FBQzs7O1lBOUJGLFVBQVU7Ozs7WUFSRixXQUFXO1lBRFgsa0JBQWtCO1lBRWxCLFVBQVU7Ozs7Ozs7SUFVZiwrQ0FBaUM7Ozs7O0lBQ2pDLDhDQUF1Qzs7Ozs7SUFDdkMsMENBQTJCOzs7Ozs7O0FBNkIvQixTQUFTLGlDQUFpQyxDQUFDLElBQTBCO0lBQ25FLE9BQU87UUFDTCxRQUFROzs7UUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDL0IsUUFBUTs7OztRQUFFLEtBQUssQ0FBQyxFQUFFOztrQkFDVixXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFBO1FBQ0QsUUFBUTs7OztRQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUE7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3RhdGVPcGVyYXRpb25zLCBTdGF0ZXNBbmREZWZhdWx0cyB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XG5pbXBvcnQgeyBJbnRlcm5hbERpc3BhdGNoZXIgfSBmcm9tICcuLi9pbnRlcm5hbC9kaXNwYXRjaGVyJztcbmltcG9ydCB7IFN0YXRlU3RyZWFtIH0gZnJvbSAnLi9zdGF0ZS1zdHJlYW0nO1xuaW1wb3J0IHsgTmd4c0NvbmZpZyB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgZGVlcEZyZWV6ZSB9IGZyb20gJy4uL3V0aWxzL2ZyZWV6ZSc7XG5cbi8qKlxuICogU3RhdGUgQ29udGV4dCBmYWN0b3J5IGNsYXNzXG4gKiBAaWdub3JlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3N0YXRlU3RyZWFtOiBTdGF0ZVN0cmVhbSxcbiAgICBwcml2YXRlIF9kaXNwYXRjaGVyOiBJbnRlcm5hbERpc3BhdGNoZXIsXG4gICAgcHJpdmF0ZSBfY29uZmlnOiBOZ3hzQ29uZmlnXG4gICkge31cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcm9vdCBzdGF0ZSBvcGVyYXRvcnMuXG4gICAqL1xuICBnZXRSb290U3RhdGVPcGVyYXRpb25zKCk6IFN0YXRlT3BlcmF0aW9uczxhbnk+IHtcbiAgICBjb25zdCByb290U3RhdGVPcGVyYXRpb25zID0ge1xuICAgICAgZ2V0U3RhdGU6ICgpID0+IHRoaXMuX3N0YXRlU3RyZWFtLmdldFZhbHVlKCksXG4gICAgICBzZXRTdGF0ZTogKG5ld1N0YXRlOiBhbnkpID0+IHRoaXMuX3N0YXRlU3RyZWFtLm5leHQobmV3U3RhdGUpLFxuICAgICAgZGlzcGF0Y2g6IChhY3Rpb25PckFjdGlvbnM6IGFueSB8IGFueVtdKSA9PiB0aGlzLl9kaXNwYXRjaGVyLmRpc3BhdGNoKGFjdGlvbk9yQWN0aW9ucylcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5kZXZlbG9wbWVudE1vZGVcbiAgICAgID8gZW5zdXJlU3RhdGVBbmRBY3Rpb25zQXJlSW1tdXRhYmxlKHJvb3RTdGF0ZU9wZXJhdGlvbnMpXG4gICAgICA6IHJvb3RTdGF0ZU9wZXJhdGlvbnM7XG4gIH1cblxuICBzZXRTdGF0ZVRvVGhlQ3VycmVudFdpdGhOZXcocmVzdWx0czogU3RhdGVzQW5kRGVmYXVsdHMpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZU9wZXJhdGlvbnM6IFN0YXRlT3BlcmF0aW9uczxhbnk+ID0gdGhpcy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCk7XG5cbiAgICAvLyBHZXQgb3VyIGN1cnJlbnQgc3RyZWFtXG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gc3RhdGVPcGVyYXRpb25zLmdldFN0YXRlKCk7XG4gICAgLy8gU2V0IHRoZSBzdGF0ZSB0byB0aGUgY3VycmVudCArIG5ld1xuICAgIHN0YXRlT3BlcmF0aW9ucy5zZXRTdGF0ZSh7IC4uLmN1cnJlbnRTdGF0ZSwgLi4ucmVzdWx0cy5kZWZhdWx0cyB9KTtcbiAgfVxufVxuXG4vLyBXZSBtYWtlIGl0IGFzIGEgc2VwYXJhdGUgZnVuY3Rpb24gYW5kIG5vdCB0aGUgY2xhc3MgbWV0aG9kIHRvIHRyZWUtc2hha2UgaXQgaW4gdGhlIGZ1dHVyZS5cbmZ1bmN0aW9uIGVuc3VyZVN0YXRlQW5kQWN0aW9uc0FyZUltbXV0YWJsZShyb290OiBTdGF0ZU9wZXJhdGlvbnM8YW55Pik6IFN0YXRlT3BlcmF0aW9uczxhbnk+IHtcbiAgcmV0dXJuIHtcbiAgICBnZXRTdGF0ZTogKCkgPT4gcm9vdC5nZXRTdGF0ZSgpLFxuICAgIHNldFN0YXRlOiB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBmcm96ZW5WYWx1ZSA9IGRlZXBGcmVlemUodmFsdWUpO1xuICAgICAgcmV0dXJuIHJvb3Quc2V0U3RhdGUoZnJvemVuVmFsdWUpO1xuICAgIH0sXG4gICAgZGlzcGF0Y2g6IGFjdGlvbnMgPT4ge1xuICAgICAgcmV0dXJuIHJvb3QuZGlzcGF0Y2goYWN0aW9ucyk7XG4gICAgfVxuICB9O1xufVxuIl19
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtb3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQU83QyxNQUFNLE9BQU8sdUJBQXVCOzs7Ozs7SUFDbEMsWUFDVSxZQUF5QixFQUN6QixXQUErQixFQUMvQixPQUFtQjtRQUZuQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUMxQixDQUFDOzs7OztJQUtKLHNCQUFzQjs7Y0FDZCxtQkFBbUIsR0FBRztZQUMxQixRQUFROzs7WUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQzVDLFFBQVE7Ozs7WUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDN0QsUUFBUTs7OztZQUFFLENBQUMsZUFBNEIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUE7U0FDdkY7UUFFRCw4R0FBOEc7UUFDOUcsNENBQTRDO1FBQzVDLDRDQUE0QztRQUM1QywwREFBMEQ7UUFDMUQsdUdBQXVHO1FBQ3ZHLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLENBQUMsU0FBUyxJQUFJLG1CQUFtQixFQUFFLENBQUMsRUFBRTtZQUM1RSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZTtnQkFDakMsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLG1CQUFtQixDQUFDO2dCQUN4RCxDQUFDLENBQUMsbUJBQW1CLENBQUM7U0FDekI7YUFBTTtZQUNMLCtHQUErRztZQUMvRyxPQUFPLFNBQVM7Z0JBQ2QsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLG1CQUFtQixDQUFDO2dCQUN4RCxDQUFDLENBQUMsbUJBQW1CLENBQUM7U0FDekI7SUFDSCxDQUFDOzs7OztJQUVELDJCQUEyQixDQUFDLE9BQTBCOztjQUM5QyxlQUFlLEdBQXlCLElBQUksQ0FBQyxzQkFBc0IsRUFBRTs7O2NBR3JFLFlBQVksR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFO1FBQy9DLHFDQUFxQztRQUNyQyxlQUFlLENBQUMsUUFBUSxtQkFBTSxZQUFZLEVBQUssT0FBTyxDQUFDLFFBQVEsRUFBRyxDQUFDO0lBQ3JFLENBQUM7OztZQTFDRixVQUFVOzs7O1lBUkYsV0FBVztZQURYLGtCQUFrQjtZQUVsQixVQUFVOzs7Ozs7O0lBVWYsK0NBQWlDOzs7OztJQUNqQyw4Q0FBdUM7Ozs7O0lBQ3ZDLDBDQUEyQjs7Ozs7O0FBd0MvQixTQUFTLGlDQUFpQyxDQUFDLElBQTBCO0lBQ25FLE9BQU87UUFDTCxRQUFROzs7UUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDL0IsUUFBUTs7OztRQUFFLEtBQUssQ0FBQyxFQUFFOztrQkFDVixXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFBO1FBQ0QsUUFBUTs7OztRQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUE7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzQW5ndWxhckluVGVzdE1vZGUgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBTdGF0ZU9wZXJhdGlvbnMsIFN0YXRlc0FuZERlZmF1bHRzIH0gZnJvbSAnLi4vaW50ZXJuYWwvaW50ZXJuYWxzJztcbmltcG9ydCB7IEludGVybmFsRGlzcGF0Y2hlciB9IGZyb20gJy4uL2ludGVybmFsL2Rpc3BhdGNoZXInO1xuaW1wb3J0IHsgU3RhdGVTdHJlYW0gfSBmcm9tICcuL3N0YXRlLXN0cmVhbSc7XG5pbXBvcnQgeyBOZ3hzQ29uZmlnIH0gZnJvbSAnLi4vc3ltYm9scyc7XG5pbXBvcnQgeyBkZWVwRnJlZXplIH0gZnJvbSAnLi4vdXRpbHMvZnJlZXplJztcblxuLyoqXG4gKiBTdGF0ZSBDb250ZXh0IGZhY3RvcnkgY2xhc3NcbiAqIEBpZ25vcmVcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEludGVybmFsU3RhdGVPcGVyYXRpb25zIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfc3RhdGVTdHJlYW06IFN0YXRlU3RyZWFtLFxuICAgIHByaXZhdGUgX2Rpc3BhdGNoZXI6IEludGVybmFsRGlzcGF0Y2hlcixcbiAgICBwcml2YXRlIF9jb25maWc6IE5neHNDb25maWdcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSByb290IHN0YXRlIG9wZXJhdG9ycy5cbiAgICovXG4gIGdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKTogU3RhdGVPcGVyYXRpb25zPGFueT4ge1xuICAgIGNvbnN0IHJvb3RTdGF0ZU9wZXJhdGlvbnMgPSB7XG4gICAgICBnZXRTdGF0ZTogKCkgPT4gdGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKSxcbiAgICAgIHNldFN0YXRlOiAobmV3U3RhdGU6IGFueSkgPT4gdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChuZXdTdGF0ZSksXG4gICAgICBkaXNwYXRjaDogKGFjdGlvbk9yQWN0aW9uczogYW55IHwgYW55W10pID0+IHRoaXMuX2Rpc3BhdGNoZXIuZGlzcGF0Y2goYWN0aW9uT3JBY3Rpb25zKVxuICAgIH07XG5cbiAgICAvLyBXZSBoYXZlIHRvIGhhdmUgdGhhdCBkdXBsaWNhdGlvbiBzaW5jZSB0aGlzIHdpbGwgYWxsb3cgdXMgdG8gdHJlZS1zaGFrZSBgZW5zdXJlU3RhdGVBbmRBY3Rpb25zQXJlSW1tdXRhYmxlYFxuICAgIC8vIGFuZCBgZGVlcEZyZWV6ZWAgaW4gSXZ5IHByb2R1Y3Rpb24gYnVpbGQuXG4gICAgLy8gVGhlIGJlbG93IGBpZmAgY29uZGl0aW9uIGNoZWNrcyAyIHRoaW5nczpcbiAgICAvLyAxKSBpZiB3ZSdyZSBpbiBWaWV3IEVuZ2luZSAoYG5nRGV2TW9kZWAgaXMgYHVuZGVmaW5lZGApXG4gICAgLy8gMikgaWYgd2UncmUgcnVubmluZyB0ZXN0cywgd2Ugc2hvdWxkIGZhbGxiYWNrIHRvIGBjb25maWcuZGV2ZWxvcG1lbnRNb2RlYCB0byBiZSBiYWNrd2FyZHMtY29tcGF0aWJsZVxuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCAobmdEZXZNb2RlICYmIGlzQW5ndWxhckluVGVzdE1vZGUoKSkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jb25maWcuZGV2ZWxvcG1lbnRNb2RlXG4gICAgICAgID8gZW5zdXJlU3RhdGVBbmRBY3Rpb25zQXJlSW1tdXRhYmxlKHJvb3RTdGF0ZU9wZXJhdGlvbnMpXG4gICAgICAgIDogcm9vdFN0YXRlT3BlcmF0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgd2UncmUgaW4gSXZ5IGFuZCBub3QgcnVubmluZyB0ZXN0cywgdGhlbiB0cmVlLXNoYWtlIGBlbnN1cmVTdGF0ZUFuZEFjdGlvbnNBcmVJbW11dGFibGVgIGFuZCBgZGVlcEZyZWV6ZWAuXG4gICAgICByZXR1cm4gbmdEZXZNb2RlXG4gICAgICAgID8gZW5zdXJlU3RhdGVBbmRBY3Rpb25zQXJlSW1tdXRhYmxlKHJvb3RTdGF0ZU9wZXJhdGlvbnMpXG4gICAgICAgIDogcm9vdFN0YXRlT3BlcmF0aW9ucztcbiAgICB9XG4gIH1cblxuICBzZXRTdGF0ZVRvVGhlQ3VycmVudFdpdGhOZXcocmVzdWx0czogU3RhdGVzQW5kRGVmYXVsdHMpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZU9wZXJhdGlvbnM6IFN0YXRlT3BlcmF0aW9uczxhbnk+ID0gdGhpcy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCk7XG5cbiAgICAvLyBHZXQgb3VyIGN1cnJlbnQgc3RyZWFtXG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gc3RhdGVPcGVyYXRpb25zLmdldFN0YXRlKCk7XG4gICAgLy8gU2V0IHRoZSBzdGF0ZSB0byB0aGUgY3VycmVudCArIG5ld1xuICAgIHN0YXRlT3BlcmF0aW9ucy5zZXRTdGF0ZSh7IC4uLmN1cnJlbnRTdGF0ZSwgLi4ucmVzdWx0cy5kZWZhdWx0cyB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbnN1cmVTdGF0ZUFuZEFjdGlvbnNBcmVJbW11dGFibGUocm9vdDogU3RhdGVPcGVyYXRpb25zPGFueT4pOiBTdGF0ZU9wZXJhdGlvbnM8YW55PiB7XG4gIHJldHVybiB7XG4gICAgZ2V0U3RhdGU6ICgpID0+IHJvb3QuZ2V0U3RhdGUoKSxcbiAgICBzZXRTdGF0ZTogdmFsdWUgPT4ge1xuICAgICAgY29uc3QgZnJvemVuVmFsdWUgPSBkZWVwRnJlZXplKHZhbHVlKTtcbiAgICAgIHJldHVybiByb290LnNldFN0YXRlKGZyb3plblZhbHVlKTtcbiAgICB9LFxuICAgIGRpc3BhdGNoOiBhY3Rpb25zID0+IHtcbiAgICAgIHJldHVybiByb290LmRpc3BhdGNoKGFjdGlvbnMpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -52,6 +52,9 @@ if (false) {
52
52
  * Run in development mode. This will add additional debugging features:
53
53
  * - Object.freeze on the state and actions to guarantee immutability
54
54
  * (default: false)
55
+ *
56
+ * @deprecated This property is no longer necessary when the Ivy compiler is used.
57
+ * We'll determine the development mode through the `ngDevMode`. It's still essential with View Engine.
55
58
  * @type {?}
56
59
  */
57
60
  NgxsConfig.prototype.developmentMode;
@@ -214,4 +217,4 @@ if (false) {
214
217
  */
215
218
  NgxsAfterBootstrap.prototype.ngxsAfterBootstrap = function (ctx) { };
216
219
  }
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBTWpFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDJEQUEyRCxDQUFDOztBQUdySCxNQUFNLE9BQU8sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQU0sa0JBQWtCLENBQUM7O0FBQzNFLE1BQU0sT0FBTyxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBTSxxQkFBcUIsQ0FBQzs7QUFDakYsTUFBTSxPQUFPLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBQyxjQUFjLENBQUM7O0FBRTlELE1BQU0sT0FBTyxRQUFRLEdBQUcsV0FBVzs7QUFDbkMsTUFBTSxPQUFPLGdCQUFnQixHQUFHLG1CQUFtQjs7QUFDbkQsTUFBTSxPQUFPLGlCQUFpQixHQUFHLG9CQUFvQjs7OztBQVlyRCxNQUFNLE9BQU8sVUFBVTtJQTBDckI7Ozs7Ozs7UUFUQSxrQkFBYSxHQUFnQixFQUFFLENBQUM7Ozs7UUFJaEMsb0JBQWUsR0FBMEI7WUFDdkMsb0JBQW9CLEVBQUUsSUFBSTs7WUFDMUIsY0FBYyxFQUFFLElBQUksQ0FBQyxpREFBaUQ7U0FDdkUsQ0FBQztRQUdBLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsMkJBQTJCLEVBQUUsS0FBSztTQUNuQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHdDQUF3QyxDQUFDO0lBQ3BFLENBQUM7OztZQWhERixVQUFVOzs7Ozs7Ozs7OztJQU9ULHFDQUF5Qjs7SUFDekIsbUNBT0U7Ozs7Ozs7Ozs7Ozs7SUFZRix1Q0FBK0M7Ozs7Ozs7O0lBTy9DLG1DQUFnQzs7Ozs7SUFJaEMscUNBR0U7Ozs7Ozs7QUFlSixrQ0FvQkM7Ozs7OztJQWhCQyxrREFBYzs7Ozs7O0lBS2QscURBQXVDOzs7Ozs7SUFLdkMsdURBQStCOzs7Ozs7SUFLL0IseURBQWlEOzs7Ozs7QUFRbkQsZ0NBS0M7Ozs7Ozs7OztJQURDLGlFQUE2RDs7Ozs7OztBQU0vRCxrQ0FlQzs7Ozs7O0lBWEMsNEJBQTZCOzs7OztJQUs3QixnQ0FBYTs7Ozs7SUFLYixnQ0FBd0I7Ozs7Ozs7QUFPMUIsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7O0lBQzNCLFlBQ2tCLGFBQWdCLEVBQ2hCLFlBQWUsRUFDZixXQUFvQjtRQUZwQixrQkFBYSxHQUFiLGFBQWEsQ0FBRztRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBRztRQUNmLGdCQUFXLEdBQVgsV0FBVyxDQUFTO0lBQ25DLENBQUM7Q0FDTDs7O0lBSkcseUNBQWdDOztJQUNoQyx3Q0FBK0I7O0lBQy9CLHVDQUFvQzs7Ozs7O0FBT3hDLGdDQUVDOzs7Ozs7SUFEQyxxREFBZ0Q7Ozs7OztBQU1sRCxtQ0FFQzs7Ozs7O0lBREMsOERBQThDOzs7Ozs7QUFNaEQsd0NBRUM7Ozs7OztJQURDLHFFQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFBsYWluT2JqZWN0LCBTdGF0ZUNsYXNzIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcbmltcG9ydCB7IFNoYXJlZFNlbGVjdG9yT3B0aW9ucyB9IGZyb20gJy4vaW50ZXJuYWwvaW50ZXJuYWxzJztcbmltcG9ydCB7IE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vZXhlY3V0aW9uL3N5bWJvbHMnO1xuaW1wb3J0IHsgRGlzcGF0Y2hPdXRzaWRlWm9uZU5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vZXhlY3V0aW9uL2Rpc3BhdGNoLW91dHNpZGUtem9uZS1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5pbXBvcnQgeyBTdGF0ZVRva2VuIH0gZnJvbSAnLi9zdGF0ZS10b2tlbi9zdGF0ZS10b2tlbic7XG5cbmV4cG9ydCBjb25zdCBST09UX1NUQVRFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ1JPT1RfU1RBVEVfVE9LRU4nKTtcbmV4cG9ydCBjb25zdCBGRUFUVVJFX1NUQVRFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0ZFQVRVUkVfU1RBVEVfVE9LRU4nKTtcbmV4cG9ydCBjb25zdCBOR1hTX1BMVUdJTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ05HWFNfUExVR0lOUycpO1xuXG5leHBvcnQgY29uc3QgTUVUQV9LRVkgPSAnTkdYU19NRVRBJztcbmV4cG9ydCBjb25zdCBNRVRBX09QVElPTlNfS0VZID0gJ05HWFNfT1BUSU9OU19NRVRBJztcbmV4cG9ydCBjb25zdCBTRUxFQ1RPUl9NRVRBX0tFWSA9ICdOR1hTX1NFTEVDVE9SX01FVEEnO1xuXG5leHBvcnQgdHlwZSBOZ3hzTGlmZUN5Y2xlID0gUGFydGlhbDxOZ3hzT25DaGFuZ2VzPiAmXG4gIFBhcnRpYWw8Tmd4c09uSW5pdD4gJlxuICBQYXJ0aWFsPE5neHNBZnRlckJvb3RzdHJhcD47XG5cbmV4cG9ydCB0eXBlIE5neHNQbHVnaW5GbiA9IChzdGF0ZTogYW55LCBtdXRhdGlvbjogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKSA9PiBhbnk7XG5cbi8qKlxuICogVGhlIE5HWFMgY29uZmlnIHNldHRpbmdzLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmd4c0NvbmZpZyB7XG4gIC8qKlxuICAgKiBSdW4gaW4gZGV2ZWxvcG1lbnQgbW9kZS4gVGhpcyB3aWxsIGFkZCBhZGRpdGlvbmFsIGRlYnVnZ2luZyBmZWF0dXJlczpcbiAgICogLSBPYmplY3QuZnJlZXplIG9uIHRoZSBzdGF0ZSBhbmQgYWN0aW9ucyB0byBndWFyYW50ZWUgaW1tdXRhYmlsaXR5XG4gICAqIChkZWZhdWx0OiBmYWxzZSlcbiAgICovXG4gIGRldmVsb3BtZW50TW9kZTogYm9vbGVhbjtcbiAgY29tcGF0aWJpbGl0eToge1xuICAgIC8qKlxuICAgICAqIFN1cHBvcnQgYSBzdHJpY3QgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuXG4gICAgICogVGhpcyB3aWxsIGNpcmN1bXZlbnQgc29tZSBvcHRpbWlzYXRpb25zIHRoYXQgdmlvbGF0ZSBhIHN0cmljdCBDU1AgdGhyb3VnaCB0aGUgdXNlIG9mIGBuZXcgRnVuY3Rpb24oLi4uKWAuXG4gICAgICogKGRlZmF1bHQ6IGZhbHNlKVxuICAgICAqL1xuICAgIHN0cmljdENvbnRlbnRTZWN1cml0eVBvbGljeTogYm9vbGVhbjtcbiAgfTtcbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIGV4ZWN1dGlvbiBjb250ZXh0IHRvIHBlcmZvcm0gYXN5bmMgb3BlcmF0aW9ucyBpbnNpZGUuIEFuIGltcGxlbWVudGF0aW9uIGNhbiBiZVxuICAgKiBwcm92aWRlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgd2hlcmUgdGhlIGFzeW5jIG9wZXJhdGlvbnMgYXJlIHJ1blxuICAgKiBvdXRzaWRlIEFuZ3VsYXIncyB6b25lIGJ1dCBhbGwgb2JzZXJ2YWJsZSBiZWhhdmlvdXJzIG9mIE5HWFMgYXJlIHJ1biBiYWNrIGluc2lkZSBBbmd1bGFyJ3Mgem9uZS5cbiAgICogVGhlc2Ugb2JzZXJ2YWJsZSBiZWhhdmlvdXJzIGFyZSBmcm9tOlxuICAgKiAgIGBAU2VsZWN0KC4uLilgLCBgc3RvcmUuc2VsZWN0KC4uLilgLCBgYWN0aW9ucy5zdWJzY3JpYmUoLi4uKWAgb3IgYHN0b3JlLmRpc3BhdGNoKC4uLikuc3Vic2NyaWJlKC4uLilgXG4gICAqIEV2ZXJ5IGB6b25lLnJ1bmAgY2F1c2VzIEFuZ3VsYXIgdG8gcnVuIGNoYW5nZSBkZXRlY3Rpb24gb24gdGhlIHdob2xlIHRyZWUgKGBhcHAudGljaygpYCkgc28gb2YgeW91clxuICAgKiBhcHBsaWNhdGlvbiBkb2Vzbid0IHJlbHkgb24gem9uZS5qcyBydW5uaW5nIGNoYW5nZSBkZXRlY3Rpb24gdGhlbiB5b3UgY2FuIHN3aXRjaCB0byB0aGVcbiAgICogYE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3lgIHRoYXQgZG9lc24ndCBpbnRlcmFjdCB3aXRoIHpvbmVzLlxuICAgKiAoZGVmYXVsdDogbnVsbClcbiAgICovXG4gIGV4ZWN1dGlvblN0cmF0ZWd5OiBUeXBlPE5neHNFeGVjdXRpb25TdHJhdGVneT47XG4gIC8qKlxuICAgKiBEZWZpbmluZyB0aGUgZGVmYXVsdCBzdGF0ZSBiZWZvcmUgbW9kdWxlIGluaXRpYWxpemF0aW9uXG4gICAqIFRoaXMgaXMgY29udmVuaWVudCBpZiB3ZSBuZWVkIHRvIGNyZWF0ZSBhIGRlZmluZSBvdXIgb3duIHNldCBvZiBzdGF0ZXMuXG4gICAqIEBkZXByZWNhdGVkIHdpbGwgYmUgcmVtb3ZlZCBhZnRlciB2NFxuICAgKiAoZGVmYXVsdDoge30pXG4gICAqL1xuICBkZWZhdWx0c1N0YXRlOiBQbGFpbk9iamVjdCA9IHt9O1xuICAvKipcbiAgICogRGVmaW5pbmcgc2hhcmVkIHNlbGVjdG9yIG9wdGlvbnNcbiAgICovXG4gIHNlbGVjdG9yT3B0aW9uczogU2hhcmVkU2VsZWN0b3JPcHRpb25zID0ge1xuICAgIGluamVjdENvbnRhaW5lclN0YXRlOiB0cnVlLCAvLyBUT0RPOiBkZWZhdWx0IGlzIHRydWUgaW4gdjMsIHdpbGwgY2hhbmdlIGluIHY0XG4gICAgc3VwcHJlc3NFcnJvcnM6IHRydWUgLy8gVE9ETzogZGVmYXVsdCBpcyB0cnVlIGluIHYzLCB3aWxsIGNoYW5nZSBpbiB2NFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY29tcGF0aWJpbGl0eSA9IHtcbiAgICAgIHN0cmljdENvbnRlbnRTZWN1cml0eVBvbGljeTogZmFsc2VcbiAgICB9O1xuICAgIHRoaXMuZXhlY3V0aW9uU3RyYXRlZ3kgPSBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5O1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIFN0YXRlT3BlcmF0b3I8VD4gPSAoZXhpc3Rpbmc6IFJlYWRvbmx5PFQ+KSA9PiBUO1xuXG4vKipcbiAqIFN0YXRlIGNvbnRleHQgcHJvdmlkZWQgdG8gdGhlIGFjdGlvbnMgaW4gdGhlIHN0YXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlQ29udGV4dDxUPiB7XG4gIC8qKlxuICAgKiBHZXQgdGhlIGN1cnJlbnQgc3RhdGUuXG4gICAqL1xuICBnZXRTdGF0ZSgpOiBUO1xuXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgc3RhdGUgdG8gYSBuZXcgdmFsdWUuXG4gICAqL1xuICBzZXRTdGF0ZSh2YWw6IFQgfCBTdGF0ZU9wZXJhdG9yPFQ+KTogVDtcblxuICAvKipcbiAgICogUGF0Y2ggdGhlIGV4aXN0aW5nIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHZhbHVlLlxuICAgKi9cbiAgcGF0Y2hTdGF0ZSh2YWw6IFBhcnRpYWw8VD4pOiBUO1xuXG4gIC8qKlxuICAgKiBEaXNwYXRjaCBhIG5ldyBhY3Rpb24gYW5kIHJldHVybiB0aGUgZGlzcGF0Y2hlZCBvYnNlcnZhYmxlLlxuICAgKi9cbiAgZGlzcGF0Y2goYWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPHZvaWQ+O1xufVxuXG5leHBvcnQgdHlwZSBOZ3hzTmV4dFBsdWdpbkZuID0gKHN0YXRlOiBhbnksIG11dGF0aW9uOiBhbnkpID0+IGFueTtcblxuLyoqXG4gKiBQbHVnaW4gaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c1BsdWdpbiB7XG4gIC8qKlxuICAgKiBIYW5kbGUgdGhlIHN0YXRlL2FjdGlvbiBiZWZvcmUgaXRzIHN1Ym1pdHRlZCB0byB0aGUgc3RhdGUgaGFuZGxlcnMuXG4gICAqL1xuICBoYW5kbGUoc3RhdGU6IGFueSwgYWN0aW9uOiBhbnksIG5leHQ6IE5neHNOZXh0UGx1Z2luRm4pOiBhbnk7XG59XG5cbi8qKlxuICogT3B0aW9ucyB0aGF0IGNhbiBiZSBwcm92aWRlZCB0byB0aGUgc3RvcmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmVPcHRpb25zPFQ+IHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHN0YXRlLiBSZXF1aXJlZC5cbiAgICovXG4gIG5hbWU6IHN0cmluZyB8IFN0YXRlVG9rZW48VD47XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgdmFsdWVzIGZvciB0aGUgc3RhdGUuIElmIG5vdCBwcm92aWRlZCwgdXNlcyBlbXB0eSBvYmplY3QuXG4gICAqL1xuICBkZWZhdWx0cz86IFQ7XG5cbiAgLyoqXG4gICAqIFN1YiBzdGF0ZXMgZm9yIHRoZSBnaXZlbiBzdGF0ZS5cbiAgICovXG4gIGNoaWxkcmVuPzogU3RhdGVDbGFzc1tdO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBiYXNpYyBjaGFuZ2UgZnJvbSBhIHByZXZpb3VzIHRvIGEgbmV3IHZhbHVlIGZvciBhIHNpbmdsZSBzdGF0ZSBpbnN0YW5jZS5cbiAqIFBhc3NlZCBhcyBhIHZhbHVlIGluIGEgTmd4c1NpbXBsZUNoYW5nZXMgb2JqZWN0IHRvIHRoZSBuZ3hzT25DaGFuZ2VzIGhvb2suXG4gKi9cbmV4cG9ydCBjbGFzcyBOZ3hzU2ltcGxlQ2hhbmdlPFQgPSBhbnk+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHByZXZpb3VzVmFsdWU6IFQsXG4gICAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRWYWx1ZTogVCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZmlyc3RDaGFuZ2U6IGJvb2xlYW5cbiAgKSB7fVxufVxuXG4vKipcbiAqIE9uIGluaXQgaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c09uSW5pdCB7XG4gIG5neHNPbkluaXQoY3R4PzogU3RhdGVDb250ZXh0PGFueT4pOiB2b2lkIHwgYW55O1xufVxuXG4vKipcbiAqIE9uIGNoYW5nZSBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzT25DaGFuZ2VzIHtcbiAgbmd4c09uQ2hhbmdlcyhjaGFuZ2U6IE5neHNTaW1wbGVDaGFuZ2UpOiB2b2lkO1xufVxuXG4vKipcbiAqIEFmdGVyIGJvb3RzdHJhcCBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzQWZ0ZXJCb290c3RyYXAge1xuICBuZ3hzQWZ0ZXJCb290c3RyYXAoY3R4PzogU3RhdGVDb250ZXh0PGFueT4pOiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBOZ3hzTW9kdWxlT3B0aW9ucyA9IFBhcnRpYWw8Tmd4c0NvbmZpZz47XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgY29uc3QgbmdEZXZNb2RlOiBib29sZWFuO1xufVxuIl19
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBTWpFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDJEQUEyRCxDQUFDOztBQUdySCxNQUFNLE9BQU8sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQU0sa0JBQWtCLENBQUM7O0FBQzNFLE1BQU0sT0FBTyxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBTSxxQkFBcUIsQ0FBQzs7QUFDakYsTUFBTSxPQUFPLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBQyxjQUFjLENBQUM7O0FBRTlELE1BQU0sT0FBTyxRQUFRLEdBQUcsV0FBVzs7QUFDbkMsTUFBTSxPQUFPLGdCQUFnQixHQUFHLG1CQUFtQjs7QUFDbkQsTUFBTSxPQUFPLGlCQUFpQixHQUFHLG9CQUFvQjs7OztBQVlyRCxNQUFNLE9BQU8sVUFBVTtJQTZDckI7Ozs7Ozs7UUFUQSxrQkFBYSxHQUFnQixFQUFFLENBQUM7Ozs7UUFJaEMsb0JBQWUsR0FBMEI7WUFDdkMsb0JBQW9CLEVBQUUsSUFBSTs7WUFDMUIsY0FBYyxFQUFFLElBQUksQ0FBQyxpREFBaUQ7U0FDdkUsQ0FBQztRQUdBLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsMkJBQTJCLEVBQUUsS0FBSztTQUNuQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHdDQUF3QyxDQUFDO0lBQ3BFLENBQUM7OztZQW5ERixVQUFVOzs7Ozs7Ozs7Ozs7OztJQVVULHFDQUF5Qjs7SUFDekIsbUNBT0U7Ozs7Ozs7Ozs7Ozs7SUFZRix1Q0FBK0M7Ozs7Ozs7O0lBTy9DLG1DQUFnQzs7Ozs7SUFJaEMscUNBR0U7Ozs7Ozs7QUFlSixrQ0FvQkM7Ozs7OztJQWhCQyxrREFBYzs7Ozs7O0lBS2QscURBQXVDOzs7Ozs7SUFLdkMsdURBQStCOzs7Ozs7SUFLL0IseURBQWlEOzs7Ozs7QUFRbkQsZ0NBS0M7Ozs7Ozs7OztJQURDLGlFQUE2RDs7Ozs7OztBQU0vRCxrQ0FlQzs7Ozs7O0lBWEMsNEJBQTZCOzs7OztJQUs3QixnQ0FBYTs7Ozs7SUFLYixnQ0FBd0I7Ozs7Ozs7QUFPMUIsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7O0lBQzNCLFlBQ2tCLGFBQWdCLEVBQ2hCLFlBQWUsRUFDZixXQUFvQjtRQUZwQixrQkFBYSxHQUFiLGFBQWEsQ0FBRztRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBRztRQUNmLGdCQUFXLEdBQVgsV0FBVyxDQUFTO0lBQ25DLENBQUM7Q0FDTDs7O0lBSkcseUNBQWdDOztJQUNoQyx3Q0FBK0I7O0lBQy9CLHVDQUFvQzs7Ozs7O0FBT3hDLGdDQUVDOzs7Ozs7SUFEQyxxREFBZ0Q7Ozs7OztBQU1sRCxtQ0FFQzs7Ozs7O0lBREMsOERBQThDOzs7Ozs7QUFNaEQsd0NBRUM7Ozs7OztJQURDLHFFQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFBsYWluT2JqZWN0LCBTdGF0ZUNsYXNzIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcbmltcG9ydCB7IFNoYXJlZFNlbGVjdG9yT3B0aW9ucyB9IGZyb20gJy4vaW50ZXJuYWwvaW50ZXJuYWxzJztcbmltcG9ydCB7IE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vZXhlY3V0aW9uL3N5bWJvbHMnO1xuaW1wb3J0IHsgRGlzcGF0Y2hPdXRzaWRlWm9uZU5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vZXhlY3V0aW9uL2Rpc3BhdGNoLW91dHNpZGUtem9uZS1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5pbXBvcnQgeyBTdGF0ZVRva2VuIH0gZnJvbSAnLi9zdGF0ZS10b2tlbi9zdGF0ZS10b2tlbic7XG5cbmV4cG9ydCBjb25zdCBST09UX1NUQVRFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ1JPT1RfU1RBVEVfVE9LRU4nKTtcbmV4cG9ydCBjb25zdCBGRUFUVVJFX1NUQVRFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0ZFQVRVUkVfU1RBVEVfVE9LRU4nKTtcbmV4cG9ydCBjb25zdCBOR1hTX1BMVUdJTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ05HWFNfUExVR0lOUycpO1xuXG5leHBvcnQgY29uc3QgTUVUQV9LRVkgPSAnTkdYU19NRVRBJztcbmV4cG9ydCBjb25zdCBNRVRBX09QVElPTlNfS0VZID0gJ05HWFNfT1BUSU9OU19NRVRBJztcbmV4cG9ydCBjb25zdCBTRUxFQ1RPUl9NRVRBX0tFWSA9ICdOR1hTX1NFTEVDVE9SX01FVEEnO1xuXG5leHBvcnQgdHlwZSBOZ3hzTGlmZUN5Y2xlID0gUGFydGlhbDxOZ3hzT25DaGFuZ2VzPiAmXG4gIFBhcnRpYWw8Tmd4c09uSW5pdD4gJlxuICBQYXJ0aWFsPE5neHNBZnRlckJvb3RzdHJhcD47XG5cbmV4cG9ydCB0eXBlIE5neHNQbHVnaW5GbiA9IChzdGF0ZTogYW55LCBtdXRhdGlvbjogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKSA9PiBhbnk7XG5cbi8qKlxuICogVGhlIE5HWFMgY29uZmlnIHNldHRpbmdzLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmd4c0NvbmZpZyB7XG4gIC8qKlxuICAgKiBSdW4gaW4gZGV2ZWxvcG1lbnQgbW9kZS4gVGhpcyB3aWxsIGFkZCBhZGRpdGlvbmFsIGRlYnVnZ2luZyBmZWF0dXJlczpcbiAgICogLSBPYmplY3QuZnJlZXplIG9uIHRoZSBzdGF0ZSBhbmQgYWN0aW9ucyB0byBndWFyYW50ZWUgaW1tdXRhYmlsaXR5XG4gICAqIChkZWZhdWx0OiBmYWxzZSlcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBwcm9wZXJ0eSBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IHdoZW4gdGhlIEl2eSBjb21waWxlciBpcyB1c2VkLlxuICAgKiBXZSdsbCBkZXRlcm1pbmUgdGhlIGRldmVsb3BtZW50IG1vZGUgdGhyb3VnaCB0aGUgYG5nRGV2TW9kZWAuIEl0J3Mgc3RpbGwgZXNzZW50aWFsIHdpdGggVmlldyBFbmdpbmUuXG4gICAqL1xuICBkZXZlbG9wbWVudE1vZGU6IGJvb2xlYW47XG4gIGNvbXBhdGliaWxpdHk6IHtcbiAgICAvKipcbiAgICAgKiBTdXBwb3J0IGEgc3RyaWN0IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LlxuICAgICAqIFRoaXMgd2lsbCBjaXJjdW12ZW50IHNvbWUgb3B0aW1pc2F0aW9ucyB0aGF0IHZpb2xhdGUgYSBzdHJpY3QgQ1NQIHRocm91Z2ggdGhlIHVzZSBvZiBgbmV3IEZ1bmN0aW9uKC4uLilgLlxuICAgICAqIChkZWZhdWx0OiBmYWxzZSlcbiAgICAgKi9cbiAgICBzdHJpY3RDb250ZW50U2VjdXJpdHlQb2xpY3k6IGJvb2xlYW47XG4gIH07XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHRoZSBleGVjdXRpb24gY29udGV4dCB0byBwZXJmb3JtIGFzeW5jIG9wZXJhdGlvbnMgaW5zaWRlLiBBbiBpbXBsZW1lbnRhdGlvbiBjYW4gYmVcbiAgICogcHJvdmlkZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmVoYXZpb3VyIHdoZXJlIHRoZSBhc3luYyBvcGVyYXRpb25zIGFyZSBydW5cbiAgICogb3V0c2lkZSBBbmd1bGFyJ3Mgem9uZSBidXQgYWxsIG9ic2VydmFibGUgYmVoYXZpb3VycyBvZiBOR1hTIGFyZSBydW4gYmFjayBpbnNpZGUgQW5ndWxhcidzIHpvbmUuXG4gICAqIFRoZXNlIG9ic2VydmFibGUgYmVoYXZpb3VycyBhcmUgZnJvbTpcbiAgICogICBgQFNlbGVjdCguLi4pYCwgYHN0b3JlLnNlbGVjdCguLi4pYCwgYGFjdGlvbnMuc3Vic2NyaWJlKC4uLilgIG9yIGBzdG9yZS5kaXNwYXRjaCguLi4pLnN1YnNjcmliZSguLi4pYFxuICAgKiBFdmVyeSBgem9uZS5ydW5gIGNhdXNlcyBBbmd1bGFyIHRvIHJ1biBjaGFuZ2UgZGV0ZWN0aW9uIG9uIHRoZSB3aG9sZSB0cmVlIChgYXBwLnRpY2soKWApIHNvIG9mIHlvdXJcbiAgICogYXBwbGljYXRpb24gZG9lc24ndCByZWx5IG9uIHpvbmUuanMgcnVubmluZyBjaGFuZ2UgZGV0ZWN0aW9uIHRoZW4geW91IGNhbiBzd2l0Y2ggdG8gdGhlXG4gICAqIGBOb29wTmd4c0V4ZWN1dGlvblN0cmF0ZWd5YCB0aGF0IGRvZXNuJ3QgaW50ZXJhY3Qgd2l0aCB6b25lcy5cbiAgICogKGRlZmF1bHQ6IG51bGwpXG4gICAqL1xuICBleGVjdXRpb25TdHJhdGVneTogVHlwZTxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3k+O1xuICAvKipcbiAgICogRGVmaW5pbmcgdGhlIGRlZmF1bHQgc3RhdGUgYmVmb3JlIG1vZHVsZSBpbml0aWFsaXphdGlvblxuICAgKiBUaGlzIGlzIGNvbnZlbmllbnQgaWYgd2UgbmVlZCB0byBjcmVhdGUgYSBkZWZpbmUgb3VyIG93biBzZXQgb2Ygc3RhdGVzLlxuICAgKiBAZGVwcmVjYXRlZCB3aWxsIGJlIHJlbW92ZWQgYWZ0ZXIgdjRcbiAgICogKGRlZmF1bHQ6IHt9KVxuICAgKi9cbiAgZGVmYXVsdHNTdGF0ZTogUGxhaW5PYmplY3QgPSB7fTtcbiAgLyoqXG4gICAqIERlZmluaW5nIHNoYXJlZCBzZWxlY3RvciBvcHRpb25zXG4gICAqL1xuICBzZWxlY3Rvck9wdGlvbnM6IFNoYXJlZFNlbGVjdG9yT3B0aW9ucyA9IHtcbiAgICBpbmplY3RDb250YWluZXJTdGF0ZTogdHJ1ZSwgLy8gVE9ETzogZGVmYXVsdCBpcyB0cnVlIGluIHYzLCB3aWxsIGNoYW5nZSBpbiB2NFxuICAgIHN1cHByZXNzRXJyb3JzOiB0cnVlIC8vIFRPRE86IGRlZmF1bHQgaXMgdHJ1ZSBpbiB2Mywgd2lsbCBjaGFuZ2UgaW4gdjRcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNvbXBhdGliaWxpdHkgPSB7XG4gICAgICBzdHJpY3RDb250ZW50U2VjdXJpdHlQb2xpY3k6IGZhbHNlXG4gICAgfTtcbiAgICB0aGlzLmV4ZWN1dGlvblN0cmF0ZWd5ID0gRGlzcGF0Y2hPdXRzaWRlWm9uZU5neHNFeGVjdXRpb25TdHJhdGVneTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBTdGF0ZU9wZXJhdG9yPFQ+ID0gKGV4aXN0aW5nOiBSZWFkb25seTxUPikgPT4gVDtcblxuLyoqXG4gKiBTdGF0ZSBjb250ZXh0IHByb3ZpZGVkIHRvIHRoZSBhY3Rpb25zIGluIHRoZSBzdGF0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGF0ZUNvbnRleHQ8VD4ge1xuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IHN0YXRlLlxuICAgKi9cbiAgZ2V0U3RhdGUoKTogVDtcblxuICAvKipcbiAgICogUmVzZXQgdGhlIHN0YXRlIHRvIGEgbmV3IHZhbHVlLlxuICAgKi9cbiAgc2V0U3RhdGUodmFsOiBUIHwgU3RhdGVPcGVyYXRvcjxUPik6IFQ7XG5cbiAgLyoqXG4gICAqIFBhdGNoIHRoZSBleGlzdGluZyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCB2YWx1ZS5cbiAgICovXG4gIHBhdGNoU3RhdGUodmFsOiBQYXJ0aWFsPFQ+KTogVDtcblxuICAvKipcbiAgICogRGlzcGF0Y2ggYSBuZXcgYWN0aW9uIGFuZCByZXR1cm4gdGhlIGRpc3BhdGNoZWQgb2JzZXJ2YWJsZS5cbiAgICovXG4gIGRpc3BhdGNoKGFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPjtcbn1cblxuZXhwb3J0IHR5cGUgTmd4c05leHRQbHVnaW5GbiA9IChzdGF0ZTogYW55LCBtdXRhdGlvbjogYW55KSA9PiBhbnk7XG5cbi8qKlxuICogUGx1Z2luIGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNQbHVnaW4ge1xuICAvKipcbiAgICogSGFuZGxlIHRoZSBzdGF0ZS9hY3Rpb24gYmVmb3JlIGl0cyBzdWJtaXR0ZWQgdG8gdGhlIHN0YXRlIGhhbmRsZXJzLlxuICAgKi9cbiAgaGFuZGxlKHN0YXRlOiBhbnksIGFjdGlvbjogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKTogYW55O1xufVxuXG4vKipcbiAqIE9wdGlvbnMgdGhhdCBjYW4gYmUgcHJvdmlkZWQgdG8gdGhlIHN0b3JlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JlT3B0aW9uczxUPiB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBzdGF0ZS4gUmVxdWlyZWQuXG4gICAqL1xuICBuYW1lOiBzdHJpbmcgfCBTdGF0ZVRva2VuPFQ+O1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgdGhlIHN0YXRlLiBJZiBub3QgcHJvdmlkZWQsIHVzZXMgZW1wdHkgb2JqZWN0LlxuICAgKi9cbiAgZGVmYXVsdHM/OiBUO1xuXG4gIC8qKlxuICAgKiBTdWIgc3RhdGVzIGZvciB0aGUgZ2l2ZW4gc3RhdGUuXG4gICAqL1xuICBjaGlsZHJlbj86IFN0YXRlQ2xhc3NbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgYmFzaWMgY2hhbmdlIGZyb20gYSBwcmV2aW91cyB0byBhIG5ldyB2YWx1ZSBmb3IgYSBzaW5nbGUgc3RhdGUgaW5zdGFuY2UuXG4gKiBQYXNzZWQgYXMgYSB2YWx1ZSBpbiBhIE5neHNTaW1wbGVDaGFuZ2VzIG9iamVjdCB0byB0aGUgbmd4c09uQ2hhbmdlcyBob29rLlxuICovXG5leHBvcnQgY2xhc3MgTmd4c1NpbXBsZUNoYW5nZTxUID0gYW55PiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBwcmV2aW91c1ZhbHVlOiBULFxuICAgIHB1YmxpYyByZWFkb25seSBjdXJyZW50VmFsdWU6IFQsXG4gICAgcHVibGljIHJlYWRvbmx5IGZpcnN0Q2hhbmdlOiBib29sZWFuXG4gICkge31cbn1cblxuLyoqXG4gKiBPbiBpbml0IGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNPbkluaXQge1xuICBuZ3hzT25Jbml0KGN0eD86IFN0YXRlQ29udGV4dDxhbnk+KTogdm9pZCB8IGFueTtcbn1cblxuLyoqXG4gKiBPbiBjaGFuZ2UgaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c09uQ2hhbmdlcyB7XG4gIG5neHNPbkNoYW5nZXMoY2hhbmdlOiBOZ3hzU2ltcGxlQ2hhbmdlKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBZnRlciBib290c3RyYXAgaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c0FmdGVyQm9vdHN0cmFwIHtcbiAgbmd4c0FmdGVyQm9vdHN0cmFwKGN0eD86IFN0YXRlQ29udGV4dDxhbnk+KTogdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgTmd4c01vZHVsZU9wdGlvbnMgPSBQYXJ0aWFsPE5neHNDb25maWc+O1xuXG4vKiogQGludGVybmFsICovXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGNvbnN0IG5nRGV2TW9kZTogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -4,4 +4,5 @@
4
4
  */
5
5
  export { NgxsTestBed } from './ngxs.setup';
6
6
  export { freshPlatform } from './fresh-platform';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9pbnRlcm5hbHMvdGVzdGluZy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IE5neHNUZXN0QmVkIH0gZnJvbSAnLi9uZ3hzLnNldHVwJztcbmV4cG9ydCB7IE5neHNUZXN0aW5nIH0gZnJvbSAnLi9zeW1ib2wnO1xuZXhwb3J0IHsgZnJlc2hQbGF0Zm9ybSB9IGZyb20gJy4vZnJlc2gtcGxhdGZvcm0nO1xuIl19
7
+ export { skipConsoleLogging } from './skip-console-logging';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9pbnRlcm5hbHMvdGVzdGluZy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IE5neHNUZXN0QmVkIH0gZnJvbSAnLi9uZ3hzLnNldHVwJztcbmV4cG9ydCB7IE5neHNUZXN0aW5nIH0gZnJvbSAnLi9zeW1ib2wnO1xuZXhwb3J0IHsgZnJlc2hQbGF0Zm9ybSB9IGZyb20gJy4vZnJlc2gtcGxhdGZvcm0nO1xuZXhwb3J0IHsgc2tpcENvbnNvbGVMb2dnaW5nIH0gZnJvbSAnLi9za2lwLWNvbnNvbGUtbG9nZ2luZyc7XG4iXX0=
@@ -5,5 +5,5 @@
5
5
  /**
6
6
  * Generated bundle index. Do not edit.
7
7
  */
8
- export { NgxsTestBed, freshPlatform } from './index';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1zdG9yZS1pbnRlcm5hbHMtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL2ludGVybmFscy90ZXN0aW5nLyIsInNvdXJjZXMiOlsibmd4cy1zdG9yZS1pbnRlcm5hbHMtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMkNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
8
+ export { NgxsTestBed, freshPlatform, skipConsoleLogging } from './index';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1zdG9yZS1pbnRlcm5hbHMtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL2ludGVybmFscy90ZXN0aW5nLyIsInNvdXJjZXMiOlsibmd4cy1zdG9yZS1pbnRlcm5hbHMtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsK0RBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /// <reference types="jest" />
6
+ /// <reference types="jest" />
7
+ /**
8
+ * @template T
9
+ * @param {?} fn
10
+ * @return {?}
11
+ */
12
+ export function skipConsoleLogging(fn) {
13
+ /** @type {?} */
14
+ var consoleSpies = [
15
+ jest.spyOn(console, 'log').mockImplementation((/**
16
+ * @return {?}
17
+ */
18
+ function () { })),
19
+ jest.spyOn(console, 'warn').mockImplementation((/**
20
+ * @return {?}
21
+ */
22
+ function () { })),
23
+ jest.spyOn(console, 'error').mockImplementation((/**
24
+ * @return {?}
25
+ */
26
+ function () { })),
27
+ jest.spyOn(console, 'info').mockImplementation((/**
28
+ * @return {?}
29
+ */
30
+ function () { }))
31
+ ];
32
+ /**
33
+ * @return {?}
34
+ */
35
+ function restoreSpies() {
36
+ consoleSpies.forEach((/**
37
+ * @param {?} spy
38
+ * @return {?}
39
+ */
40
+ function (spy) { return spy.mockRestore(); }));
41
+ }
42
+ /** @type {?} */
43
+ var restoreSpyAsync = false;
44
+ try {
45
+ /** @type {?} */
46
+ var returnValue = fn();
47
+ if (returnValue instanceof Promise) {
48
+ restoreSpyAsync = true;
49
+ return (/** @type {?} */ (returnValue.finally((/**
50
+ * @return {?}
51
+ */
52
+ function () { return restoreSpies(); }))));
53
+ }
54
+ return returnValue;
55
+ }
56
+ finally {
57
+ if (!restoreSpyAsync) {
58
+ restoreSpies();
59
+ }
60
+ }
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcC1jb25zb2xlLWxvZ2dpbmcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9pbnRlcm5hbHMvdGVzdGluZy8iLCJzb3VyY2VzIjpbInNraXAtY29uc29sZS1sb2dnaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSw4QkFBOEI7Ozs7Ozs7QUFFOUIsTUFBTSxVQUFVLGtCQUFrQixDQUFvQyxFQUFLOztRQUNuRSxZQUFZLEdBQUc7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsa0JBQWtCOzs7UUFBQyxjQUFPLENBQUMsRUFBQztRQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxrQkFBa0I7OztRQUFDLGNBQU8sQ0FBQyxFQUFDO1FBQ3hELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLGtCQUFrQjs7O1FBQUMsY0FBTyxDQUFDLEVBQUM7UUFDekQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsa0JBQWtCOzs7UUFBQyxjQUFPLENBQUMsRUFBQztLQUN6RDs7OztJQUNELFNBQVMsWUFBWTtRQUNuQixZQUFZLENBQUMsT0FBTzs7OztRQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxDQUFDLFdBQVcsRUFBRSxFQUFqQixDQUFpQixFQUFDLENBQUM7SUFDakQsQ0FBQzs7UUFDRyxlQUFlLEdBQUcsS0FBSztJQUMzQixJQUFJOztZQUNJLFdBQVcsR0FBRyxFQUFFLEVBQUU7UUFDeEIsSUFBSSxXQUFXLFlBQVksT0FBTyxFQUFFO1lBQ2xDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDdkIsT0FBTyxtQkFBQSxXQUFXLENBQUMsT0FBTzs7O1lBQUMsY0FBTSxPQUFBLFlBQVksRUFBRSxFQUFkLENBQWMsRUFBQyxFQUFpQixDQUFDO1NBQ25FO1FBQ0QsT0FBTyxXQUFXLENBQUM7S0FDcEI7WUFBUztRQUNSLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsWUFBWSxFQUFFLENBQUM7U0FDaEI7S0FDRjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cImplc3RcIiAvPlxuXG5leHBvcnQgZnVuY3Rpb24gc2tpcENvbnNvbGVMb2dnaW5nPFQgZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGFueT4oZm46IFQpOiBSZXR1cm5UeXBlPFQ+IHtcbiAgY29uc3QgY29uc29sZVNwaWVzID0gW1xuICAgIGplc3Quc3B5T24oY29uc29sZSwgJ2xvZycpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7fSksXG4gICAgamVzdC5zcHlPbihjb25zb2xlLCAnd2FybicpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7fSksXG4gICAgamVzdC5zcHlPbihjb25zb2xlLCAnZXJyb3InKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge30pLFxuICAgIGplc3Quc3B5T24oY29uc29sZSwgJ2luZm8nKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge30pXG4gIF07XG4gIGZ1bmN0aW9uIHJlc3RvcmVTcGllcygpIHtcbiAgICBjb25zb2xlU3BpZXMuZm9yRWFjaChzcHkgPT4gc3B5Lm1vY2tSZXN0b3JlKCkpO1xuICB9XG4gIGxldCByZXN0b3JlU3B5QXN5bmMgPSBmYWxzZTtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXR1cm5WYWx1ZSA9IGZuKCk7XG4gICAgaWYgKHJldHVyblZhbHVlIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgcmVzdG9yZVNweUFzeW5jID0gdHJ1ZTtcbiAgICAgIHJldHVybiByZXR1cm5WYWx1ZS5maW5hbGx5KCgpID0+IHJlc3RvcmVTcGllcygpKSBhcyBSZXR1cm5UeXBlPFQ+O1xuICAgIH1cbiAgICByZXR1cm4gcmV0dXJuVmFsdWU7XG4gIH0gZmluYWxseSB7XG4gICAgaWYgKCFyZXN0b3JlU3B5QXN5bmMpIHtcbiAgICAgIHJlc3RvcmVTcGllcygpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
6
  import { Injectable } from '@angular/core';
7
+ import { isAngularInTestMode } from '@ngxs/store/internals';
7
8
  import { InternalDispatcher } from '../internal/dispatcher';
8
9
  import { StateStream } from './state-stream';
9
10
  import { NgxsConfig } from '../symbols';
@@ -48,9 +49,22 @@ var InternalStateOperations = /** @class */ (function () {
48
49
  */
49
50
  function (actionOrActions) { return _this._dispatcher.dispatch(actionOrActions); })
50
51
  };
51
- return this._config.developmentMode
52
- ? ensureStateAndActionsAreImmutable(rootStateOperations)
53
- : rootStateOperations;
52
+ // We have to have that duplication since this will allow us to tree-shake `ensureStateAndActionsAreImmutable`
53
+ // and `deepFreeze` in Ivy production build.
54
+ // The below `if` condition checks 2 things:
55
+ // 1) if we're in View Engine (`ngDevMode` is `undefined`)
56
+ // 2) if we're running tests, we should fallback to `config.developmentMode` to be backwards-compatible
57
+ if (typeof ngDevMode === 'undefined' || (ngDevMode && isAngularInTestMode())) {
58
+ return this._config.developmentMode
59
+ ? ensureStateAndActionsAreImmutable(rootStateOperations)
60
+ : rootStateOperations;
61
+ }
62
+ else {
63
+ // If we're in Ivy and not running tests, then tree-shake `ensureStateAndActionsAreImmutable` and `deepFreeze`.
64
+ return ngDevMode
65
+ ? ensureStateAndActionsAreImmutable(rootStateOperations)
66
+ : rootStateOperations;
67
+ }
54
68
  };
55
69
  /**
56
70
  * @param {?} results
@@ -98,7 +112,6 @@ if (false) {
98
112
  */
99
113
  InternalStateOperations.prototype._config;
100
114
  }
101
- // We make it as a separate function and not the class method to tree-shake it in the future.
102
115
  /**
103
116
  * @param {?} root
104
117
  * @return {?}
@@ -127,4 +140,4 @@ function ensureStateAndActionsAreImmutable(root) {
127
140
  })
128
141
  };
129
142
  }
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtb3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFNN0M7SUFFRSxpQ0FDVSxZQUF5QixFQUN6QixXQUErQixFQUMvQixPQUFtQjtRQUZuQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUMxQixDQUFDO0lBRUo7O09BRUc7Ozs7O0lBQ0gsd0RBQXNCOzs7O0lBQXRCO1FBQUEsaUJBVUM7O1lBVE8sbUJBQW1CLEdBQUc7WUFDMUIsUUFBUTs7O1lBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQTVCLENBQTRCLENBQUE7WUFDNUMsUUFBUTs7OztZQUFFLFVBQUMsUUFBYSxJQUFLLE9BQUEsS0FBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQWhDLENBQWdDLENBQUE7WUFDN0QsUUFBUTs7OztZQUFFLFVBQUMsZUFBNEIsSUFBSyxPQUFBLEtBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUExQyxDQUEwQyxDQUFBO1NBQ3ZGO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWU7WUFDakMsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLG1CQUFtQixDQUFDO1lBQ3hELENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztJQUMxQixDQUFDOzs7OztJQUVELDZEQUEyQjs7OztJQUEzQixVQUE0QixPQUEwQjs7WUFDOUMsZUFBZSxHQUF5QixJQUFJLENBQUMsc0JBQXNCLEVBQUU7OztZQUdyRSxZQUFZLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRTtRQUMvQyxxQ0FBcUM7UUFDckMsZUFBZSxDQUFDLFFBQVEsc0JBQU0sWUFBWSxFQUFLLE9BQU8sQ0FBQyxRQUFRLEVBQUcsQ0FBQztJQUNyRSxDQUFDOztnQkE5QkYsVUFBVTs7OztnQkFSRixXQUFXO2dCQURYLGtCQUFrQjtnQkFFbEIsVUFBVTs7SUFzQ25CLDhCQUFDO0NBQUEsQUEvQkQsSUErQkM7U0E5QlksdUJBQXVCOzs7Ozs7SUFFaEMsK0NBQWlDOzs7OztJQUNqQyw4Q0FBdUM7Ozs7O0lBQ3ZDLDBDQUEyQjs7Ozs7OztBQTZCL0IsU0FBUyxpQ0FBaUMsQ0FBQyxJQUEwQjtJQUNuRSxPQUFPO1FBQ0wsUUFBUTs7O1FBQUUsY0FBTSxPQUFBLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBZixDQUFlLENBQUE7UUFDL0IsUUFBUTs7OztRQUFFLFVBQUEsS0FBSzs7Z0JBQ1AsV0FBVyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDckMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQTtRQUNELFFBQVE7Ozs7UUFBRSxVQUFBLE9BQU87WUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFBO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN0YXRlT3BlcmF0aW9ucywgU3RhdGVzQW5kRGVmYXVsdHMgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgSW50ZXJuYWxEaXNwYXRjaGVyIH0gZnJvbSAnLi4vaW50ZXJuYWwvZGlzcGF0Y2hlcic7XG5pbXBvcnQgeyBTdGF0ZVN0cmVhbSB9IGZyb20gJy4vc3RhdGUtc3RyZWFtJztcbmltcG9ydCB7IE5neHNDb25maWcgfSBmcm9tICcuLi9zeW1ib2xzJztcbmltcG9ydCB7IGRlZXBGcmVlemUgfSBmcm9tICcuLi91dGlscy9mcmVlemUnO1xuXG4vKipcbiAqIFN0YXRlIENvbnRleHQgZmFjdG9yeSBjbGFzc1xuICogQGlnbm9yZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9zdGF0ZVN0cmVhbTogU3RhdGVTdHJlYW0sXG4gICAgcHJpdmF0ZSBfZGlzcGF0Y2hlcjogSW50ZXJuYWxEaXNwYXRjaGVyLFxuICAgIHByaXZhdGUgX2NvbmZpZzogTmd4c0NvbmZpZ1xuICApIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHJvb3Qgc3RhdGUgb3BlcmF0b3JzLlxuICAgKi9cbiAgZ2V0Um9vdFN0YXRlT3BlcmF0aW9ucygpOiBTdGF0ZU9wZXJhdGlvbnM8YW55PiB7XG4gICAgY29uc3Qgcm9vdFN0YXRlT3BlcmF0aW9ucyA9IHtcbiAgICAgIGdldFN0YXRlOiAoKSA9PiB0aGlzLl9zdGF0ZVN0cmVhbS5nZXRWYWx1ZSgpLFxuICAgICAgc2V0U3RhdGU6IChuZXdTdGF0ZTogYW55KSA9PiB0aGlzLl9zdGF0ZVN0cmVhbS5uZXh0KG5ld1N0YXRlKSxcbiAgICAgIGRpc3BhdGNoOiAoYWN0aW9uT3JBY3Rpb25zOiBhbnkgfCBhbnlbXSkgPT4gdGhpcy5fZGlzcGF0Y2hlci5kaXNwYXRjaChhY3Rpb25PckFjdGlvbnMpXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLl9jb25maWcuZGV2ZWxvcG1lbnRNb2RlXG4gICAgICA/IGVuc3VyZVN0YXRlQW5kQWN0aW9uc0FyZUltbXV0YWJsZShyb290U3RhdGVPcGVyYXRpb25zKVxuICAgICAgOiByb290U3RhdGVPcGVyYXRpb25zO1xuICB9XG5cbiAgc2V0U3RhdGVUb1RoZUN1cnJlbnRXaXRoTmV3KHJlc3VsdHM6IFN0YXRlc0FuZERlZmF1bHRzKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhdGVPcGVyYXRpb25zOiBTdGF0ZU9wZXJhdGlvbnM8YW55PiA9IHRoaXMuZ2V0Um9vdFN0YXRlT3BlcmF0aW9ucygpO1xuXG4gICAgLy8gR2V0IG91ciBjdXJyZW50IHN0cmVhbVxuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHN0YXRlT3BlcmF0aW9ucy5nZXRTdGF0ZSgpO1xuICAgIC8vIFNldCB0aGUgc3RhdGUgdG8gdGhlIGN1cnJlbnQgKyBuZXdcbiAgICBzdGF0ZU9wZXJhdGlvbnMuc2V0U3RhdGUoeyAuLi5jdXJyZW50U3RhdGUsIC4uLnJlc3VsdHMuZGVmYXVsdHMgfSk7XG4gIH1cbn1cblxuLy8gV2UgbWFrZSBpdCBhcyBhIHNlcGFyYXRlIGZ1bmN0aW9uIGFuZCBub3QgdGhlIGNsYXNzIG1ldGhvZCB0byB0cmVlLXNoYWtlIGl0IGluIHRoZSBmdXR1cmUuXG5mdW5jdGlvbiBlbnN1cmVTdGF0ZUFuZEFjdGlvbnNBcmVJbW11dGFibGUocm9vdDogU3RhdGVPcGVyYXRpb25zPGFueT4pOiBTdGF0ZU9wZXJhdGlvbnM8YW55PiB7XG4gIHJldHVybiB7XG4gICAgZ2V0U3RhdGU6ICgpID0+IHJvb3QuZ2V0U3RhdGUoKSxcbiAgICBzZXRTdGF0ZTogdmFsdWUgPT4ge1xuICAgICAgY29uc3QgZnJvemVuVmFsdWUgPSBkZWVwRnJlZXplKHZhbHVlKTtcbiAgICAgIHJldHVybiByb290LnNldFN0YXRlKGZyb3plblZhbHVlKTtcbiAgICB9LFxuICAgIGRpc3BhdGNoOiBhY3Rpb25zID0+IHtcbiAgICAgIHJldHVybiByb290LmRpc3BhdGNoKGFjdGlvbnMpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtb3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFNN0M7SUFFRSxpQ0FDVSxZQUF5QixFQUN6QixXQUErQixFQUMvQixPQUFtQjtRQUZuQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUMxQixDQUFDO0lBRUo7O09BRUc7Ozs7O0lBQ0gsd0RBQXNCOzs7O0lBQXRCO1FBQUEsaUJBc0JDOztZQXJCTyxtQkFBbUIsR0FBRztZQUMxQixRQUFROzs7WUFBRSxjQUFNLE9BQUEsS0FBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBNUIsQ0FBNEIsQ0FBQTtZQUM1QyxRQUFROzs7O1lBQUUsVUFBQyxRQUFhLElBQUssT0FBQSxLQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBaEMsQ0FBZ0MsQ0FBQTtZQUM3RCxRQUFROzs7O1lBQUUsVUFBQyxlQUE0QixJQUFLLE9BQUEsS0FBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQTFDLENBQTBDLENBQUE7U0FDdkY7UUFFRCw4R0FBOEc7UUFDOUcsNENBQTRDO1FBQzVDLDRDQUE0QztRQUM1QywwREFBMEQ7UUFDMUQsdUdBQXVHO1FBQ3ZHLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLENBQUMsU0FBUyxJQUFJLG1CQUFtQixFQUFFLENBQUMsRUFBRTtZQUM1RSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZTtnQkFDakMsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLG1CQUFtQixDQUFDO2dCQUN4RCxDQUFDLENBQUMsbUJBQW1CLENBQUM7U0FDekI7YUFBTTtZQUNMLCtHQUErRztZQUMvRyxPQUFPLFNBQVM7Z0JBQ2QsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLG1CQUFtQixDQUFDO2dCQUN4RCxDQUFDLENBQUMsbUJBQW1CLENBQUM7U0FDekI7SUFDSCxDQUFDOzs7OztJQUVELDZEQUEyQjs7OztJQUEzQixVQUE0QixPQUEwQjs7WUFDOUMsZUFBZSxHQUF5QixJQUFJLENBQUMsc0JBQXNCLEVBQUU7OztZQUdyRSxZQUFZLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRTtRQUMvQyxxQ0FBcUM7UUFDckMsZUFBZSxDQUFDLFFBQVEsc0JBQU0sWUFBWSxFQUFLLE9BQU8sQ0FBQyxRQUFRLEVBQUcsQ0FBQztJQUNyRSxDQUFDOztnQkExQ0YsVUFBVTs7OztnQkFSRixXQUFXO2dCQURYLGtCQUFrQjtnQkFFbEIsVUFBVTs7SUFrRG5CLDhCQUFDO0NBQUEsQUEzQ0QsSUEyQ0M7U0ExQ1ksdUJBQXVCOzs7Ozs7SUFFaEMsK0NBQWlDOzs7OztJQUNqQyw4Q0FBdUM7Ozs7O0lBQ3ZDLDBDQUEyQjs7Ozs7O0FBd0MvQixTQUFTLGlDQUFpQyxDQUFDLElBQTBCO0lBQ25FLE9BQU87UUFDTCxRQUFROzs7UUFBRSxjQUFNLE9BQUEsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFmLENBQWUsQ0FBQTtRQUMvQixRQUFROzs7O1FBQUUsVUFBQSxLQUFLOztnQkFDUCxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFBO1FBQ0QsUUFBUTs7OztRQUFFLFVBQUEsT0FBTztZQUNmLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUE7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzQW5ndWxhckluVGVzdE1vZGUgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBTdGF0ZU9wZXJhdGlvbnMsIFN0YXRlc0FuZERlZmF1bHRzIH0gZnJvbSAnLi4vaW50ZXJuYWwvaW50ZXJuYWxzJztcbmltcG9ydCB7IEludGVybmFsRGlzcGF0Y2hlciB9IGZyb20gJy4uL2ludGVybmFsL2Rpc3BhdGNoZXInO1xuaW1wb3J0IHsgU3RhdGVTdHJlYW0gfSBmcm9tICcuL3N0YXRlLXN0cmVhbSc7XG5pbXBvcnQgeyBOZ3hzQ29uZmlnIH0gZnJvbSAnLi4vc3ltYm9scyc7XG5pbXBvcnQgeyBkZWVwRnJlZXplIH0gZnJvbSAnLi4vdXRpbHMvZnJlZXplJztcblxuLyoqXG4gKiBTdGF0ZSBDb250ZXh0IGZhY3RvcnkgY2xhc3NcbiAqIEBpZ25vcmVcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEludGVybmFsU3RhdGVPcGVyYXRpb25zIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfc3RhdGVTdHJlYW06IFN0YXRlU3RyZWFtLFxuICAgIHByaXZhdGUgX2Rpc3BhdGNoZXI6IEludGVybmFsRGlzcGF0Y2hlcixcbiAgICBwcml2YXRlIF9jb25maWc6IE5neHNDb25maWdcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSByb290IHN0YXRlIG9wZXJhdG9ycy5cbiAgICovXG4gIGdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKTogU3RhdGVPcGVyYXRpb25zPGFueT4ge1xuICAgIGNvbnN0IHJvb3RTdGF0ZU9wZXJhdGlvbnMgPSB7XG4gICAgICBnZXRTdGF0ZTogKCkgPT4gdGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKSxcbiAgICAgIHNldFN0YXRlOiAobmV3U3RhdGU6IGFueSkgPT4gdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChuZXdTdGF0ZSksXG4gICAgICBkaXNwYXRjaDogKGFjdGlvbk9yQWN0aW9uczogYW55IHwgYW55W10pID0+IHRoaXMuX2Rpc3BhdGNoZXIuZGlzcGF0Y2goYWN0aW9uT3JBY3Rpb25zKVxuICAgIH07XG5cbiAgICAvLyBXZSBoYXZlIHRvIGhhdmUgdGhhdCBkdXBsaWNhdGlvbiBzaW5jZSB0aGlzIHdpbGwgYWxsb3cgdXMgdG8gdHJlZS1zaGFrZSBgZW5zdXJlU3RhdGVBbmRBY3Rpb25zQXJlSW1tdXRhYmxlYFxuICAgIC8vIGFuZCBgZGVlcEZyZWV6ZWAgaW4gSXZ5IHByb2R1Y3Rpb24gYnVpbGQuXG4gICAgLy8gVGhlIGJlbG93IGBpZmAgY29uZGl0aW9uIGNoZWNrcyAyIHRoaW5nczpcbiAgICAvLyAxKSBpZiB3ZSdyZSBpbiBWaWV3IEVuZ2luZSAoYG5nRGV2TW9kZWAgaXMgYHVuZGVmaW5lZGApXG4gICAgLy8gMikgaWYgd2UncmUgcnVubmluZyB0ZXN0cywgd2Ugc2hvdWxkIGZhbGxiYWNrIHRvIGBjb25maWcuZGV2ZWxvcG1lbnRNb2RlYCB0byBiZSBiYWNrd2FyZHMtY29tcGF0aWJsZVxuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCAobmdEZXZNb2RlICYmIGlzQW5ndWxhckluVGVzdE1vZGUoKSkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jb25maWcuZGV2ZWxvcG1lbnRNb2RlXG4gICAgICAgID8gZW5zdXJlU3RhdGVBbmRBY3Rpb25zQXJlSW1tdXRhYmxlKHJvb3RTdGF0ZU9wZXJhdGlvbnMpXG4gICAgICAgIDogcm9vdFN0YXRlT3BlcmF0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgd2UncmUgaW4gSXZ5IGFuZCBub3QgcnVubmluZyB0ZXN0cywgdGhlbiB0cmVlLXNoYWtlIGBlbnN1cmVTdGF0ZUFuZEFjdGlvbnNBcmVJbW11dGFibGVgIGFuZCBgZGVlcEZyZWV6ZWAuXG4gICAgICByZXR1cm4gbmdEZXZNb2RlXG4gICAgICAgID8gZW5zdXJlU3RhdGVBbmRBY3Rpb25zQXJlSW1tdXRhYmxlKHJvb3RTdGF0ZU9wZXJhdGlvbnMpXG4gICAgICAgIDogcm9vdFN0YXRlT3BlcmF0aW9ucztcbiAgICB9XG4gIH1cblxuICBzZXRTdGF0ZVRvVGhlQ3VycmVudFdpdGhOZXcocmVzdWx0czogU3RhdGVzQW5kRGVmYXVsdHMpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZU9wZXJhdGlvbnM6IFN0YXRlT3BlcmF0aW9uczxhbnk+ID0gdGhpcy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCk7XG5cbiAgICAvLyBHZXQgb3VyIGN1cnJlbnQgc3RyZWFtXG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gc3RhdGVPcGVyYXRpb25zLmdldFN0YXRlKCk7XG4gICAgLy8gU2V0IHRoZSBzdGF0ZSB0byB0aGUgY3VycmVudCArIG5ld1xuICAgIHN0YXRlT3BlcmF0aW9ucy5zZXRTdGF0ZSh7IC4uLmN1cnJlbnRTdGF0ZSwgLi4ucmVzdWx0cy5kZWZhdWx0cyB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbnN1cmVTdGF0ZUFuZEFjdGlvbnNBcmVJbW11dGFibGUocm9vdDogU3RhdGVPcGVyYXRpb25zPGFueT4pOiBTdGF0ZU9wZXJhdGlvbnM8YW55PiB7XG4gIHJldHVybiB7XG4gICAgZ2V0U3RhdGU6ICgpID0+IHJvb3QuZ2V0U3RhdGUoKSxcbiAgICBzZXRTdGF0ZTogdmFsdWUgPT4ge1xuICAgICAgY29uc3QgZnJvemVuVmFsdWUgPSBkZWVwRnJlZXplKHZhbHVlKTtcbiAgICAgIHJldHVybiByb290LnNldFN0YXRlKGZyb3plblZhbHVlKTtcbiAgICB9LFxuICAgIGRpc3BhdGNoOiBhY3Rpb25zID0+IHtcbiAgICAgIHJldHVybiByb290LmRpc3BhdGNoKGFjdGlvbnMpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -54,6 +54,9 @@ if (false) {
54
54
  * Run in development mode. This will add additional debugging features:
55
55
  * - Object.freeze on the state and actions to guarantee immutability
56
56
  * (default: false)
57
+ *
58
+ * @deprecated This property is no longer necessary when the Ivy compiler is used.
59
+ * We'll determine the development mode through the `ngDevMode`. It's still essential with View Engine.
57
60
  * @type {?}
58
61
  */
59
62
  NgxsConfig.prototype.developmentMode;
@@ -223,4 +226,4 @@ if (false) {
223
226
  */
224
227
  NgxsAfterBootstrap.prototype.ngxsAfterBootstrap = function (ctx) { };
225
228
  }
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBTWpFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDJEQUEyRCxDQUFDOztBQUdySCxNQUFNLEtBQU8sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQU0sa0JBQWtCLENBQUM7O0FBQzNFLE1BQU0sS0FBTyxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBTSxxQkFBcUIsQ0FBQzs7QUFDakYsTUFBTSxLQUFPLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBQyxjQUFjLENBQUM7O0FBRTlELE1BQU0sS0FBTyxRQUFRLEdBQUcsV0FBVzs7QUFDbkMsTUFBTSxLQUFPLGdCQUFnQixHQUFHLG1CQUFtQjs7QUFDbkQsTUFBTSxLQUFPLGlCQUFpQixHQUFHLG9CQUFvQjs7OztBQVdyRDtJQTJDRTs7Ozs7OztRQVRBLGtCQUFhLEdBQWdCLEVBQUUsQ0FBQzs7OztRQUloQyxvQkFBZSxHQUEwQjtZQUN2QyxvQkFBb0IsRUFBRSxJQUFJOztZQUMxQixjQUFjLEVBQUUsSUFBSSxDQUFDLGlEQUFpRDtTQUN2RSxDQUFDO1FBR0EsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQiwyQkFBMkIsRUFBRSxLQUFLO1NBQ25DLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsd0NBQXdDLENBQUM7SUFDcEUsQ0FBQzs7Z0JBaERGLFVBQVU7Ozs7SUFpRFgsaUJBQUM7Q0FBQSxBQWpERCxJQWlEQztTQWhEWSxVQUFVOzs7Ozs7OztJQU1yQixxQ0FBeUI7O0lBQ3pCLG1DQU9FOzs7Ozs7Ozs7Ozs7O0lBWUYsdUNBQStDOzs7Ozs7OztJQU8vQyxtQ0FBZ0M7Ozs7O0lBSWhDLHFDQUdFOzs7Ozs7O0FBZUosa0NBb0JDOzs7Ozs7SUFoQkMsa0RBQWM7Ozs7OztJQUtkLHFEQUF1Qzs7Ozs7O0lBS3ZDLHVEQUErQjs7Ozs7O0lBSy9CLHlEQUFpRDs7Ozs7O0FBUW5ELGdDQUtDOzs7Ozs7Ozs7SUFEQyxpRUFBNkQ7Ozs7Ozs7QUFNL0Qsa0NBZUM7Ozs7OztJQVhDLDRCQUE2Qjs7Ozs7SUFLN0IsZ0NBQWE7Ozs7O0lBS2IsZ0NBQXdCOzs7Ozs7O0FBTzFCOzs7Ozs7SUFDRSwwQkFDa0IsYUFBZ0IsRUFDaEIsWUFBZSxFQUNmLFdBQW9CO1FBRnBCLGtCQUFhLEdBQWIsYUFBYSxDQUFHO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFHO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQVM7SUFDbkMsQ0FBQztJQUNOLHVCQUFDO0FBQUQsQ0FBQyxBQU5ELElBTUM7Ozs7Ozs7OztJQUpHLHlDQUFnQzs7SUFDaEMsd0NBQStCOztJQUMvQix1Q0FBb0M7Ozs7OztBQU94QyxnQ0FFQzs7Ozs7O0lBREMscURBQWdEOzs7Ozs7QUFNbEQsbUNBRUM7Ozs7OztJQURDLDhEQUE4Qzs7Ozs7O0FBTWhELHdDQUVDOzs7Ozs7SUFEQyxxRUFBa0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBQbGFpbk9iamVjdCwgU3RhdGVDbGFzcyB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5pbXBvcnQgeyBTaGFyZWRTZWxlY3Rvck9wdGlvbnMgfSBmcm9tICcuL2ludGVybmFsL2ludGVybmFscyc7XG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9zeW1ib2xzJztcbmltcG9ydCB7IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9kaXNwYXRjaC1vdXRzaWRlLXpvbmUtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xuaW1wb3J0IHsgU3RhdGVUb2tlbiB9IGZyb20gJy4vc3RhdGUtdG9rZW4vc3RhdGUtdG9rZW4nO1xuXG5leHBvcnQgY29uc3QgUk9PVF9TVEFURV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdST09UX1NUQVRFX1RPS0VOJyk7XG5leHBvcnQgY29uc3QgRkVBVFVSRV9TVEFURV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdGRUFUVVJFX1NUQVRFX1RPS0VOJyk7XG5leHBvcnQgY29uc3QgTkdYU19QTFVHSU5TID0gbmV3IEluamVjdGlvblRva2VuKCdOR1hTX1BMVUdJTlMnKTtcblxuZXhwb3J0IGNvbnN0IE1FVEFfS0VZID0gJ05HWFNfTUVUQSc7XG5leHBvcnQgY29uc3QgTUVUQV9PUFRJT05TX0tFWSA9ICdOR1hTX09QVElPTlNfTUVUQSc7XG5leHBvcnQgY29uc3QgU0VMRUNUT1JfTUVUQV9LRVkgPSAnTkdYU19TRUxFQ1RPUl9NRVRBJztcblxuZXhwb3J0IHR5cGUgTmd4c0xpZmVDeWNsZSA9IFBhcnRpYWw8Tmd4c09uQ2hhbmdlcz4gJlxuICBQYXJ0aWFsPE5neHNPbkluaXQ+ICZcbiAgUGFydGlhbDxOZ3hzQWZ0ZXJCb290c3RyYXA+O1xuXG5leHBvcnQgdHlwZSBOZ3hzUGx1Z2luRm4gPSAoc3RhdGU6IGFueSwgbXV0YXRpb246IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5GbikgPT4gYW55O1xuXG4vKipcbiAqIFRoZSBOR1hTIGNvbmZpZyBzZXR0aW5ncy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5neHNDb25maWcge1xuICAvKipcbiAgICogUnVuIGluIGRldmVsb3BtZW50IG1vZGUuIFRoaXMgd2lsbCBhZGQgYWRkaXRpb25hbCBkZWJ1Z2dpbmcgZmVhdHVyZXM6XG4gICAqIC0gT2JqZWN0LmZyZWV6ZSBvbiB0aGUgc3RhdGUgYW5kIGFjdGlvbnMgdG8gZ3VhcmFudGVlIGltbXV0YWJpbGl0eVxuICAgKiAoZGVmYXVsdDogZmFsc2UpXG4gICAqL1xuICBkZXZlbG9wbWVudE1vZGU6IGJvb2xlYW47XG4gIGNvbXBhdGliaWxpdHk6IHtcbiAgICAvKipcbiAgICAgKiBTdXBwb3J0IGEgc3RyaWN0IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LlxuICAgICAqIFRoaXMgd2lsbCBjaXJjdW12ZW50IHNvbWUgb3B0aW1pc2F0aW9ucyB0aGF0IHZpb2xhdGUgYSBzdHJpY3QgQ1NQIHRocm91Z2ggdGhlIHVzZSBvZiBgbmV3IEZ1bmN0aW9uKC4uLilgLlxuICAgICAqIChkZWZhdWx0OiBmYWxzZSlcbiAgICAgKi9cbiAgICBzdHJpY3RDb250ZW50U2VjdXJpdHlQb2xpY3k6IGJvb2xlYW47XG4gIH07XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHRoZSBleGVjdXRpb24gY29udGV4dCB0byBwZXJmb3JtIGFzeW5jIG9wZXJhdGlvbnMgaW5zaWRlLiBBbiBpbXBsZW1lbnRhdGlvbiBjYW4gYmVcbiAgICogcHJvdmlkZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmVoYXZpb3VyIHdoZXJlIHRoZSBhc3luYyBvcGVyYXRpb25zIGFyZSBydW5cbiAgICogb3V0c2lkZSBBbmd1bGFyJ3Mgem9uZSBidXQgYWxsIG9ic2VydmFibGUgYmVoYXZpb3VycyBvZiBOR1hTIGFyZSBydW4gYmFjayBpbnNpZGUgQW5ndWxhcidzIHpvbmUuXG4gICAqIFRoZXNlIG9ic2VydmFibGUgYmVoYXZpb3VycyBhcmUgZnJvbTpcbiAgICogICBgQFNlbGVjdCguLi4pYCwgYHN0b3JlLnNlbGVjdCguLi4pYCwgYGFjdGlvbnMuc3Vic2NyaWJlKC4uLilgIG9yIGBzdG9yZS5kaXNwYXRjaCguLi4pLnN1YnNjcmliZSguLi4pYFxuICAgKiBFdmVyeSBgem9uZS5ydW5gIGNhdXNlcyBBbmd1bGFyIHRvIHJ1biBjaGFuZ2UgZGV0ZWN0aW9uIG9uIHRoZSB3aG9sZSB0cmVlIChgYXBwLnRpY2soKWApIHNvIG9mIHlvdXJcbiAgICogYXBwbGljYXRpb24gZG9lc24ndCByZWx5IG9uIHpvbmUuanMgcnVubmluZyBjaGFuZ2UgZGV0ZWN0aW9uIHRoZW4geW91IGNhbiBzd2l0Y2ggdG8gdGhlXG4gICAqIGBOb29wTmd4c0V4ZWN1dGlvblN0cmF0ZWd5YCB0aGF0IGRvZXNuJ3QgaW50ZXJhY3Qgd2l0aCB6b25lcy5cbiAgICogKGRlZmF1bHQ6IG51bGwpXG4gICAqL1xuICBleGVjdXRpb25TdHJhdGVneTogVHlwZTxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3k+O1xuICAvKipcbiAgICogRGVmaW5pbmcgdGhlIGRlZmF1bHQgc3RhdGUgYmVmb3JlIG1vZHVsZSBpbml0aWFsaXphdGlvblxuICAgKiBUaGlzIGlzIGNvbnZlbmllbnQgaWYgd2UgbmVlZCB0byBjcmVhdGUgYSBkZWZpbmUgb3VyIG93biBzZXQgb2Ygc3RhdGVzLlxuICAgKiBAZGVwcmVjYXRlZCB3aWxsIGJlIHJlbW92ZWQgYWZ0ZXIgdjRcbiAgICogKGRlZmF1bHQ6IHt9KVxuICAgKi9cbiAgZGVmYXVsdHNTdGF0ZTogUGxhaW5PYmplY3QgPSB7fTtcbiAgLyoqXG4gICAqIERlZmluaW5nIHNoYXJlZCBzZWxlY3RvciBvcHRpb25zXG4gICAqL1xuICBzZWxlY3Rvck9wdGlvbnM6IFNoYXJlZFNlbGVjdG9yT3B0aW9ucyA9IHtcbiAgICBpbmplY3RDb250YWluZXJTdGF0ZTogdHJ1ZSwgLy8gVE9ETzogZGVmYXVsdCBpcyB0cnVlIGluIHYzLCB3aWxsIGNoYW5nZSBpbiB2NFxuICAgIHN1cHByZXNzRXJyb3JzOiB0cnVlIC8vIFRPRE86IGRlZmF1bHQgaXMgdHJ1ZSBpbiB2Mywgd2lsbCBjaGFuZ2UgaW4gdjRcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNvbXBhdGliaWxpdHkgPSB7XG4gICAgICBzdHJpY3RDb250ZW50U2VjdXJpdHlQb2xpY3k6IGZhbHNlXG4gICAgfTtcbiAgICB0aGlzLmV4ZWN1dGlvblN0cmF0ZWd5ID0gRGlzcGF0Y2hPdXRzaWRlWm9uZU5neHNFeGVjdXRpb25TdHJhdGVneTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBTdGF0ZU9wZXJhdG9yPFQ+ID0gKGV4aXN0aW5nOiBSZWFkb25seTxUPikgPT4gVDtcblxuLyoqXG4gKiBTdGF0ZSBjb250ZXh0IHByb3ZpZGVkIHRvIHRoZSBhY3Rpb25zIGluIHRoZSBzdGF0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGF0ZUNvbnRleHQ8VD4ge1xuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IHN0YXRlLlxuICAgKi9cbiAgZ2V0U3RhdGUoKTogVDtcblxuICAvKipcbiAgICogUmVzZXQgdGhlIHN0YXRlIHRvIGEgbmV3IHZhbHVlLlxuICAgKi9cbiAgc2V0U3RhdGUodmFsOiBUIHwgU3RhdGVPcGVyYXRvcjxUPik6IFQ7XG5cbiAgLyoqXG4gICAqIFBhdGNoIHRoZSBleGlzdGluZyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCB2YWx1ZS5cbiAgICovXG4gIHBhdGNoU3RhdGUodmFsOiBQYXJ0aWFsPFQ+KTogVDtcblxuICAvKipcbiAgICogRGlzcGF0Y2ggYSBuZXcgYWN0aW9uIGFuZCByZXR1cm4gdGhlIGRpc3BhdGNoZWQgb2JzZXJ2YWJsZS5cbiAgICovXG4gIGRpc3BhdGNoKGFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPjtcbn1cblxuZXhwb3J0IHR5cGUgTmd4c05leHRQbHVnaW5GbiA9IChzdGF0ZTogYW55LCBtdXRhdGlvbjogYW55KSA9PiBhbnk7XG5cbi8qKlxuICogUGx1Z2luIGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNQbHVnaW4ge1xuICAvKipcbiAgICogSGFuZGxlIHRoZSBzdGF0ZS9hY3Rpb24gYmVmb3JlIGl0cyBzdWJtaXR0ZWQgdG8gdGhlIHN0YXRlIGhhbmRsZXJzLlxuICAgKi9cbiAgaGFuZGxlKHN0YXRlOiBhbnksIGFjdGlvbjogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKTogYW55O1xufVxuXG4vKipcbiAqIE9wdGlvbnMgdGhhdCBjYW4gYmUgcHJvdmlkZWQgdG8gdGhlIHN0b3JlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JlT3B0aW9uczxUPiB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBzdGF0ZS4gUmVxdWlyZWQuXG4gICAqL1xuICBuYW1lOiBzdHJpbmcgfCBTdGF0ZVRva2VuPFQ+O1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgdGhlIHN0YXRlLiBJZiBub3QgcHJvdmlkZWQsIHVzZXMgZW1wdHkgb2JqZWN0LlxuICAgKi9cbiAgZGVmYXVsdHM/OiBUO1xuXG4gIC8qKlxuICAgKiBTdWIgc3RhdGVzIGZvciB0aGUgZ2l2ZW4gc3RhdGUuXG4gICAqL1xuICBjaGlsZHJlbj86IFN0YXRlQ2xhc3NbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgYmFzaWMgY2hhbmdlIGZyb20gYSBwcmV2aW91cyB0byBhIG5ldyB2YWx1ZSBmb3IgYSBzaW5nbGUgc3RhdGUgaW5zdGFuY2UuXG4gKiBQYXNzZWQgYXMgYSB2YWx1ZSBpbiBhIE5neHNTaW1wbGVDaGFuZ2VzIG9iamVjdCB0byB0aGUgbmd4c09uQ2hhbmdlcyBob29rLlxuICovXG5leHBvcnQgY2xhc3MgTmd4c1NpbXBsZUNoYW5nZTxUID0gYW55PiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBwcmV2aW91c1ZhbHVlOiBULFxuICAgIHB1YmxpYyByZWFkb25seSBjdXJyZW50VmFsdWU6IFQsXG4gICAgcHVibGljIHJlYWRvbmx5IGZpcnN0Q2hhbmdlOiBib29sZWFuXG4gICkge31cbn1cblxuLyoqXG4gKiBPbiBpbml0IGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNPbkluaXQge1xuICBuZ3hzT25Jbml0KGN0eD86IFN0YXRlQ29udGV4dDxhbnk+KTogdm9pZCB8IGFueTtcbn1cblxuLyoqXG4gKiBPbiBjaGFuZ2UgaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c09uQ2hhbmdlcyB7XG4gIG5neHNPbkNoYW5nZXMoY2hhbmdlOiBOZ3hzU2ltcGxlQ2hhbmdlKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBZnRlciBib290c3RyYXAgaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c0FmdGVyQm9vdHN0cmFwIHtcbiAgbmd4c0FmdGVyQm9vdHN0cmFwKGN0eD86IFN0YXRlQ29udGV4dDxhbnk+KTogdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgTmd4c01vZHVsZU9wdGlvbnMgPSBQYXJ0aWFsPE5neHNDb25maWc+O1xuXG4vKiogQGludGVybmFsICovXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGNvbnN0IG5nRGV2TW9kZTogYm9vbGVhbjtcbn1cbiJdfQ==
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBTWpFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDJEQUEyRCxDQUFDOztBQUdySCxNQUFNLEtBQU8sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQU0sa0JBQWtCLENBQUM7O0FBQzNFLE1BQU0sS0FBTyxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBTSxxQkFBcUIsQ0FBQzs7QUFDakYsTUFBTSxLQUFPLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBQyxjQUFjLENBQUM7O0FBRTlELE1BQU0sS0FBTyxRQUFRLEdBQUcsV0FBVzs7QUFDbkMsTUFBTSxLQUFPLGdCQUFnQixHQUFHLG1CQUFtQjs7QUFDbkQsTUFBTSxLQUFPLGlCQUFpQixHQUFHLG9CQUFvQjs7OztBQVdyRDtJQThDRTs7Ozs7OztRQVRBLGtCQUFhLEdBQWdCLEVBQUUsQ0FBQzs7OztRQUloQyxvQkFBZSxHQUEwQjtZQUN2QyxvQkFBb0IsRUFBRSxJQUFJOztZQUMxQixjQUFjLEVBQUUsSUFBSSxDQUFDLGlEQUFpRDtTQUN2RSxDQUFDO1FBR0EsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQiwyQkFBMkIsRUFBRSxLQUFLO1NBQ25DLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsd0NBQXdDLENBQUM7SUFDcEUsQ0FBQzs7Z0JBbkRGLFVBQVU7Ozs7SUFvRFgsaUJBQUM7Q0FBQSxBQXBERCxJQW9EQztTQW5EWSxVQUFVOzs7Ozs7Ozs7OztJQVNyQixxQ0FBeUI7O0lBQ3pCLG1DQU9FOzs7Ozs7Ozs7Ozs7O0lBWUYsdUNBQStDOzs7Ozs7OztJQU8vQyxtQ0FBZ0M7Ozs7O0lBSWhDLHFDQUdFOzs7Ozs7O0FBZUosa0NBb0JDOzs7Ozs7SUFoQkMsa0RBQWM7Ozs7OztJQUtkLHFEQUF1Qzs7Ozs7O0lBS3ZDLHVEQUErQjs7Ozs7O0lBSy9CLHlEQUFpRDs7Ozs7O0FBUW5ELGdDQUtDOzs7Ozs7Ozs7SUFEQyxpRUFBNkQ7Ozs7Ozs7QUFNL0Qsa0NBZUM7Ozs7OztJQVhDLDRCQUE2Qjs7Ozs7SUFLN0IsZ0NBQWE7Ozs7O0lBS2IsZ0NBQXdCOzs7Ozs7O0FBTzFCOzs7Ozs7SUFDRSwwQkFDa0IsYUFBZ0IsRUFDaEIsWUFBZSxFQUNmLFdBQW9CO1FBRnBCLGtCQUFhLEdBQWIsYUFBYSxDQUFHO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFHO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQVM7SUFDbkMsQ0FBQztJQUNOLHVCQUFDO0FBQUQsQ0FBQyxBQU5ELElBTUM7Ozs7Ozs7OztJQUpHLHlDQUFnQzs7SUFDaEMsd0NBQStCOztJQUMvQix1Q0FBb0M7Ozs7OztBQU94QyxnQ0FFQzs7Ozs7O0lBREMscURBQWdEOzs7Ozs7QUFNbEQsbUNBRUM7Ozs7OztJQURDLDhEQUE4Qzs7Ozs7O0FBTWhELHdDQUVDOzs7Ozs7SUFEQyxxRUFBa0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBQbGFpbk9iamVjdCwgU3RhdGVDbGFzcyB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5pbXBvcnQgeyBTaGFyZWRTZWxlY3Rvck9wdGlvbnMgfSBmcm9tICcuL2ludGVybmFsL2ludGVybmFscyc7XG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9zeW1ib2xzJztcbmltcG9ydCB7IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9kaXNwYXRjaC1vdXRzaWRlLXpvbmUtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xuaW1wb3J0IHsgU3RhdGVUb2tlbiB9IGZyb20gJy4vc3RhdGUtdG9rZW4vc3RhdGUtdG9rZW4nO1xuXG5leHBvcnQgY29uc3QgUk9PVF9TVEFURV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdST09UX1NUQVRFX1RPS0VOJyk7XG5leHBvcnQgY29uc3QgRkVBVFVSRV9TVEFURV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdGRUFUVVJFX1NUQVRFX1RPS0VOJyk7XG5leHBvcnQgY29uc3QgTkdYU19QTFVHSU5TID0gbmV3IEluamVjdGlvblRva2VuKCdOR1hTX1BMVUdJTlMnKTtcblxuZXhwb3J0IGNvbnN0IE1FVEFfS0VZID0gJ05HWFNfTUVUQSc7XG5leHBvcnQgY29uc3QgTUVUQV9PUFRJT05TX0tFWSA9ICdOR1hTX09QVElPTlNfTUVUQSc7XG5leHBvcnQgY29uc3QgU0VMRUNUT1JfTUVUQV9LRVkgPSAnTkdYU19TRUxFQ1RPUl9NRVRBJztcblxuZXhwb3J0IHR5cGUgTmd4c0xpZmVDeWNsZSA9IFBhcnRpYWw8Tmd4c09uQ2hhbmdlcz4gJlxuICBQYXJ0aWFsPE5neHNPbkluaXQ+ICZcbiAgUGFydGlhbDxOZ3hzQWZ0ZXJCb290c3RyYXA+O1xuXG5leHBvcnQgdHlwZSBOZ3hzUGx1Z2luRm4gPSAoc3RhdGU6IGFueSwgbXV0YXRpb246IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5GbikgPT4gYW55O1xuXG4vKipcbiAqIFRoZSBOR1hTIGNvbmZpZyBzZXR0aW5ncy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5neHNDb25maWcge1xuICAvKipcbiAgICogUnVuIGluIGRldmVsb3BtZW50IG1vZGUuIFRoaXMgd2lsbCBhZGQgYWRkaXRpb25hbCBkZWJ1Z2dpbmcgZmVhdHVyZXM6XG4gICAqIC0gT2JqZWN0LmZyZWV6ZSBvbiB0aGUgc3RhdGUgYW5kIGFjdGlvbnMgdG8gZ3VhcmFudGVlIGltbXV0YWJpbGl0eVxuICAgKiAoZGVmYXVsdDogZmFsc2UpXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgcHJvcGVydHkgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSB3aGVuIHRoZSBJdnkgY29tcGlsZXIgaXMgdXNlZC5cbiAgICogV2UnbGwgZGV0ZXJtaW5lIHRoZSBkZXZlbG9wbWVudCBtb2RlIHRocm91Z2ggdGhlIGBuZ0Rldk1vZGVgLiBJdCdzIHN0aWxsIGVzc2VudGlhbCB3aXRoIFZpZXcgRW5naW5lLlxuICAgKi9cbiAgZGV2ZWxvcG1lbnRNb2RlOiBib29sZWFuO1xuICBjb21wYXRpYmlsaXR5OiB7XG4gICAgLyoqXG4gICAgICogU3VwcG9ydCBhIHN0cmljdCBDb250ZW50IFNlY3VyaXR5IFBvbGljeS5cbiAgICAgKiBUaGlzIHdpbGwgY2lyY3VtdmVudCBzb21lIG9wdGltaXNhdGlvbnMgdGhhdCB2aW9sYXRlIGEgc3RyaWN0IENTUCB0aHJvdWdoIHRoZSB1c2Ugb2YgYG5ldyBGdW5jdGlvbiguLi4pYC5cbiAgICAgKiAoZGVmYXVsdDogZmFsc2UpXG4gICAgICovXG4gICAgc3RyaWN0Q29udGVudFNlY3VyaXR5UG9saWN5OiBib29sZWFuO1xuICB9O1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB0aGUgZXhlY3V0aW9uIGNvbnRleHQgdG8gcGVyZm9ybSBhc3luYyBvcGVyYXRpb25zIGluc2lkZS4gQW4gaW1wbGVtZW50YXRpb24gY2FuIGJlXG4gICAqIHByb3ZpZGVkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJlaGF2aW91ciB3aGVyZSB0aGUgYXN5bmMgb3BlcmF0aW9ucyBhcmUgcnVuXG4gICAqIG91dHNpZGUgQW5ndWxhcidzIHpvbmUgYnV0IGFsbCBvYnNlcnZhYmxlIGJlaGF2aW91cnMgb2YgTkdYUyBhcmUgcnVuIGJhY2sgaW5zaWRlIEFuZ3VsYXIncyB6b25lLlxuICAgKiBUaGVzZSBvYnNlcnZhYmxlIGJlaGF2aW91cnMgYXJlIGZyb206XG4gICAqICAgYEBTZWxlY3QoLi4uKWAsIGBzdG9yZS5zZWxlY3QoLi4uKWAsIGBhY3Rpb25zLnN1YnNjcmliZSguLi4pYCBvciBgc3RvcmUuZGlzcGF0Y2goLi4uKS5zdWJzY3JpYmUoLi4uKWBcbiAgICogRXZlcnkgYHpvbmUucnVuYCBjYXVzZXMgQW5ndWxhciB0byBydW4gY2hhbmdlIGRldGVjdGlvbiBvbiB0aGUgd2hvbGUgdHJlZSAoYGFwcC50aWNrKClgKSBzbyBvZiB5b3VyXG4gICAqIGFwcGxpY2F0aW9uIGRvZXNuJ3QgcmVseSBvbiB6b25lLmpzIHJ1bm5pbmcgY2hhbmdlIGRldGVjdGlvbiB0aGVuIHlvdSBjYW4gc3dpdGNoIHRvIHRoZVxuICAgKiBgTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneWAgdGhhdCBkb2Vzbid0IGludGVyYWN0IHdpdGggem9uZXMuXG4gICAqIChkZWZhdWx0OiBudWxsKVxuICAgKi9cbiAgZXhlY3V0aW9uU3RyYXRlZ3k6IFR5cGU8Tmd4c0V4ZWN1dGlvblN0cmF0ZWd5PjtcbiAgLyoqXG4gICAqIERlZmluaW5nIHRoZSBkZWZhdWx0IHN0YXRlIGJlZm9yZSBtb2R1bGUgaW5pdGlhbGl6YXRpb25cbiAgICogVGhpcyBpcyBjb252ZW5pZW50IGlmIHdlIG5lZWQgdG8gY3JlYXRlIGEgZGVmaW5lIG91ciBvd24gc2V0IG9mIHN0YXRlcy5cbiAgICogQGRlcHJlY2F0ZWQgd2lsbCBiZSByZW1vdmVkIGFmdGVyIHY0XG4gICAqIChkZWZhdWx0OiB7fSlcbiAgICovXG4gIGRlZmF1bHRzU3RhdGU6IFBsYWluT2JqZWN0ID0ge307XG4gIC8qKlxuICAgKiBEZWZpbmluZyBzaGFyZWQgc2VsZWN0b3Igb3B0aW9uc1xuICAgKi9cbiAgc2VsZWN0b3JPcHRpb25zOiBTaGFyZWRTZWxlY3Rvck9wdGlvbnMgPSB7XG4gICAgaW5qZWN0Q29udGFpbmVyU3RhdGU6IHRydWUsIC8vIFRPRE86IGRlZmF1bHQgaXMgdHJ1ZSBpbiB2Mywgd2lsbCBjaGFuZ2UgaW4gdjRcbiAgICBzdXBwcmVzc0Vycm9yczogdHJ1ZSAvLyBUT0RPOiBkZWZhdWx0IGlzIHRydWUgaW4gdjMsIHdpbGwgY2hhbmdlIGluIHY0XG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jb21wYXRpYmlsaXR5ID0ge1xuICAgICAgc3RyaWN0Q29udGVudFNlY3VyaXR5UG9saWN5OiBmYWxzZVxuICAgIH07XG4gICAgdGhpcy5leGVjdXRpb25TdHJhdGVneSA9IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3k7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgU3RhdGVPcGVyYXRvcjxUPiA9IChleGlzdGluZzogUmVhZG9ubHk8VD4pID0+IFQ7XG5cbi8qKlxuICogU3RhdGUgY29udGV4dCBwcm92aWRlZCB0byB0aGUgYWN0aW9ucyBpbiB0aGUgc3RhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGVDb250ZXh0PFQ+IHtcbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIGdldFN0YXRlKCk6IFQ7XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRoZSBzdGF0ZSB0byBhIG5ldyB2YWx1ZS5cbiAgICovXG4gIHNldFN0YXRlKHZhbDogVCB8IFN0YXRlT3BlcmF0b3I8VD4pOiBUO1xuXG4gIC8qKlxuICAgKiBQYXRjaCB0aGUgZXhpc3Rpbmcgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgdmFsdWUuXG4gICAqL1xuICBwYXRjaFN0YXRlKHZhbDogUGFydGlhbDxUPik6IFQ7XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoIGEgbmV3IGFjdGlvbiBhbmQgcmV0dXJuIHRoZSBkaXNwYXRjaGVkIG9ic2VydmFibGUuXG4gICAqL1xuICBkaXNwYXRjaChhY3Rpb25zOiBhbnkgfCBhbnlbXSk6IE9ic2VydmFibGU8dm9pZD47XG59XG5cbmV4cG9ydCB0eXBlIE5neHNOZXh0UGx1Z2luRm4gPSAoc3RhdGU6IGFueSwgbXV0YXRpb246IGFueSkgPT4gYW55O1xuXG4vKipcbiAqIFBsdWdpbiBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzUGx1Z2luIHtcbiAgLyoqXG4gICAqIEhhbmRsZSB0aGUgc3RhdGUvYWN0aW9uIGJlZm9yZSBpdHMgc3VibWl0dGVkIHRvIHRoZSBzdGF0ZSBoYW5kbGVycy5cbiAgICovXG4gIGhhbmRsZShzdGF0ZTogYW55LCBhY3Rpb246IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5Gbik6IGFueTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRoYXQgY2FuIGJlIHByb3ZpZGVkIHRvIHRoZSBzdG9yZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdG9yZU9wdGlvbnM8VD4ge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgc3RhdGUuIFJlcXVpcmVkLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nIHwgU3RhdGVUb2tlbjxUPjtcblxuICAvKipcbiAgICogRGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBzdGF0ZS4gSWYgbm90IHByb3ZpZGVkLCB1c2VzIGVtcHR5IG9iamVjdC5cbiAgICovXG4gIGRlZmF1bHRzPzogVDtcblxuICAvKipcbiAgICogU3ViIHN0YXRlcyBmb3IgdGhlIGdpdmVuIHN0YXRlLlxuICAgKi9cbiAgY2hpbGRyZW4/OiBTdGF0ZUNsYXNzW107XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGJhc2ljIGNoYW5nZSBmcm9tIGEgcHJldmlvdXMgdG8gYSBuZXcgdmFsdWUgZm9yIGEgc2luZ2xlIHN0YXRlIGluc3RhbmNlLlxuICogUGFzc2VkIGFzIGEgdmFsdWUgaW4gYSBOZ3hzU2ltcGxlQ2hhbmdlcyBvYmplY3QgdG8gdGhlIG5neHNPbkNoYW5nZXMgaG9vay5cbiAqL1xuZXhwb3J0IGNsYXNzIE5neHNTaW1wbGVDaGFuZ2U8VCA9IGFueT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJldmlvdXNWYWx1ZTogVCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudFZhbHVlOiBULFxuICAgIHB1YmxpYyByZWFkb25seSBmaXJzdENoYW5nZTogYm9vbGVhblxuICApIHt9XG59XG5cbi8qKlxuICogT24gaW5pdCBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzT25Jbml0IHtcbiAgbmd4c09uSW5pdChjdHg/OiBTdGF0ZUNvbnRleHQ8YW55Pik6IHZvaWQgfCBhbnk7XG59XG5cbi8qKlxuICogT24gY2hhbmdlIGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNPbkNoYW5nZXMge1xuICBuZ3hzT25DaGFuZ2VzKGNoYW5nZTogTmd4c1NpbXBsZUNoYW5nZSk6IHZvaWQ7XG59XG5cbi8qKlxuICogQWZ0ZXIgYm9vdHN0cmFwIGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNBZnRlckJvb3RzdHJhcCB7XG4gIG5neHNBZnRlckJvb3RzdHJhcChjdHg/OiBTdGF0ZUNvbnRleHQ8YW55Pik6IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIE5neHNNb2R1bGVPcHRpb25zID0gUGFydGlhbDxOZ3hzQ29uZmlnPjtcblxuLyoqIEBpbnRlcm5hbCAqL1xuZGVjbGFyZSBnbG9iYWwge1xuICBjb25zdCBuZ0Rldk1vZGU6IGJvb2xlYW47XG59XG4iXX0=
@@ -202,6 +202,68 @@ function freshPlatform(fn) {
202
202
  });
203
203
  }
204
204
 
205
+ /**
206
+ * @fileoverview added by tsickle
207
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
208
+ */
209
+ /// <reference types="jest" />
210
+ /// <reference types="jest" />
211
+ /**
212
+ * @template T
213
+ * @param {?} fn
214
+ * @return {?}
215
+ */
216
+ function skipConsoleLogging(fn) {
217
+ /** @type {?} */
218
+ const consoleSpies = [
219
+ jest.spyOn(console, 'log').mockImplementation((/**
220
+ * @return {?}
221
+ */
222
+ () => { })),
223
+ jest.spyOn(console, 'warn').mockImplementation((/**
224
+ * @return {?}
225
+ */
226
+ () => { })),
227
+ jest.spyOn(console, 'error').mockImplementation((/**
228
+ * @return {?}
229
+ */
230
+ () => { })),
231
+ jest.spyOn(console, 'info').mockImplementation((/**
232
+ * @return {?}
233
+ */
234
+ () => { }))
235
+ ];
236
+ /**
237
+ * @return {?}
238
+ */
239
+ function restoreSpies() {
240
+ consoleSpies.forEach((/**
241
+ * @param {?} spy
242
+ * @return {?}
243
+ */
244
+ spy => spy.mockRestore()));
245
+ }
246
+ /** @type {?} */
247
+ let restoreSpyAsync = false;
248
+ try {
249
+ /** @type {?} */
250
+ const returnValue = fn();
251
+ if (returnValue instanceof Promise) {
252
+ restoreSpyAsync = true;
253
+ return (/** @type {?} */ (returnValue.finally((/**
254
+ * @return {?}
255
+ */
256
+ () => restoreSpies()))));
257
+ }
258
+ return returnValue;
259
+ }
260
+ finally {
261
+ if (!restoreSpyAsync) {
262
+ restoreSpies();
263
+ }
264
+ }
265
+ }
266
+
205
267
  /**
206
268
  * @fileoverview added by tsickle
207
269
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -212,5 +274,5 @@ function freshPlatform(fn) {
212
274
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
213
275
  */
214
276
 
215
- export { NgxsTestBed, freshPlatform };
277
+ export { NgxsTestBed, freshPlatform, skipConsoleLogging };
216
278
  //# sourceMappingURL=ngxs-store-internals-testing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngxs-store-internals-testing.js","sources":["ng://@ngxs/store/internals/testing/helpers/ngxs-test.component.ts","ng://@ngxs/store/internals/testing/helpers/ngxs-test.module.ts","ng://@ngxs/store/internals/testing/ngxs.setup.ts","ng://@ngxs/store/internals/testing/fresh-platform.ts"],"sourcesContent":["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 entryComponents: [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 }\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","import { TestBed } from '@angular/core/testing';\nimport { DOCUMENT } from '@angular/common';\nimport { ɵgetDOM as getDOM } from '@angular/platform-browser';\nimport { 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() {\n destroyPlatform();\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 createPlatform(TestBed);\n}\n\nexport function freshPlatform(fn: (done?: VoidFunction) => Promise<void>) {\n let done: VoidFunction | null = null,\n whenDoneIsCalledPromise: Promise<void> | null = null;\n\n const hasDoneArgument = fn.length === 1;\n\n if (hasDoneArgument) {\n whenDoneIsCalledPromise = new Promise<void>(resolve => {\n done = resolve;\n });\n }\n\n return async function testWithAFreshPlatform() {\n try {\n destroyPlatformBeforeBootstrappingTheNewOne();\n\n if (done !== null) {\n await fn(done);\n await whenDoneIsCalledPromise!;\n } else {\n await fn();\n }\n } finally {\n resetPlatformAfterBootstrapping();\n }\n };\n}\n"],"names":["BrowserDomAdapter","getDOM"],"mappings":"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"}
1
+ {"version":3,"file":"ngxs-store-internals-testing.js","sources":["ng://@ngxs/store/internals/testing/helpers/ngxs-test.component.ts","ng://@ngxs/store/internals/testing/helpers/ngxs-test.module.ts","ng://@ngxs/store/internals/testing/ngxs.setup.ts","ng://@ngxs/store/internals/testing/fresh-platform.ts","ng://@ngxs/store/internals/testing/skip-console-logging.ts"],"sourcesContent":["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 entryComponents: [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 }\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","import { TestBed } from '@angular/core/testing';\nimport { DOCUMENT } from '@angular/common';\nimport { ɵgetDOM as getDOM } from '@angular/platform-browser';\nimport { 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() {\n destroyPlatform();\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 createPlatform(TestBed);\n}\n\nexport function freshPlatform(fn: (done?: VoidFunction) => Promise<void>) {\n let done: VoidFunction | null = null,\n whenDoneIsCalledPromise: Promise<void> | null = null;\n\n const hasDoneArgument = fn.length === 1;\n\n if (hasDoneArgument) {\n whenDoneIsCalledPromise = new Promise<void>(resolve => {\n done = resolve;\n });\n }\n\n return async function testWithAFreshPlatform() {\n try {\n destroyPlatformBeforeBootstrappingTheNewOne();\n\n if (done !== null) {\n await fn(done);\n await whenDoneIsCalledPromise!;\n } else {\n await fn();\n }\n } finally {\n resetPlatformAfterBootstrapping();\n }\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"],"names":["BrowserDomAdapter","getDOM"],"mappings":";;;;;;;;;;;;AAAA,MAMa,iBAAiB;;;;IACrB,QAAQ,MAAW;;;;IACnB,eAAe,MAAW;;;YANlC,SAAS,SAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,EAAE;aACb;;;;;;;ACLD,MAUa,cAAc;;;;;IAClB,OAAO,aAAa,CAAC,GAAmB;QAC7C,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;KAClC;;;YARF,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,aAAa,CAAC;gBACxB,YAAY,EAAE,CAAC,iBAAiB,CAAC;gBACjC,eAAe,EAAE,CAAC,iBAAiB,CAAC;aACrC;;;;;;;ACTD,MAaa,WAAW;;;;;IACf,OAAO,sBAAsB,CAAC,OAA2B;QAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,OAAO,CAAC,MAAM,EAAE,CAAC;SAClB;QAED,OAAO,CAAC,sBAAsB,CAAC;YAC7B,OAAO,EAAE;gBACP,cAAc;gBACd,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;gBACnE,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;aAC3B;SACF,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAEvB,WAAW,CAAC,aAAa,EAAE,CAAC;QAE5B,OAAO;;;;YACL,IAAI,KAAK;gBACP,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC9B;;;;YACD,IAAI,UAAU;gBACZ,OAAO,OAAO,CAAC;aAChB;SACF,CAAC;KACH;;;;;IAEO,OAAO,aAAa;QAC1B,WAAW,CAAC,cAAc,EAAE,CAAC;QAC7B,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;KAC9D;;;;;IAEO,OAAO,YAAY;QACzB,OAAO,CAAC,oBAAoB,EAAE,CAAC;QAC/B,OAAO,CAAC,mBAAmB,CAAC,2BAA2B,EAAE,6BAA6B,EAAE,CAAC,CAAC;KAC3F;;;;;;IAEO,OAAO,cAAc,CAAC,QAAQ,GAAG,UAAU;;cAC3C,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;;cACnC,OAAO,GAAG,IAAIA,kBAAiB,EAAE;;cACjC,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KACjC;CACF;;;;;;;;;ACpDD,SAAS,iBAAiB;;UAClB,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;;UACnC,IAAI,GAAGC,OAAM,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC;IACzD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;CACjC;;;;AAED,SAAS,iBAAiB;;UAClB,IAAI,sBAAY,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC;IACxE,IAAI;QACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KACjC;IAAC,WAAM,GAAE;CACX;;;;AAED,SAAS,2CAA2C;IAClD,eAAe,EAAE,CAAC;IAClB,iBAAiB,EAAE,CAAC;CACrB;;;;;;;AAKD,SAAS,+BAA+B;IACtC,iBAAiB,EAAE,CAAC;IACpB,eAAe,EAAE,CAAC;IAClB,cAAc,CAAC,OAAO,CAAC,CAAC;CACzB;;;;;AAED,SAAgB,aAAa,CAAC,EAA0C;;QAClE,IAAI,GAAwB,IAAI;;QAClC,uBAAuB,GAAyB,IAAI;;UAEhD,eAAe,GAAG,EAAE,CAAC,MAAM,KAAK,CAAC;IAEvC,IAAI,eAAe,EAAE;QACnB,uBAAuB,GAAG,IAAI,OAAO;;;;QAAO,OAAO;YACjD,IAAI,GAAG,OAAO,CAAC;SAChB,EAAC,CAAC;KACJ;IAED;;;IAAO,SAAe,sBAAsB;;YAC1C,IAAI;gBACF,2CAA2C,EAAE,CAAC;gBAE9C,IAAI,IAAI,KAAK,IAAI,EAAE;oBACjB,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;oBACf,yBAAM,uBAAuB,EAAC,CAAC;iBAChC;qBAAM;oBACL,MAAM,EAAE,EAAE,CAAC;iBACZ;aACF;oBAAS;gBACR,+BAA+B,EAAE,CAAC;aACnC;SACF;KAAA,EAAC;CACH;;;;;;;;;;;;;ACxDD,SAAgB,kBAAkB,CAAoC,EAAK;;UACnE,YAAY,GAAG;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB;;;QAAC,SAAQ,EAAC;QACvD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB;;;QAAC,SAAQ,EAAC;QACxD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB;;;QAAC,SAAQ,EAAC;QACzD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB;;;QAAC,SAAQ,EAAC;KACzD;;;;IACD,SAAS,YAAY;QACnB,YAAY,CAAC,OAAO;;;;QAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,EAAC,CAAC;KAChD;;QACG,eAAe,GAAG,KAAK;IAC3B,IAAI;;cACI,WAAW,GAAG,EAAE,EAAE;QACxB,IAAI,WAAW,YAAY,OAAO,EAAE;YAClC,eAAe,GAAG,IAAI,CAAC;YACvB,0BAAO,WAAW,CAAC,OAAO;;;YAAC,MAAM,YAAY,EAAE,EAAC,GAAkB;SACnE;QACD,OAAO,WAAW,CAAC;KACpB;YAAS;QACR,IAAI,CAAC,eAAe,EAAE;YACpB,YAAY,EAAE,CAAC;SAChB;KACF;CACF;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { NgZone, Injectable, Inject, PLATFORM_ID, InjectionToken, Optional, SkipSelf, ErrorHandler, Injector, defineInjectable, inject, ɵivyEnabled, NgModule, APP_BOOTSTRAP_LISTENER } from '@angular/core';
2
- import { memoize, INITIAL_STATE_TOKEN, NgxsBootstrapper, NGXS_STATE_CONTEXT_FACTORY, NGXS_STATE_FACTORY, InitialState, ensureInjectorNotifierIsCaptured, localInject, ensureLocalInjectorCaptured } from '@ngxs/store/internals';
2
+ import { isAngularInTestMode, memoize, INITIAL_STATE_TOKEN, NgxsBootstrapper, NGXS_STATE_CONTEXT_FACTORY, NGXS_STATE_FACTORY, InitialState, ensureInjectorNotifierIsCaptured, localInject, ensureLocalInjectorCaptured } from '@ngxs/store/internals';
3
3
  import { isPlatformServer } from '@angular/common';
4
4
  import { Observable, Subject, BehaviorSubject, of, forkJoin, throwError, EMPTY, from } from 'rxjs';
5
5
  import { filter, map, shareReplay, take, exhaustMap, mergeMap, defaultIfEmpty, catchError, takeUntil, tap, distinctUntilChanged } from 'rxjs/operators';
@@ -233,6 +233,9 @@ if (false) {
233
233
  * Run in development mode. This will add additional debugging features:
234
234
  * - Object.freeze on the state and actions to guarantee immutability
235
235
  * (default: false)
236
+ *
237
+ * @deprecated This property is no longer necessary when the Ivy compiler is used.
238
+ * We'll determine the development mode through the `ngDevMode`. It's still essential with View Engine.
236
239
  * @type {?}
237
240
  */
238
241
  NgxsConfig.prototype.developmentMode;
@@ -1894,9 +1897,22 @@ class InternalStateOperations {
1894
1897
  */
1895
1898
  (actionOrActions) => this._dispatcher.dispatch(actionOrActions))
1896
1899
  };
1897
- return this._config.developmentMode
1898
- ? ensureStateAndActionsAreImmutable(rootStateOperations)
1899
- : rootStateOperations;
1900
+ // We have to have that duplication since this will allow us to tree-shake `ensureStateAndActionsAreImmutable`
1901
+ // and `deepFreeze` in Ivy production build.
1902
+ // The below `if` condition checks 2 things:
1903
+ // 1) if we're in View Engine (`ngDevMode` is `undefined`)
1904
+ // 2) if we're running tests, we should fallback to `config.developmentMode` to be backwards-compatible
1905
+ if (typeof ngDevMode === 'undefined' || (ngDevMode && isAngularInTestMode())) {
1906
+ return this._config.developmentMode
1907
+ ? ensureStateAndActionsAreImmutable(rootStateOperations)
1908
+ : rootStateOperations;
1909
+ }
1910
+ else {
1911
+ // If we're in Ivy and not running tests, then tree-shake `ensureStateAndActionsAreImmutable` and `deepFreeze`.
1912
+ return ngDevMode
1913
+ ? ensureStateAndActionsAreImmutable(rootStateOperations)
1914
+ : rootStateOperations;
1915
+ }
1900
1916
  }
1901
1917
  /**
1902
1918
  * @param {?} results
@@ -1938,7 +1954,6 @@ if (false) {
1938
1954
  */
1939
1955
  InternalStateOperations.prototype._config;
1940
1956
  }
1941
- // We make it as a separate function and not the class method to tree-shake it in the future.
1942
1957
  /**
1943
1958
  * @param {?} root
1944
1959
  * @return {?}