@ngxs/hmr-plugin 3.7.4 → 3.7.5

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 (51) hide show
  1. package/README.md +3 -3
  2. package/bundles/ngxs-hmr-plugin.umd.js +665 -665
  3. package/bundles/ngxs-hmr-plugin.umd.js.map +1 -1
  4. package/bundles/ngxs-hmr-plugin.umd.min.js.map +1 -1
  5. package/esm2015/index.js +9 -9
  6. package/esm2015/ngxs-hmr-plugin.js +8 -8
  7. package/esm2015/src/actions/hmr-before-destroy.action.js +24 -24
  8. package/esm2015/src/actions/hmr-init.action.js +24 -24
  9. package/esm2015/src/hmr-bootstrap.js +58 -58
  10. package/esm2015/src/hmr-manager.js +175 -175
  11. package/esm2015/src/internal/hmr-lifecycle.js +160 -160
  12. package/esm2015/src/internal/hmr-options-builder.js +28 -28
  13. package/esm2015/src/internal/hmr-state-context-factory.js +70 -70
  14. package/esm2015/src/internal/hmr-storage.js +35 -35
  15. package/esm2015/src/public_api.js +9 -9
  16. package/esm2015/src/symbols.js +62 -62
  17. package/esm2015/src/utils/externals.js +11 -11
  18. package/esm2015/src/utils/internals.js +22 -22
  19. package/esm5/index.js +9 -9
  20. package/esm5/ngxs-hmr-plugin.js +8 -8
  21. package/esm5/src/actions/hmr-before-destroy.action.js +27 -27
  22. package/esm5/src/actions/hmr-init.action.js +27 -27
  23. package/esm5/src/hmr-bootstrap.js +63 -63
  24. package/esm5/src/hmr-manager.js +222 -222
  25. package/esm5/src/internal/hmr-lifecycle.js +182 -182
  26. package/esm5/src/internal/hmr-options-builder.js +31 -31
  27. package/esm5/src/internal/hmr-state-context-factory.js +86 -86
  28. package/esm5/src/internal/hmr-storage.js +48 -48
  29. package/esm5/src/public_api.js +9 -9
  30. package/esm5/src/symbols.js +62 -62
  31. package/esm5/src/utils/externals.js +11 -11
  32. package/esm5/src/utils/internals.js +22 -22
  33. package/fesm2015/ngxs-hmr-plugin.js +582 -582
  34. package/fesm2015/ngxs-hmr-plugin.js.map +1 -1
  35. package/fesm5/ngxs-hmr-plugin.js +674 -674
  36. package/fesm5/ngxs-hmr-plugin.js.map +1 -1
  37. package/index.d.ts +4 -4
  38. package/ngxs-hmr-plugin.d.ts +4 -4
  39. package/package.json +1 -1
  40. package/src/actions/hmr-before-destroy.action.d.ts +6 -6
  41. package/src/actions/hmr-init.action.d.ts +6 -6
  42. package/src/hmr-bootstrap.d.ts +8 -8
  43. package/src/hmr-manager.d.ts +23 -23
  44. package/src/internal/hmr-lifecycle.d.ts +18 -18
  45. package/src/internal/hmr-options-builder.d.ts +7 -7
  46. package/src/internal/hmr-state-context-factory.d.ts +11 -11
  47. package/src/internal/hmr-storage.d.ts +6 -6
  48. package/src/public_api.d.ts +5 -5
  49. package/src/symbols.d.ts +54 -54
  50. package/src/utils/externals.d.ts +1 -1
  51. package/src/utils/internals.d.ts +2 -2
@@ -1,182 +1,182 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { HmrBeforeDestroyAction } from '../actions/hmr-before-destroy.action';
6
- /**
7
- * @template T, S
8
- */
9
- var /**
10
- * @template T, S
11
- */
12
- HmrLifecycle = /** @class */ (function () {
13
- function HmrLifecycle(ngAppModule, bootstrap, storage, context, options) {
14
- this.ngAppModule = ngAppModule;
15
- this.bootstrap = bootstrap;
16
- this.storage = storage;
17
- this.context = context;
18
- this.options = options;
19
- }
20
- /**
21
- * @param {?} hmrAfterOnInit
22
- * @return {?}
23
- */
24
- HmrLifecycle.prototype.hmrNgxsStoreOnInit = /**
25
- * @param {?} hmrAfterOnInit
26
- * @return {?}
27
- */
28
- function (hmrAfterOnInit) {
29
- /** @type {?} */
30
- var moduleHmrInit = this.getModuleHmrInitCallback();
31
- moduleHmrInit = moduleHmrInit.bind(this.ngAppModule);
32
- this.detectIvyWithJIT();
33
- this.stateEventLoop((/**
34
- * @param {?} ctx
35
- * @param {?} state
36
- * @return {?}
37
- */
38
- function (ctx, state) {
39
- moduleHmrInit(ctx, state);
40
- hmrAfterOnInit(ctx, state);
41
- }));
42
- };
43
- /**
44
- * @private
45
- * @return {?}
46
- */
47
- HmrLifecycle.prototype.getModuleHmrInitCallback = /**
48
- * @private
49
- * @return {?}
50
- */
51
- function () {
52
- if (typeof this.ngAppModule.hmrNgxsStoreOnInit === 'function') {
53
- return this.ngAppModule.hmrNgxsStoreOnInit;
54
- }
55
- return (/**
56
- * @param {?} ctx
57
- * @param {?} state
58
- * @return {?}
59
- */
60
- function defaultModuleHmrInit(ctx, state) {
61
- ctx.patchState(state);
62
- });
63
- };
64
- /**
65
- * @return {?}
66
- */
67
- HmrLifecycle.prototype.hmrNgxsStoreBeforeOnDestroy = /**
68
- * @return {?}
69
- */
70
- function () {
71
- /** @type {?} */
72
- var state = {};
73
- /** @type {?} */
74
- var ctx = this.context.createStateContext();
75
- if (typeof this.ngAppModule.hmrNgxsStoreBeforeOnDestroy === 'function') {
76
- state = this.ngAppModule.hmrNgxsStoreBeforeOnDestroy(ctx);
77
- }
78
- else {
79
- state = ctx.getState();
80
- }
81
- ctx.dispatch(new HmrBeforeDestroyAction(state));
82
- return state;
83
- };
84
- /**
85
- * @private
86
- * @param {?} callback
87
- * @return {?}
88
- */
89
- HmrLifecycle.prototype.stateEventLoop = /**
90
- * @private
91
- * @param {?} callback
92
- * @return {?}
93
- */
94
- function (callback) {
95
- var _this = this;
96
- if (!this.storage.hasData())
97
- return;
98
- /** @type {?} */
99
- var appBootstrapped$ = this.bootstrap.appBootstrapped$;
100
- /** @type {?} */
101
- var state$ = this.context.store.select((/**
102
- * @param {?} state
103
- * @return {?}
104
- */
105
- function (state) { return state; }));
106
- appBootstrapped$.subscribe((/**
107
- * @return {?}
108
- */
109
- function () {
110
- /** @type {?} */
111
- var eventId;
112
- /** @type {?} */
113
- var storeEventId = state$.subscribe((/**
114
- * @return {?}
115
- */
116
- function () {
117
- // setTimeout used for zone detection after set hmr state
118
- clearInterval(eventId);
119
- eventId = window.setTimeout((/**
120
- * @return {?}
121
- */
122
- function () {
123
- // close check on the message queue
124
- storeEventId.unsubscribe();
125
- // if events are no longer running on the call stack,
126
- // then we can update the state
127
- callback(_this.context.createStateContext(), (/** @type {?} */ (_this.storage.snapshot)));
128
- }), _this.options.deferTime);
129
- }));
130
- }));
131
- };
132
- /**
133
- * @private
134
- * @return {?}
135
- */
136
- HmrLifecycle.prototype.detectIvyWithJIT = /**
137
- * @private
138
- * @return {?}
139
- */
140
- function () {
141
- /** @type {?} */
142
- var jit = this.ngAppModule.constructor.hasOwnProperty('__annotations__');
143
- /** @type {?} */
144
- var ivy = this.ngAppModule.constructor.hasOwnProperty('ɵmod');
145
- if (jit && ivy) {
146
- throw new Error("@ngxs/hmr-plugin doesn't work with JIT mode in Angular Ivy. Please use AOT mode.");
147
- }
148
- };
149
- return HmrLifecycle;
150
- }());
151
- /**
152
- * @template T, S
153
- */
154
- export { HmrLifecycle };
155
- if (false) {
156
- /**
157
- * @type {?}
158
- * @private
159
- */
160
- HmrLifecycle.prototype.ngAppModule;
161
- /**
162
- * @type {?}
163
- * @private
164
- */
165
- HmrLifecycle.prototype.bootstrap;
166
- /**
167
- * @type {?}
168
- * @private
169
- */
170
- HmrLifecycle.prototype.storage;
171
- /**
172
- * @type {?}
173
- * @private
174
- */
175
- HmrLifecycle.prototype.context;
176
- /**
177
- * @type {?}
178
- * @private
179
- */
180
- HmrLifecycle.prototype.options;
181
- }
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1yLWxpZmVjeWNsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2htci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvaW50ZXJuYWwvaG1yLWxpZmVjeWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBT0EsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFHOUU7Ozs7SUFDRSxzQkFDVSxXQUFjLEVBQ2QsU0FBMkIsRUFDM0IsT0FBc0IsRUFDdEIsT0FBcUMsRUFDckMsT0FBeUI7UUFKekIsZ0JBQVcsR0FBWCxXQUFXLENBQUc7UUFDZCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBQ3JDLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBQ2hDLENBQUM7Ozs7O0lBRUcseUNBQWtCOzs7O0lBQXpCLFVBQTBCLGNBQThCOztZQUNsRCxhQUFhLEdBQW1CLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtRQUNuRSxhQUFhLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWM7Ozs7O1FBQUMsVUFBQyxHQUFHLEVBQUUsS0FBSztZQUM3QixhQUFhLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFCLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUVPLCtDQUF3Qjs7OztJQUFoQztRQUNFLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixLQUFLLFVBQVUsRUFBRTtZQUM3RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUM7U0FDNUM7UUFDRDs7Ozs7UUFBTyxTQUFTLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxLQUFLO1lBQzdDLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsQ0FBQyxFQUFDO0lBQ0osQ0FBQzs7OztJQUVNLGtEQUEyQjs7O0lBQWxDOztZQUNNLEtBQUssR0FBZSxFQUFFOztZQUNwQixHQUFHLEdBQW9CLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUU7UUFDOUQsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLEtBQUssVUFBVSxFQUFFO1lBQ3RFLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzNEO2FBQU07WUFDTCxLQUFLLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3hCO1FBRUQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7Ozs7SUFFTyxxQ0FBYzs7Ozs7SUFBdEIsVUFBdUIsUUFBd0I7UUFBL0MsaUJBb0JDO1FBbkJDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUFFLE9BQU87O1lBRTlCLGdCQUFnQixHQUF3QixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQjs7WUFDdkUsTUFBTSxHQUFvQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFDO1FBRXpFLGdCQUFnQixDQUFDLFNBQVM7OztRQUFDOztnQkFDckIsT0FBZTs7Z0JBQ2IsWUFBWSxHQUFpQixNQUFNLENBQUMsU0FBUzs7O1lBQUM7Z0JBQ2xELHlEQUF5RDtnQkFDekQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN2QixPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVU7OztnQkFBQztvQkFDMUIsbUNBQW1DO29CQUNuQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQzNCLHFEQUFxRDtvQkFDckQsK0JBQStCO29CQUMvQixRQUFRLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLG1CQUFBLEtBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFjLENBQUMsQ0FBQztnQkFDbkYsQ0FBQyxHQUFFLEtBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUFDO1FBQ0osQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUVPLHVDQUFnQjs7OztJQUF4Qjs7WUFDUSxHQUFHLEdBQVksSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDOztZQUM3RSxHQUFHLEdBQVksSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztRQUN4RSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUNiLGtGQUFrRixDQUNuRixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBQ0gsbUJBQUM7QUFBRCxDQUFDLEFBeEVELElBd0VDOzs7Ozs7Ozs7O0lBdEVHLG1DQUFzQjs7Ozs7SUFDdEIsaUNBQW1DOzs7OztJQUNuQywrQkFBOEI7Ozs7O0lBQzlCLCtCQUE2Qzs7Ozs7SUFDN0MsK0JBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd4c0Jvb3RzdHJhcHBlciB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdGF0ZUNvbnRleHQgfSBmcm9tICdAbmd4cy9zdG9yZSc7XHJcblxyXG5pbXBvcnQgeyBIbXJPcHRpb25CdWlsZGVyIH0gZnJvbSAnLi9obXItb3B0aW9ucy1idWlsZGVyJztcclxuaW1wb3J0IHsgSG1yQ2FsbGJhY2ssIE5neHNIbXJMaWZlQ3ljbGUgfSBmcm9tICcuLi9zeW1ib2xzJztcclxuaW1wb3J0IHsgSG1yU3RhdGVDb250ZXh0RmFjdG9yeSB9IGZyb20gJy4vaG1yLXN0YXRlLWNvbnRleHQtZmFjdG9yeSc7XHJcbmltcG9ydCB7IEhtckJlZm9yZURlc3Ryb3lBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL2htci1iZWZvcmUtZGVzdHJveS5hY3Rpb24nO1xyXG5pbXBvcnQgeyBIbXJTdG9yYWdlIH0gZnJvbSAnLi9obXItc3RvcmFnZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgSG1yTGlmZWN5Y2xlPFQgZXh0ZW5kcyBQYXJ0aWFsPE5neHNIbXJMaWZlQ3ljbGU8Uz4+LCBTPiB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG5nQXBwTW9kdWxlOiBULFxyXG4gICAgcHJpdmF0ZSBib290c3RyYXA6IE5neHNCb290c3RyYXBwZXIsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2U6IEhtclN0b3JhZ2U8Uz4sXHJcbiAgICBwcml2YXRlIGNvbnRleHQ6IEhtclN0YXRlQ29udGV4dEZhY3Rvcnk8VCwgUz4sXHJcbiAgICBwcml2YXRlIG9wdGlvbnM6IEhtck9wdGlvbkJ1aWxkZXJcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBobXJOZ3hzU3RvcmVPbkluaXQoaG1yQWZ0ZXJPbkluaXQ6IEhtckNhbGxiYWNrPFM+KSB7XHJcbiAgICBsZXQgbW9kdWxlSG1ySW5pdDogSG1yQ2FsbGJhY2s8Uz4gPSB0aGlzLmdldE1vZHVsZUhtckluaXRDYWxsYmFjaygpO1xyXG4gICAgbW9kdWxlSG1ySW5pdCA9IG1vZHVsZUhtckluaXQuYmluZCh0aGlzLm5nQXBwTW9kdWxlKTtcclxuICAgIHRoaXMuZGV0ZWN0SXZ5V2l0aEpJVCgpO1xyXG4gICAgdGhpcy5zdGF0ZUV2ZW50TG9vcCgoY3R4LCBzdGF0ZSkgPT4ge1xyXG4gICAgICBtb2R1bGVIbXJJbml0KGN0eCwgc3RhdGUpO1xyXG4gICAgICBobXJBZnRlck9uSW5pdChjdHgsIHN0YXRlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRNb2R1bGVIbXJJbml0Q2FsbGJhY2soKTogSG1yQ2FsbGJhY2s8Uz4ge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLm5nQXBwTW9kdWxlLmhtck5neHNTdG9yZU9uSW5pdCA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5uZ0FwcE1vZHVsZS5obXJOZ3hzU3RvcmVPbkluaXQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gZGVmYXVsdE1vZHVsZUhtckluaXQoY3R4LCBzdGF0ZSkge1xyXG4gICAgICBjdHgucGF0Y2hTdGF0ZShzdGF0ZSk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhtck5neHNTdG9yZUJlZm9yZU9uRGVzdHJveSgpOiBQYXJ0aWFsPFM+IHtcclxuICAgIGxldCBzdGF0ZTogUGFydGlhbDxTPiA9IHt9O1xyXG4gICAgY29uc3QgY3R4OiBTdGF0ZUNvbnRleHQ8Uz4gPSB0aGlzLmNvbnRleHQuY3JlYXRlU3RhdGVDb250ZXh0KCk7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMubmdBcHBNb2R1bGUuaG1yTmd4c1N0b3JlQmVmb3JlT25EZXN0cm95ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHN0YXRlID0gdGhpcy5uZ0FwcE1vZHVsZS5obXJOZ3hzU3RvcmVCZWZvcmVPbkRlc3Ryb3koY3R4KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN0YXRlID0gY3R4LmdldFN0YXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY3R4LmRpc3BhdGNoKG5ldyBIbXJCZWZvcmVEZXN0cm95QWN0aW9uKHN0YXRlKSk7XHJcbiAgICByZXR1cm4gc3RhdGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRlRXZlbnRMb29wKGNhbGxiYWNrOiBIbXJDYWxsYmFjazxTPik6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnN0b3JhZ2UuaGFzRGF0YSgpKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgYXBwQm9vdHN0cmFwcGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYm9vdHN0cmFwLmFwcEJvb3RzdHJhcHBlZCQ7XHJcbiAgICBjb25zdCBzdGF0ZSQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuY29udGV4dC5zdG9yZS5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUpO1xyXG5cclxuICAgIGFwcEJvb3RzdHJhcHBlZCQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgbGV0IGV2ZW50SWQ6IG51bWJlcjtcclxuICAgICAgY29uc3Qgc3RvcmVFdmVudElkOiBTdWJzY3JpcHRpb24gPSBzdGF0ZSQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAvLyBzZXRUaW1lb3V0IHVzZWQgZm9yIHpvbmUgZGV0ZWN0aW9uIGFmdGVyIHNldCBobXIgc3RhdGVcclxuICAgICAgICBjbGVhckludGVydmFsKGV2ZW50SWQpO1xyXG4gICAgICAgIGV2ZW50SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAvLyBjbG9zZSBjaGVjayBvbiB0aGUgbWVzc2FnZSBxdWV1ZVxyXG4gICAgICAgICAgc3RvcmVFdmVudElkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAvLyBpZiBldmVudHMgYXJlIG5vIGxvbmdlciBydW5uaW5nIG9uIHRoZSBjYWxsIHN0YWNrLFxyXG4gICAgICAgICAgLy8gdGhlbiB3ZSBjYW4gdXBkYXRlIHRoZSBzdGF0ZVxyXG4gICAgICAgICAgY2FsbGJhY2sodGhpcy5jb250ZXh0LmNyZWF0ZVN0YXRlQ29udGV4dCgpLCB0aGlzLnN0b3JhZ2Uuc25hcHNob3QgYXMgUGFydGlhbDxTPik7XHJcbiAgICAgICAgfSwgdGhpcy5vcHRpb25zLmRlZmVyVGltZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRldGVjdEl2eVdpdGhKSVQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBqaXQ6IGJvb2xlYW4gPSB0aGlzLm5nQXBwTW9kdWxlLmNvbnN0cnVjdG9yLmhhc093blByb3BlcnR5KCdfX2Fubm90YXRpb25zX18nKTtcclxuICAgIGNvbnN0IGl2eTogYm9vbGVhbiA9IHRoaXMubmdBcHBNb2R1bGUuY29uc3RydWN0b3IuaGFzT3duUHJvcGVydHkoJ8m1bW9kJyk7XHJcbiAgICBpZiAoaml0ICYmIGl2eSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgYEBuZ3hzL2htci1wbHVnaW4gZG9lc24ndCB3b3JrIHdpdGggSklUIG1vZGUgaW4gQW5ndWxhciBJdnkuIFBsZWFzZSB1c2UgQU9UIG1vZGUuYFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { HmrBeforeDestroyAction } from '../actions/hmr-before-destroy.action';
6
+ /**
7
+ * @template T, S
8
+ */
9
+ var /**
10
+ * @template T, S
11
+ */
12
+ HmrLifecycle = /** @class */ (function () {
13
+ function HmrLifecycle(ngAppModule, bootstrap, storage, context, options) {
14
+ this.ngAppModule = ngAppModule;
15
+ this.bootstrap = bootstrap;
16
+ this.storage = storage;
17
+ this.context = context;
18
+ this.options = options;
19
+ }
20
+ /**
21
+ * @param {?} hmrAfterOnInit
22
+ * @return {?}
23
+ */
24
+ HmrLifecycle.prototype.hmrNgxsStoreOnInit = /**
25
+ * @param {?} hmrAfterOnInit
26
+ * @return {?}
27
+ */
28
+ function (hmrAfterOnInit) {
29
+ /** @type {?} */
30
+ var moduleHmrInit = this.getModuleHmrInitCallback();
31
+ moduleHmrInit = moduleHmrInit.bind(this.ngAppModule);
32
+ this.detectIvyWithJIT();
33
+ this.stateEventLoop((/**
34
+ * @param {?} ctx
35
+ * @param {?} state
36
+ * @return {?}
37
+ */
38
+ function (ctx, state) {
39
+ moduleHmrInit(ctx, state);
40
+ hmrAfterOnInit(ctx, state);
41
+ }));
42
+ };
43
+ /**
44
+ * @private
45
+ * @return {?}
46
+ */
47
+ HmrLifecycle.prototype.getModuleHmrInitCallback = /**
48
+ * @private
49
+ * @return {?}
50
+ */
51
+ function () {
52
+ if (typeof this.ngAppModule.hmrNgxsStoreOnInit === 'function') {
53
+ return this.ngAppModule.hmrNgxsStoreOnInit;
54
+ }
55
+ return (/**
56
+ * @param {?} ctx
57
+ * @param {?} state
58
+ * @return {?}
59
+ */
60
+ function defaultModuleHmrInit(ctx, state) {
61
+ ctx.patchState(state);
62
+ });
63
+ };
64
+ /**
65
+ * @return {?}
66
+ */
67
+ HmrLifecycle.prototype.hmrNgxsStoreBeforeOnDestroy = /**
68
+ * @return {?}
69
+ */
70
+ function () {
71
+ /** @type {?} */
72
+ var state = {};
73
+ /** @type {?} */
74
+ var ctx = this.context.createStateContext();
75
+ if (typeof this.ngAppModule.hmrNgxsStoreBeforeOnDestroy === 'function') {
76
+ state = this.ngAppModule.hmrNgxsStoreBeforeOnDestroy(ctx);
77
+ }
78
+ else {
79
+ state = ctx.getState();
80
+ }
81
+ ctx.dispatch(new HmrBeforeDestroyAction(state));
82
+ return state;
83
+ };
84
+ /**
85
+ * @private
86
+ * @param {?} callback
87
+ * @return {?}
88
+ */
89
+ HmrLifecycle.prototype.stateEventLoop = /**
90
+ * @private
91
+ * @param {?} callback
92
+ * @return {?}
93
+ */
94
+ function (callback) {
95
+ var _this = this;
96
+ if (!this.storage.hasData())
97
+ return;
98
+ /** @type {?} */
99
+ var appBootstrapped$ = this.bootstrap.appBootstrapped$;
100
+ /** @type {?} */
101
+ var state$ = this.context.store.select((/**
102
+ * @param {?} state
103
+ * @return {?}
104
+ */
105
+ function (state) { return state; }));
106
+ appBootstrapped$.subscribe((/**
107
+ * @return {?}
108
+ */
109
+ function () {
110
+ /** @type {?} */
111
+ var eventId;
112
+ /** @type {?} */
113
+ var storeEventId = state$.subscribe((/**
114
+ * @return {?}
115
+ */
116
+ function () {
117
+ // setTimeout used for zone detection after set hmr state
118
+ clearInterval(eventId);
119
+ eventId = window.setTimeout((/**
120
+ * @return {?}
121
+ */
122
+ function () {
123
+ // close check on the message queue
124
+ storeEventId.unsubscribe();
125
+ // if events are no longer running on the call stack,
126
+ // then we can update the state
127
+ callback(_this.context.createStateContext(), (/** @type {?} */ (_this.storage.snapshot)));
128
+ }), _this.options.deferTime);
129
+ }));
130
+ }));
131
+ };
132
+ /**
133
+ * @private
134
+ * @return {?}
135
+ */
136
+ HmrLifecycle.prototype.detectIvyWithJIT = /**
137
+ * @private
138
+ * @return {?}
139
+ */
140
+ function () {
141
+ /** @type {?} */
142
+ var jit = this.ngAppModule.constructor.hasOwnProperty('__annotations__');
143
+ /** @type {?} */
144
+ var ivy = this.ngAppModule.constructor.hasOwnProperty('ɵmod');
145
+ if (jit && ivy) {
146
+ throw new Error("@ngxs/hmr-plugin doesn't work with JIT mode in Angular Ivy. Please use AOT mode.");
147
+ }
148
+ };
149
+ return HmrLifecycle;
150
+ }());
151
+ /**
152
+ * @template T, S
153
+ */
154
+ export { HmrLifecycle };
155
+ if (false) {
156
+ /**
157
+ * @type {?}
158
+ * @private
159
+ */
160
+ HmrLifecycle.prototype.ngAppModule;
161
+ /**
162
+ * @type {?}
163
+ * @private
164
+ */
165
+ HmrLifecycle.prototype.bootstrap;
166
+ /**
167
+ * @type {?}
168
+ * @private
169
+ */
170
+ HmrLifecycle.prototype.storage;
171
+ /**
172
+ * @type {?}
173
+ * @private
174
+ */
175
+ HmrLifecycle.prototype.context;
176
+ /**
177
+ * @type {?}
178
+ * @private
179
+ */
180
+ HmrLifecycle.prototype.options;
181
+ }
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1yLWxpZmVjeWNsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2htci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvaW50ZXJuYWwvaG1yLWxpZmVjeWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBT0EsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFHOUU7Ozs7SUFDRSxzQkFDVSxXQUFjLEVBQ2QsU0FBMkIsRUFDM0IsT0FBc0IsRUFDdEIsT0FBcUMsRUFDckMsT0FBeUI7UUFKekIsZ0JBQVcsR0FBWCxXQUFXLENBQUc7UUFDZCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBQ3JDLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBQ2hDLENBQUM7Ozs7O0lBRUcseUNBQWtCOzs7O0lBQXpCLFVBQTBCLGNBQThCOztZQUNsRCxhQUFhLEdBQW1CLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtRQUNuRSxhQUFhLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWM7Ozs7O1FBQUMsVUFBQyxHQUFHLEVBQUUsS0FBSztZQUM3QixhQUFhLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFCLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUVPLCtDQUF3Qjs7OztJQUFoQztRQUNFLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixLQUFLLFVBQVUsRUFBRTtZQUM3RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUM7U0FDNUM7UUFDRDs7Ozs7UUFBTyxTQUFTLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxLQUFLO1lBQzdDLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsQ0FBQyxFQUFDO0lBQ0osQ0FBQzs7OztJQUVNLGtEQUEyQjs7O0lBQWxDOztZQUNNLEtBQUssR0FBZSxFQUFFOztZQUNwQixHQUFHLEdBQW9CLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUU7UUFDOUQsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLEtBQUssVUFBVSxFQUFFO1lBQ3RFLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzNEO2FBQU07WUFDTCxLQUFLLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3hCO1FBRUQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7Ozs7SUFFTyxxQ0FBYzs7Ozs7SUFBdEIsVUFBdUIsUUFBd0I7UUFBL0MsaUJBb0JDO1FBbkJDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUFFLE9BQU87O1lBRTlCLGdCQUFnQixHQUF3QixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQjs7WUFDdkUsTUFBTSxHQUFvQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFDO1FBRXpFLGdCQUFnQixDQUFDLFNBQVM7OztRQUFDOztnQkFDckIsT0FBZTs7Z0JBQ2IsWUFBWSxHQUFpQixNQUFNLENBQUMsU0FBUzs7O1lBQUM7Z0JBQ2xELHlEQUF5RDtnQkFDekQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN2QixPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVU7OztnQkFBQztvQkFDMUIsbUNBQW1DO29CQUNuQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQzNCLHFEQUFxRDtvQkFDckQsK0JBQStCO29CQUMvQixRQUFRLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLG1CQUFBLEtBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFjLENBQUMsQ0FBQztnQkFDbkYsQ0FBQyxHQUFFLEtBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUFDO1FBQ0osQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUVPLHVDQUFnQjs7OztJQUF4Qjs7WUFDUSxHQUFHLEdBQVksSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDOztZQUM3RSxHQUFHLEdBQVksSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztRQUN4RSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUNiLGtGQUFrRixDQUNuRixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBQ0gsbUJBQUM7QUFBRCxDQUFDLEFBeEVELElBd0VDOzs7Ozs7Ozs7O0lBdEVHLG1DQUFzQjs7Ozs7SUFDdEIsaUNBQW1DOzs7OztJQUNuQywrQkFBOEI7Ozs7O0lBQzlCLCtCQUE2Qzs7Ozs7SUFDN0MsK0JBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd4c0Jvb3RzdHJhcHBlciB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0YXRlQ29udGV4dCB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcblxuaW1wb3J0IHsgSG1yT3B0aW9uQnVpbGRlciB9IGZyb20gJy4vaG1yLW9wdGlvbnMtYnVpbGRlcic7XG5pbXBvcnQgeyBIbXJDYWxsYmFjaywgTmd4c0htckxpZmVDeWNsZSB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgSG1yU3RhdGVDb250ZXh0RmFjdG9yeSB9IGZyb20gJy4vaG1yLXN0YXRlLWNvbnRleHQtZmFjdG9yeSc7XG5pbXBvcnQgeyBIbXJCZWZvcmVEZXN0cm95QWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucy9obXItYmVmb3JlLWRlc3Ryb3kuYWN0aW9uJztcbmltcG9ydCB7IEhtclN0b3JhZ2UgfSBmcm9tICcuL2htci1zdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIEhtckxpZmVjeWNsZTxUIGV4dGVuZHMgUGFydGlhbDxOZ3hzSG1yTGlmZUN5Y2xlPFM+PiwgUz4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5nQXBwTW9kdWxlOiBULFxuICAgIHByaXZhdGUgYm9vdHN0cmFwOiBOZ3hzQm9vdHN0cmFwcGVyLFxuICAgIHByaXZhdGUgc3RvcmFnZTogSG1yU3RvcmFnZTxTPixcbiAgICBwcml2YXRlIGNvbnRleHQ6IEhtclN0YXRlQ29udGV4dEZhY3Rvcnk8VCwgUz4sXG4gICAgcHJpdmF0ZSBvcHRpb25zOiBIbXJPcHRpb25CdWlsZGVyXG4gICkge31cblxuICBwdWJsaWMgaG1yTmd4c1N0b3JlT25Jbml0KGhtckFmdGVyT25Jbml0OiBIbXJDYWxsYmFjazxTPikge1xuICAgIGxldCBtb2R1bGVIbXJJbml0OiBIbXJDYWxsYmFjazxTPiA9IHRoaXMuZ2V0TW9kdWxlSG1ySW5pdENhbGxiYWNrKCk7XG4gICAgbW9kdWxlSG1ySW5pdCA9IG1vZHVsZUhtckluaXQuYmluZCh0aGlzLm5nQXBwTW9kdWxlKTtcbiAgICB0aGlzLmRldGVjdEl2eVdpdGhKSVQoKTtcbiAgICB0aGlzLnN0YXRlRXZlbnRMb29wKChjdHgsIHN0YXRlKSA9PiB7XG4gICAgICBtb2R1bGVIbXJJbml0KGN0eCwgc3RhdGUpO1xuICAgICAgaG1yQWZ0ZXJPbkluaXQoY3R4LCBzdGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZHVsZUhtckluaXRDYWxsYmFjaygpOiBIbXJDYWxsYmFjazxTPiB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLm5nQXBwTW9kdWxlLmhtck5neHNTdG9yZU9uSW5pdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIHRoaXMubmdBcHBNb2R1bGUuaG1yTmd4c1N0b3JlT25Jbml0O1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gZGVmYXVsdE1vZHVsZUhtckluaXQoY3R4LCBzdGF0ZSkge1xuICAgICAgY3R4LnBhdGNoU3RhdGUoc3RhdGUpO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgaG1yTmd4c1N0b3JlQmVmb3JlT25EZXN0cm95KCk6IFBhcnRpYWw8Uz4ge1xuICAgIGxldCBzdGF0ZTogUGFydGlhbDxTPiA9IHt9O1xuICAgIGNvbnN0IGN0eDogU3RhdGVDb250ZXh0PFM+ID0gdGhpcy5jb250ZXh0LmNyZWF0ZVN0YXRlQ29udGV4dCgpO1xuICAgIGlmICh0eXBlb2YgdGhpcy5uZ0FwcE1vZHVsZS5obXJOZ3hzU3RvcmVCZWZvcmVPbkRlc3Ryb3kgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHN0YXRlID0gdGhpcy5uZ0FwcE1vZHVsZS5obXJOZ3hzU3RvcmVCZWZvcmVPbkRlc3Ryb3koY3R4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGUgPSBjdHguZ2V0U3RhdGUoKTtcbiAgICB9XG5cbiAgICBjdHguZGlzcGF0Y2gobmV3IEhtckJlZm9yZURlc3Ryb3lBY3Rpb24oc3RhdGUpKTtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cblxuICBwcml2YXRlIHN0YXRlRXZlbnRMb29wKGNhbGxiYWNrOiBIbXJDYWxsYmFjazxTPik6IHZvaWQge1xuICAgIGlmICghdGhpcy5zdG9yYWdlLmhhc0RhdGEoKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgYXBwQm9vdHN0cmFwcGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYm9vdHN0cmFwLmFwcEJvb3RzdHJhcHBlZCQ7XG4gICAgY29uc3Qgc3RhdGUkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLmNvbnRleHQuc3RvcmUuc2VsZWN0KHN0YXRlID0+IHN0YXRlKTtcblxuICAgIGFwcEJvb3RzdHJhcHBlZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGxldCBldmVudElkOiBudW1iZXI7XG4gICAgICBjb25zdCBzdG9yZUV2ZW50SWQ6IFN1YnNjcmlwdGlvbiA9IHN0YXRlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAvLyBzZXRUaW1lb3V0IHVzZWQgZm9yIHpvbmUgZGV0ZWN0aW9uIGFmdGVyIHNldCBobXIgc3RhdGVcbiAgICAgICAgY2xlYXJJbnRlcnZhbChldmVudElkKTtcbiAgICAgICAgZXZlbnRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAvLyBjbG9zZSBjaGVjayBvbiB0aGUgbWVzc2FnZSBxdWV1ZVxuICAgICAgICAgIHN0b3JlRXZlbnRJZC51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIC8vIGlmIGV2ZW50cyBhcmUgbm8gbG9uZ2VyIHJ1bm5pbmcgb24gdGhlIGNhbGwgc3RhY2ssXG4gICAgICAgICAgLy8gdGhlbiB3ZSBjYW4gdXBkYXRlIHRoZSBzdGF0ZVxuICAgICAgICAgIGNhbGxiYWNrKHRoaXMuY29udGV4dC5jcmVhdGVTdGF0ZUNvbnRleHQoKSwgdGhpcy5zdG9yYWdlLnNuYXBzaG90IGFzIFBhcnRpYWw8Uz4pO1xuICAgICAgICB9LCB0aGlzLm9wdGlvbnMuZGVmZXJUaW1lKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3RJdnlXaXRoSklUKCk6IHZvaWQge1xuICAgIGNvbnN0IGppdDogYm9vbGVhbiA9IHRoaXMubmdBcHBNb2R1bGUuY29uc3RydWN0b3IuaGFzT3duUHJvcGVydHkoJ19fYW5ub3RhdGlvbnNfXycpO1xuICAgIGNvbnN0IGl2eTogYm9vbGVhbiA9IHRoaXMubmdBcHBNb2R1bGUuY29uc3RydWN0b3IuaGFzT3duUHJvcGVydHkoJ8m1bW9kJyk7XG4gICAgaWYgKGppdCAmJiBpdnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEBuZ3hzL2htci1wbHVnaW4gZG9lc24ndCB3b3JrIHdpdGggSklUIG1vZGUgaW4gQW5ndWxhciBJdnkuIFBsZWFzZSB1c2UgQU9UIG1vZGUuYFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,31 +1,31 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- var HmrOptionBuilder = /** @class */ (function () {
6
- function HmrOptionBuilder(_a) {
7
- var deferTime = _a.deferTime, autoClearLogs = _a.autoClearLogs;
8
- this.deferTime = deferTime || 100;
9
- this.autoClearLogs = autoClearLogs === undefined ? true : autoClearLogs;
10
- }
11
- /**
12
- * @return {?}
13
- */
14
- HmrOptionBuilder.prototype.clearLogs = /**
15
- * @return {?}
16
- */
17
- function () {
18
- if (this.autoClearLogs) {
19
- console.clear();
20
- }
21
- };
22
- return HmrOptionBuilder;
23
- }());
24
- export { HmrOptionBuilder };
25
- if (false) {
26
- /** @type {?} */
27
- HmrOptionBuilder.prototype.deferTime;
28
- /** @type {?} */
29
- HmrOptionBuilder.prototype.autoClearLogs;
30
- }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1yLW9wdGlvbnMtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2htci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvaW50ZXJuYWwvaG1yLW9wdGlvbnMtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUE7SUFJRSwwQkFBWSxFQUE0QztZQUExQyx3QkFBUyxFQUFFLGdDQUFhO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxJQUFJLEdBQUcsQ0FBQztRQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzFFLENBQUM7Ozs7SUFFTSxvQ0FBUzs7O0lBQWhCO1FBQ0UsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFDSCx1QkFBQztBQUFELENBQUMsQUFkRCxJQWNDOzs7O0lBYkMscUNBQWtDOztJQUNsQyx5Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3hzSG1yT3B0aW9ucyB9IGZyb20gJy4uL3N5bWJvbHMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEhtck9wdGlvbkJ1aWxkZXIge1xyXG4gIHB1YmxpYyByZWFkb25seSBkZWZlclRpbWU6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgYXV0b0NsZWFyTG9nczogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoeyBkZWZlclRpbWUsIGF1dG9DbGVhckxvZ3MgfTogTmd4c0htck9wdGlvbnMpIHtcclxuICAgIHRoaXMuZGVmZXJUaW1lID0gZGVmZXJUaW1lIHx8IDEwMDtcclxuICAgIHRoaXMuYXV0b0NsZWFyTG9ncyA9IGF1dG9DbGVhckxvZ3MgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBhdXRvQ2xlYXJMb2dzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyTG9ncygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmF1dG9DbGVhckxvZ3MpIHtcclxuICAgICAgY29uc29sZS5jbGVhcigpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ var HmrOptionBuilder = /** @class */ (function () {
6
+ function HmrOptionBuilder(_a) {
7
+ var deferTime = _a.deferTime, autoClearLogs = _a.autoClearLogs;
8
+ this.deferTime = deferTime || 100;
9
+ this.autoClearLogs = autoClearLogs === undefined ? true : autoClearLogs;
10
+ }
11
+ /**
12
+ * @return {?}
13
+ */
14
+ HmrOptionBuilder.prototype.clearLogs = /**
15
+ * @return {?}
16
+ */
17
+ function () {
18
+ if (this.autoClearLogs) {
19
+ console.clear();
20
+ }
21
+ };
22
+ return HmrOptionBuilder;
23
+ }());
24
+ export { HmrOptionBuilder };
25
+ if (false) {
26
+ /** @type {?} */
27
+ HmrOptionBuilder.prototype.deferTime;
28
+ /** @type {?} */
29
+ HmrOptionBuilder.prototype.autoClearLogs;
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1yLW9wdGlvbnMtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2htci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvaW50ZXJuYWwvaG1yLW9wdGlvbnMtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUE7SUFJRSwwQkFBWSxFQUE0QztZQUExQyx3QkFBUyxFQUFFLGdDQUFhO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxJQUFJLEdBQUcsQ0FBQztRQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzFFLENBQUM7Ozs7SUFFTSxvQ0FBUzs7O0lBQWhCO1FBQ0UsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFDSCx1QkFBQztBQUFELENBQUMsQUFkRCxJQWNDOzs7O0lBYkMscUNBQWtDOztJQUNsQyx5Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3hzSG1yT3B0aW9ucyB9IGZyb20gJy4uL3N5bWJvbHMnO1xuXG5leHBvcnQgY2xhc3MgSG1yT3B0aW9uQnVpbGRlciB7XG4gIHB1YmxpYyByZWFkb25seSBkZWZlclRpbWU6IG51bWJlcjtcbiAgcHVibGljIHJlYWRvbmx5IGF1dG9DbGVhckxvZ3M6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoeyBkZWZlclRpbWUsIGF1dG9DbGVhckxvZ3MgfTogTmd4c0htck9wdGlvbnMpIHtcbiAgICB0aGlzLmRlZmVyVGltZSA9IGRlZmVyVGltZSB8fCAxMDA7XG4gICAgdGhpcy5hdXRvQ2xlYXJMb2dzID0gYXV0b0NsZWFyTG9ncyA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGF1dG9DbGVhckxvZ3M7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJMb2dzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmF1dG9DbGVhckxvZ3MpIHtcbiAgICAgIGNvbnNvbGUuY2xlYXIoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,86 +1,86 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { Store } from '@ngxs/store';
7
- import { isStateOperator } from '@ngxs/store/operators';
8
- /**
9
- * @template T, S
10
- */
11
- var /**
12
- * @template T, S
13
- */
14
- HmrStateContextFactory = /** @class */ (function () {
15
- function HmrStateContextFactory(module) {
16
- /** @type {?} */
17
- var store = module.injector.get(Store, undefined);
18
- if (!store) {
19
- throw new Error('Store not found, maybe you forgot to import the NgxsModule');
20
- }
21
- this.store = store;
22
- }
23
- /**
24
- * @description
25
- * must be taken out into @ngxs/store/internals
26
- */
27
- /**
28
- * \@description
29
- * must be taken out into \@ngxs/store/internals
30
- * @return {?}
31
- */
32
- HmrStateContextFactory.prototype.createStateContext = /**
33
- * \@description
34
- * must be taken out into \@ngxs/store/internals
35
- * @return {?}
36
- */
37
- function () {
38
- var _this = this;
39
- return {
40
- dispatch: (/**
41
- * @param {?} actions
42
- * @return {?}
43
- */
44
- function (actions) { return (/** @type {?} */ (_this.store)).dispatch(actions); }),
45
- getState: (/**
46
- * @return {?}
47
- */
48
- function () { return (/** @type {?} */ ((/** @type {?} */ (_this.store)).snapshot())); }),
49
- setState: (/**
50
- * @param {?} val
51
- * @return {?}
52
- */
53
- function (val) {
54
- if (isStateOperator(val)) {
55
- /** @type {?} */
56
- var currentState = (/** @type {?} */ (_this.store)).snapshot();
57
- val = val(currentState);
58
- }
59
- (/** @type {?} */ (_this.store)).reset(val);
60
- return (/** @type {?} */ (val));
61
- }),
62
- patchState: (/**
63
- * @param {?} val
64
- * @return {?}
65
- */
66
- function (val) {
67
- /** @type {?} */
68
- var currentState = (/** @type {?} */ (_this.store)).snapshot();
69
- /** @type {?} */
70
- var newState = tslib_1.__assign({}, currentState, ((/** @type {?} */ (val))));
71
- (/** @type {?} */ (_this.store)).reset(newState);
72
- return newState;
73
- })
74
- };
75
- };
76
- return HmrStateContextFactory;
77
- }());
78
- /**
79
- * @template T, S
80
- */
81
- export { HmrStateContextFactory };
82
- if (false) {
83
- /** @type {?} */
84
- HmrStateContextFactory.prototype.store;
85
- }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1yLXN0YXRlLWNvbnRleHQtZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2htci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvaW50ZXJuYWwvaG1yLXN0YXRlLWNvbnRleHQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQUd4RDs7OztJQUdFLGdDQUFZLE1BQXNCOztZQUMxQixLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQVEsS0FBSyxFQUFFLFNBQVMsQ0FBQztRQUUxRCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyw0REFBNEQsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7O0lBQ0ksbURBQWtCOzs7OztJQUF6QjtRQUFBLGlCQW9CQztRQW5CQyxPQUFPO1lBQ0wsUUFBUTs7OztZQUFFLFVBQUEsT0FBTyxJQUFJLE9BQUEsbUJBQUEsS0FBSSxDQUFDLEtBQUssRUFBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBN0IsQ0FBNkIsQ0FBQTtZQUNsRCxRQUFROzs7WUFBRSxxQkFBTSxtQkFBRyxtQkFBQSxLQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsUUFBUSxFQUFFLEVBQUEsR0FBQSxDQUFBO1lBQ3pDLFFBQVE7Ozs7WUFBRSxVQUFBLEdBQUc7Z0JBQ1gsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUU7O3dCQUNsQixZQUFZLEdBQUcsbUJBQUEsS0FBSSxDQUFDLEtBQUssRUFBQyxDQUFDLFFBQVEsRUFBRTtvQkFDM0MsR0FBRyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDekI7Z0JBRUQsbUJBQUEsS0FBSSxDQUFDLEtBQUssRUFBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdkIsT0FBTyxtQkFBRyxHQUFHLEVBQUEsQ0FBQztZQUNoQixDQUFDLENBQUE7WUFDRCxVQUFVOzs7O1lBQUUsVUFBQSxHQUFHOztvQkFDUCxZQUFZLEdBQUcsbUJBQUEsS0FBSSxDQUFDLEtBQUssRUFBQyxDQUFDLFFBQVEsRUFBRTs7b0JBQ3JDLFFBQVEsd0JBQVEsWUFBWSxFQUFLLENBQUMsbUJBQVEsR0FBRyxFQUFBLENBQUMsQ0FBRTtnQkFDdEQsbUJBQUEsS0FBSSxDQUFDLEtBQUssRUFBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUIsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQyxDQUFBO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFDSCw2QkFBQztBQUFELENBQUMsQUF0Q0QsSUFzQ0M7Ozs7Ozs7SUFyQ0MsdUNBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVDb250ZXh0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcclxuaW1wb3J0IHsgaXNTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTmdNb2R1bGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBIbXJTdGF0ZUNvbnRleHRGYWN0b3J5PFQsIFM+IHtcclxuICBwdWJsaWMgc3RvcmU6IFN0b3JlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihtb2R1bGU6IE5nTW9kdWxlUmVmPFQ+KSB7XHJcbiAgICBjb25zdCBzdG9yZSA9IG1vZHVsZS5pbmplY3Rvci5nZXQ8U3RvcmU+KFN0b3JlLCB1bmRlZmluZWQpO1xyXG5cclxuICAgIGlmICghc3RvcmUpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdG9yZSBub3QgZm91bmQsIG1heWJlIHlvdSBmb3Jnb3QgdG8gaW1wb3J0IHRoZSBOZ3hzTW9kdWxlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdG9yZSA9IHN0b3JlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICogbXVzdCBiZSB0YWtlbiBvdXQgaW50byAgQG5neHMvc3RvcmUvaW50ZXJuYWxzXHJcbiAgICovXHJcbiAgcHVibGljIGNyZWF0ZVN0YXRlQ29udGV4dCgpOiBTdGF0ZUNvbnRleHQ8Uz4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZGlzcGF0Y2g6IGFjdGlvbnMgPT4gdGhpcy5zdG9yZSEuZGlzcGF0Y2goYWN0aW9ucyksXHJcbiAgICAgIGdldFN0YXRlOiAoKSA9PiA8Uz50aGlzLnN0b3JlIS5zbmFwc2hvdCgpLFxyXG4gICAgICBzZXRTdGF0ZTogdmFsID0+IHtcclxuICAgICAgICBpZiAoaXNTdGF0ZU9wZXJhdG9yKHZhbCkpIHtcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMuc3RvcmUhLnNuYXBzaG90KCk7XHJcbiAgICAgICAgICB2YWwgPSB2YWwoY3VycmVudFN0YXRlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc3RvcmUhLnJlc2V0KHZhbCk7XHJcbiAgICAgICAgcmV0dXJuIDxTPnZhbDtcclxuICAgICAgfSxcclxuICAgICAgcGF0Y2hTdGF0ZTogdmFsID0+IHtcclxuICAgICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLnN0b3JlIS5zbmFwc2hvdCgpO1xyXG4gICAgICAgIGNvbnN0IG5ld1N0YXRlID0geyAuLi5jdXJyZW50U3RhdGUsIC4uLig8b2JqZWN0PnZhbCkgfTtcclxuICAgICAgICB0aGlzLnN0b3JlIS5yZXNldChuZXdTdGF0ZSk7XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ import { Store } from '@ngxs/store';
7
+ import { isStateOperator } from '@ngxs/store/operators';
8
+ /**
9
+ * @template T, S
10
+ */
11
+ var /**
12
+ * @template T, S
13
+ */
14
+ HmrStateContextFactory = /** @class */ (function () {
15
+ function HmrStateContextFactory(module) {
16
+ /** @type {?} */
17
+ var store = module.injector.get(Store, undefined);
18
+ if (!store) {
19
+ throw new Error('Store not found, maybe you forgot to import the NgxsModule');
20
+ }
21
+ this.store = store;
22
+ }
23
+ /**
24
+ * @description
25
+ * must be taken out into @ngxs/store/internals
26
+ */
27
+ /**
28
+ * \@description
29
+ * must be taken out into \@ngxs/store/internals
30
+ * @return {?}
31
+ */
32
+ HmrStateContextFactory.prototype.createStateContext = /**
33
+ * \@description
34
+ * must be taken out into \@ngxs/store/internals
35
+ * @return {?}
36
+ */
37
+ function () {
38
+ var _this = this;
39
+ return {
40
+ dispatch: (/**
41
+ * @param {?} actions
42
+ * @return {?}
43
+ */
44
+ function (actions) { return (/** @type {?} */ (_this.store)).dispatch(actions); }),
45
+ getState: (/**
46
+ * @return {?}
47
+ */
48
+ function () { return (/** @type {?} */ ((/** @type {?} */ (_this.store)).snapshot())); }),
49
+ setState: (/**
50
+ * @param {?} val
51
+ * @return {?}
52
+ */
53
+ function (val) {
54
+ if (isStateOperator(val)) {
55
+ /** @type {?} */
56
+ var currentState = (/** @type {?} */ (_this.store)).snapshot();
57
+ val = val(currentState);
58
+ }
59
+ (/** @type {?} */ (_this.store)).reset(val);
60
+ return (/** @type {?} */ (val));
61
+ }),
62
+ patchState: (/**
63
+ * @param {?} val
64
+ * @return {?}
65
+ */
66
+ function (val) {
67
+ /** @type {?} */
68
+ var currentState = (/** @type {?} */ (_this.store)).snapshot();
69
+ /** @type {?} */
70
+ var newState = tslib_1.__assign({}, currentState, ((/** @type {?} */ (val))));
71
+ (/** @type {?} */ (_this.store)).reset(newState);
72
+ return newState;
73
+ })
74
+ };
75
+ };
76
+ return HmrStateContextFactory;
77
+ }());
78
+ /**
79
+ * @template T, S
80
+ */
81
+ export { HmrStateContextFactory };
82
+ if (false) {
83
+ /** @type {?} */
84
+ HmrStateContextFactory.prototype.store;
85
+ }
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1yLXN0YXRlLWNvbnRleHQtZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2htci1wbHVnaW4vIiwic291cmNlcyI6WyJzcmMvaW50ZXJuYWwvaG1yLXN0YXRlLWNvbnRleHQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQUd4RDs7OztJQUdFLGdDQUFZLE1BQXNCOztZQUMxQixLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQVEsS0FBSyxFQUFFLFNBQVMsQ0FBQztRQUUxRCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyw0REFBNEQsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7O0lBQ0ksbURBQWtCOzs7OztJQUF6QjtRQUFBLGlCQW9CQztRQW5CQyxPQUFPO1lBQ0wsUUFBUTs7OztZQUFFLFVBQUEsT0FBTyxJQUFJLE9BQUEsbUJBQUEsS0FBSSxDQUFDLEtBQUssRUFBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBN0IsQ0FBNkIsQ0FBQTtZQUNsRCxRQUFROzs7WUFBRSxxQkFBTSxtQkFBRyxtQkFBQSxLQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsUUFBUSxFQUFFLEVBQUEsR0FBQSxDQUFBO1lBQ3pDLFFBQVE7Ozs7WUFBRSxVQUFBLEdBQUc7Z0JBQ1gsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUU7O3dCQUNsQixZQUFZLEdBQUcsbUJBQUEsS0FBSSxDQUFDLEtBQUssRUFBQyxDQUFDLFFBQVEsRUFBRTtvQkFDM0MsR0FBRyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDekI7Z0JBRUQsbUJBQUEsS0FBSSxDQUFDLEtBQUssRUFBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdkIsT0FBTyxtQkFBRyxHQUFHLEVBQUEsQ0FBQztZQUNoQixDQUFDLENBQUE7WUFDRCxVQUFVOzs7O1lBQUUsVUFBQSxHQUFHOztvQkFDUCxZQUFZLEdBQUcsbUJBQUEsS0FBSSxDQUFDLEtBQUssRUFBQyxDQUFDLFFBQVEsRUFBRTs7b0JBQ3JDLFFBQVEsd0JBQVEsWUFBWSxFQUFLLENBQUMsbUJBQVEsR0FBRyxFQUFBLENBQUMsQ0FBRTtnQkFDdEQsbUJBQUEsS0FBSSxDQUFDLEtBQUssRUFBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUIsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQyxDQUFBO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFDSCw2QkFBQztBQUFELENBQUMsQUF0Q0QsSUFzQ0M7Ozs7Ozs7SUFyQ0MsdUNBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVDb250ZXh0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGlzU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOZ01vZHVsZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgSG1yU3RhdGVDb250ZXh0RmFjdG9yeTxULCBTPiB7XG4gIHB1YmxpYyBzdG9yZTogU3RvcmU7XG5cbiAgY29uc3RydWN0b3IobW9kdWxlOiBOZ01vZHVsZVJlZjxUPikge1xuICAgIGNvbnN0IHN0b3JlID0gbW9kdWxlLmluamVjdG9yLmdldDxTdG9yZT4oU3RvcmUsIHVuZGVmaW5lZCk7XG5cbiAgICBpZiAoIXN0b3JlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1N0b3JlIG5vdCBmb3VuZCwgbWF5YmUgeW91IGZvcmdvdCB0byBpbXBvcnQgdGhlIE5neHNNb2R1bGUnKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlID0gc3RvcmU7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIG11c3QgYmUgdGFrZW4gb3V0IGludG8gIEBuZ3hzL3N0b3JlL2ludGVybmFsc1xuICAgKi9cbiAgcHVibGljIGNyZWF0ZVN0YXRlQ29udGV4dCgpOiBTdGF0ZUNvbnRleHQ8Uz4ge1xuICAgIHJldHVybiB7XG4gICAgICBkaXNwYXRjaDogYWN0aW9ucyA9PiB0aGlzLnN0b3JlIS5kaXNwYXRjaChhY3Rpb25zKSxcbiAgICAgIGdldFN0YXRlOiAoKSA9PiA8Uz50aGlzLnN0b3JlIS5zbmFwc2hvdCgpLFxuICAgICAgc2V0U3RhdGU6IHZhbCA9PiB7XG4gICAgICAgIGlmIChpc1N0YXRlT3BlcmF0b3IodmFsKSkge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMuc3RvcmUhLnNuYXBzaG90KCk7XG4gICAgICAgICAgdmFsID0gdmFsKGN1cnJlbnRTdGF0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0b3JlIS5yZXNldCh2YWwpO1xuICAgICAgICByZXR1cm4gPFM+dmFsO1xuICAgICAgfSxcbiAgICAgIHBhdGNoU3RhdGU6IHZhbCA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMuc3RvcmUhLnNuYXBzaG90KCk7XG4gICAgICAgIGNvbnN0IG5ld1N0YXRlID0geyAuLi5jdXJyZW50U3RhdGUsIC4uLig8b2JqZWN0PnZhbCkgfTtcbiAgICAgICAgdGhpcy5zdG9yZSEucmVzZXQobmV3U3RhdGUpO1xuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuIl19