@ngxs/devtools-plugin 3.7.3 → 3.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/ngxs-devtools-plugin.umd.js +88 -24
- package/bundles/ngxs-devtools-plugin.umd.js.map +1 -1
- package/bundles/ngxs-devtools-plugin.umd.min.js +2 -2
- package/bundles/ngxs-devtools-plugin.umd.min.js.map +1 -1
- package/esm2015/src/devtools.plugin.js +82 -24
- package/esm2015/src/symbols.js +1 -1
- package/esm5/src/devtools.plugin.js +90 -26
- package/esm5/src/symbols.js +1 -1
- package/fesm2015/ngxs-devtools-plugin.js +81 -23
- package/fesm2015/ngxs-devtools-plugin.js.map +1 -1
- package/fesm5/ngxs-devtools-plugin.js +89 -25
- package/fesm5/ngxs-devtools-plugin.js.map +1 -1
- package/ngxs-devtools-plugin.metadata.json +1 -1
- package/package.json +3 -3
- package/src/devtools.plugin.d.ts +9 -5
- package/src/symbols.d.ts +1 -2
|
@@ -2,10 +2,22 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
-
import { Inject, Injectable, Injector } from '@angular/core';
|
|
5
|
+
import { Inject, Injectable, Injector, NgZone, ɵglobal } from '@angular/core';
|
|
6
6
|
import { getActionTypeFromInstance, Store } from '@ngxs/store';
|
|
7
7
|
import { tap, catchError } from 'rxjs/operators';
|
|
8
8
|
import { NGXS_DEVTOOLS_OPTIONS } from './symbols';
|
|
9
|
+
/** @enum {string} */
|
|
10
|
+
const ReduxDevtoolsActionType = {
|
|
11
|
+
Dispatch: 'DISPATCH',
|
|
12
|
+
Action: 'ACTION',
|
|
13
|
+
};
|
|
14
|
+
/** @enum {string} */
|
|
15
|
+
const ReduxDevtoolsPayloadType = {
|
|
16
|
+
JumpToAction: 'JUMP_TO_ACTION',
|
|
17
|
+
JumpToState: 'JUMP_TO_STATE',
|
|
18
|
+
ToggleAction: 'TOGGLE_ACTION',
|
|
19
|
+
ImportState: 'IMPORT_STATE',
|
|
20
|
+
};
|
|
9
21
|
/**
|
|
10
22
|
* Adds support for the Redux Devtools extension:
|
|
11
23
|
* http://extension.remotedev.io/
|
|
@@ -14,21 +26,26 @@ export class NgxsReduxDevtoolsPlugin {
|
|
|
14
26
|
/**
|
|
15
27
|
* @param {?} _options
|
|
16
28
|
* @param {?} _injector
|
|
29
|
+
* @param {?} _ngZone
|
|
17
30
|
*/
|
|
18
|
-
constructor(_options, _injector) {
|
|
31
|
+
constructor(_options, _injector, _ngZone) {
|
|
19
32
|
this._options = _options;
|
|
20
33
|
this._injector = _injector;
|
|
34
|
+
this._ngZone = _ngZone;
|
|
21
35
|
this.devtoolsExtension = null;
|
|
22
|
-
this.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
36
|
+
this.globalDevtools = ɵglobal['__REDUX_DEVTOOLS_EXTENSION__'] || ɵglobal['devToolsExtension'];
|
|
37
|
+
this.unsubscribe = null;
|
|
38
|
+
this.connect();
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @return {?}
|
|
42
|
+
*/
|
|
43
|
+
ngOnDestroy() {
|
|
44
|
+
if (this.unsubscribe !== null) {
|
|
45
|
+
this.unsubscribe();
|
|
46
|
+
}
|
|
47
|
+
if (this.globalDevtools) {
|
|
48
|
+
this.globalDevtools.disconnect();
|
|
32
49
|
}
|
|
33
50
|
}
|
|
34
51
|
/**
|
|
@@ -47,9 +64,7 @@ export class NgxsReduxDevtoolsPlugin {
|
|
|
47
64
|
* @return {?}
|
|
48
65
|
*/
|
|
49
66
|
handle(state, action, next) {
|
|
50
|
-
|
|
51
|
-
const isDisabled = this._options && this._options.disabled;
|
|
52
|
-
if (!this.devtoolsExtension || isDisabled) {
|
|
67
|
+
if (!this.devtoolsExtension || this._options.disabled) {
|
|
53
68
|
return next(state, action);
|
|
54
69
|
}
|
|
55
70
|
return next(state, action).pipe(catchError((/**
|
|
@@ -95,17 +110,17 @@ export class NgxsReduxDevtoolsPlugin {
|
|
|
95
110
|
* @return {?}
|
|
96
111
|
*/
|
|
97
112
|
dispatched(action) {
|
|
98
|
-
if (action.type ===
|
|
99
|
-
if (action.payload.type ===
|
|
100
|
-
action.payload.type ===
|
|
113
|
+
if (action.type === "DISPATCH" /* Dispatch */) {
|
|
114
|
+
if (action.payload.type === "JUMP_TO_ACTION" /* JumpToAction */ ||
|
|
115
|
+
action.payload.type === "JUMP_TO_STATE" /* JumpToState */) {
|
|
101
116
|
/** @type {?} */
|
|
102
117
|
const prevState = JSON.parse(action.state);
|
|
103
118
|
this.store.reset(prevState);
|
|
104
119
|
}
|
|
105
|
-
else if (action.payload.type ===
|
|
120
|
+
else if (action.payload.type === "TOGGLE_ACTION" /* ToggleAction */) {
|
|
106
121
|
console.warn('Skip is not supported at this time.');
|
|
107
122
|
}
|
|
108
|
-
else if (action.payload.type ===
|
|
123
|
+
else if (action.payload.type === "IMPORT_STATE" /* ImportState */) {
|
|
109
124
|
const { actionsById, computedStates, currentStateIndex } = action.payload.nextLiftedState;
|
|
110
125
|
(/** @type {?} */ (this.devtoolsExtension)).init(computedStates[0].state);
|
|
111
126
|
Object.keys(actionsById)
|
|
@@ -122,12 +137,44 @@ export class NgxsReduxDevtoolsPlugin {
|
|
|
122
137
|
this.store.reset(computedStates[currentStateIndex].state);
|
|
123
138
|
}
|
|
124
139
|
}
|
|
125
|
-
else if (action.type ===
|
|
140
|
+
else if (action.type === "ACTION" /* Action */) {
|
|
126
141
|
/** @type {?} */
|
|
127
142
|
const actionPayload = JSON.parse(action.payload);
|
|
128
143
|
this.store.dispatch(actionPayload);
|
|
129
144
|
}
|
|
130
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* @private
|
|
148
|
+
* @return {?}
|
|
149
|
+
*/
|
|
150
|
+
connect() {
|
|
151
|
+
if (!this.globalDevtools || this._options.disabled) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
// The `connect` method adds `message` event listener since it communicates
|
|
155
|
+
// with an extension through `window.postMessage` and message events.
|
|
156
|
+
// We handle only 2 events; thus, we don't want to run many change detections
|
|
157
|
+
// because the extension sends events that we don't have to handle.
|
|
158
|
+
this.devtoolsExtension = this._ngZone.runOutsideAngular((/**
|
|
159
|
+
* @return {?}
|
|
160
|
+
*/
|
|
161
|
+
() => (/** @type {?} */ (this.globalDevtools.connect(this._options)))));
|
|
162
|
+
this.unsubscribe = this.devtoolsExtension.subscribe((/**
|
|
163
|
+
* @param {?} action
|
|
164
|
+
* @return {?}
|
|
165
|
+
*/
|
|
166
|
+
action => {
|
|
167
|
+
if (action.type === "DISPATCH" /* Dispatch */ ||
|
|
168
|
+
action.type === "ACTION" /* Action */) {
|
|
169
|
+
this._ngZone.run((/**
|
|
170
|
+
* @return {?}
|
|
171
|
+
*/
|
|
172
|
+
() => {
|
|
173
|
+
this.dispatched(action);
|
|
174
|
+
}));
|
|
175
|
+
}
|
|
176
|
+
}));
|
|
177
|
+
}
|
|
131
178
|
}
|
|
132
179
|
NgxsReduxDevtoolsPlugin.decorators = [
|
|
133
180
|
{ type: Injectable }
|
|
@@ -135,7 +182,8 @@ NgxsReduxDevtoolsPlugin.decorators = [
|
|
|
135
182
|
/** @nocollapse */
|
|
136
183
|
NgxsReduxDevtoolsPlugin.ctorParameters = () => [
|
|
137
184
|
{ type: undefined, decorators: [{ type: Inject, args: [NGXS_DEVTOOLS_OPTIONS,] }] },
|
|
138
|
-
{ type: Injector }
|
|
185
|
+
{ type: Injector },
|
|
186
|
+
{ type: NgZone }
|
|
139
187
|
];
|
|
140
188
|
if (false) {
|
|
141
189
|
/**
|
|
@@ -147,7 +195,12 @@ if (false) {
|
|
|
147
195
|
* @type {?}
|
|
148
196
|
* @private
|
|
149
197
|
*/
|
|
150
|
-
NgxsReduxDevtoolsPlugin.prototype.
|
|
198
|
+
NgxsReduxDevtoolsPlugin.prototype.globalDevtools;
|
|
199
|
+
/**
|
|
200
|
+
* @type {?}
|
|
201
|
+
* @private
|
|
202
|
+
*/
|
|
203
|
+
NgxsReduxDevtoolsPlugin.prototype.unsubscribe;
|
|
151
204
|
/**
|
|
152
205
|
* @type {?}
|
|
153
206
|
* @private
|
|
@@ -158,5 +211,10 @@ if (false) {
|
|
|
158
211
|
* @private
|
|
159
212
|
*/
|
|
160
213
|
NgxsReduxDevtoolsPlugin.prototype._injector;
|
|
214
|
+
/**
|
|
215
|
+
* @type {?}
|
|
216
|
+
* @private
|
|
217
|
+
*/
|
|
218
|
+
NgxsReduxDevtoolsPlugin.prototype._ngZone;
|
|
161
219
|
}
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2dG9vbHMucGx1Z2luLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvZGV2dG9vbHMtcGx1Z2luLyIsInNvdXJjZXMiOlsic3JjL2RldnRvb2xzLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBZ0MsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUNMLHFCQUFxQixFQUl0QixNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFPbkIsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7SUFJbEMsWUFDeUMsUUFBNkIsRUFDNUQsU0FBbUI7UUFEWSxhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQUM1RCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBTFosc0JBQWlCLEdBQWlDLElBQUksQ0FBQztRQUN2RCxjQUFTLEdBQVEsT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs7Y0FNdEUsY0FBYyxHQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQztRQUN2RixJQUFJLGNBQWMsRUFBRTtZQUNsQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsbUJBQUEsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBeUIsQ0FBQztZQUNuRixJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUzs7OztZQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQzs7Ozs7O0lBS0QsSUFBWSxLQUFL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SyxDQUFDLEVBQ3BGLENBQUM7Z0JBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0Q7U0FDRjthQUFNLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7O2tCQUM3QixhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQzs7O1lBdkZGLFVBQVU7Ozs7NENBTU4sTUFBTSxTQUFDLHFCQUFxQjtZQXJCSixRQUFROzs7Ozs7O0lBaUJuQyxvREFBd0U7Ozs7O0lBQ3hFLDRDQUE4RTs7Ozs7SUFHNUUsMkNBQW9FOzs7OztJQUNwRSw0Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UsIE5neHNOZXh0UGx1Z2luRm4sIE5neHNQbHVnaW4sIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xyXG5pbXBvcnQgeyB0YXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIE5HWFNfREVWVE9PTFNfT1BUSU9OUyxcclxuICBOZ3hzRGV2dG9vbHNBY3Rpb24sXHJcbiAgTmd4c0RldnRvb2xzRXh0ZW5zaW9uLFxyXG4gIE5neHNEZXZ0b29sc09wdGlvbnNcclxufSBmcm9tICcuL3N5bWJvbHMnO1xyXG5cclxuLyoqXHJcbiAqIEFkZHMgc3VwcG9ydCBmb3IgdGhlIFJlZHV4IERldnRvb2xzIGV4dGVuc2lvbjpcclxuICogaHR0cDovL2V4dGVuc2lvbi5yZW1vdGVkZXYuaW8vXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOZ3hzUmVkdXhEZXZ0b29sc1BsdWdpbiBpbXBsZW1lbnRzIE5neHNQbHVnaW4ge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGV2dG9vbHNFeHRlbnNpb246IE5neHNEZXZ0b29sc0V4dGVuc2lvbiB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgd2luZG93T2JqOiBhbnkgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTkdYU19ERVZUT09MU19PUFRJT05TKSBwcml2YXRlIF9vcHRpb25zOiBOZ3hzRGV2dG9vbHNPcHRpb25zLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7XHJcbiAgICBjb25zdCBnbG9iYWxEZXZ0b29scyA9XHJcbiAgICAgIHRoaXMud2luZG93T2JqWydfX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fJ10gfHwgdGhpcy53aW5kb3dPYmpbJ2RldlRvb2xzRXh0ZW5zaW9uJ107XHJcbiAgICBpZiAoZ2xvYmFsRGV2dG9vbHMpIHtcclxuICAgICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiA9IGdsb2JhbERldnRvb2xzLmNvbm5lY3QoX29wdGlvbnMpIGFzIE5neHNEZXZ0b29sc0V4dGVuc2lvbjtcclxuICAgICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbi5zdWJzY3JpYmUoYSA9PiB0aGlzLmRpc3BhdGNoZWQoYSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTGF6eSBnZXQgdGhlIHN0b3JlIGZvciBjaXJjdWxhciBkZXBlbmRlbmN5IGlzc3Vlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0IHN0b3JlKCk6IFN0b3JlIHtcclxuICAgIHJldHVybiB0aGlzLl9pbmplY3Rvci5nZXQ8U3RvcmU+KFN0b3JlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1pZGRsZXdhcmUgaGFuZGxlIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgaGFuZGxlKHN0YXRlOiBhbnksIGFjdGlvbjogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKSB7XHJcbiAgICBjb25zdCBpc0Rpc2FibGVkID0gdGhpcy5fb3B0aW9ucyAmJiB0aGlzLl9vcHRpb25zLmRpc2FibGVkO1xyXG4gICAgaWYgKCF0aGlzLmRldnRvb2xzRXh0ZW5zaW9uIHx8IGlzRGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuIG5leHQoc3RhdGUsIGFjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5leHQoc3RhdGUsIGFjdGlvbikucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSB0aGlzLnN0b3JlLnNuYXBzaG90KCk7XHJcbiAgICAgICAgdGhpcy5zZW5kVG9EZXZUb29scyhzdGF0ZSwgYWN0aW9uLCBuZXdTdGF0ZSk7XHJcbiAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAobmV3U3RhdGUgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VuZFRvRGV2VG9vbHMoc3RhdGUsIGFjdGlvbiwgbmV3U3RhdGUpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VuZFRvRGV2VG9vbHMoc3RhdGU6IGFueSwgYWN0aW9uOiBhbnksIG5ld1N0YXRlOiBhbnkpIHtcclxuICAgIGNvbnN0IHR5cGUgPSBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKGFjdGlvbik7XHJcbiAgICAvLyBpZiBpbml0IGFjdGlvbiwgc2VuZCBpbml0aWFsIHN0YXRlIHRvIGRldiB0b29sc1xyXG4gICAgY29uc3QgaXNJbml0QWN0aW9uID0gdHlwZSA9PT0gJ0BASU5JVCc7XHJcbiAgICBpZiAoaXNJbml0QWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24hLmluaXQoc3RhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiEuc2VuZCh7IC4uLmFjdGlvbiwgYWN0aW9uOiBudWxsLCB0eXBlIH0sIG5ld1N0YXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSB0aGUgYWN0aW9uIGZyb20gdGhlIGRldiB0b29scyBzdWJzY3JpcHRpb25cclxuICAgKi9cclxuICBkaXNwYXRjaGVkKGFjdGlvbjogTmd4c0RldnRvb2xzQWN0aW9uKSB7XHJcbiAgICBpZiAoYWN0aW9uLnR5cGUgPT09ICdESVNQQVRDSCcpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGFjdGlvbi5wYXlsb2FkLnR5cGUgPT09ICdKVU1QX1RPX0FDVElPTicgfHxcclxuICAgICAgICBhY3Rpb24ucGF5bG9hZC50eXBlID09PSAnSlVNUF9UT19TVEFURSdcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29uc3QgcHJldlN0YXRlID0gSlNPTi5wYXJzZShhY3Rpb24uc3RhdGUpO1xyXG4gICAgICAgIHRoaXMuc3RvcmUucmVzZXQocHJldlN0YXRlKTtcclxuICAgICAgfSBlbHNlIGlmIChhY3Rpb24ucGF5bG9hZC50eXBlID09PSAnVE9HR0xFX0FDVElPTicpIHtcclxuICAgICAgICBjb25zb2xlLndhcm4oJ1NraXAgaXMgbm90IHN1cHBvcnRlZCBhdCB0aGlzIHRpbWUuJyk7XHJcbiAgICAgIH0gZWxzZSBpZiAoYWN0aW9uLnBheWxvYWQudHlwZSA9PT0gJ0lNUE9SVF9TVEFURScpIHtcclxuICAgICAgICBjb25zdCB7XHJcbiAgICAgICAgICBhY3Rpb25zQnlJZCxcclxuICAgICAgICAgIGNvbXB1dGVkU3RhdGVzLFxyXG4gICAgICAgICAgY3VycmVudFN0YXRlSW5kZXhcclxuICAgICAgICB9ID0gYWN0aW9uLnBheWxvYWQubmV4dExpZnRlZFN0YXRlO1xyXG4gICAgICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24hLmluaXQoY29tcHV0ZWRTdGF0ZXNbMF0uc3RhdGUpO1xyXG4gICAgICAgIE9iamVjdC5rZXlzKGFjdGlvbnNCeUlkKVxyXG4gICAgICAgICAgLmZpbHRlcihhY3Rpb25JZCA9PiBhY3Rpb25JZCAhPT0gJzAnKVxyXG4gICAgICAgICAgLmZvckVhY2goYWN0aW9uSWQgPT5cclxuICAgICAgICAgICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiEuc2VuZChhY3Rpb25zQnlJZFthY3Rpb25JZF0sIGNvbXB1dGVkU3RhdGVzW2FjdGlvbklkXS5zdGF0ZSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5zdG9yZS5yZXNldChjb21wdXRlZFN0YXRlc1tjdXJyZW50U3RhdGVJbmRleF0uc3RhdGUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGFjdGlvbi50eXBlID09PSAnQUNUSU9OJykge1xyXG4gICAgICBjb25zdCBhY3Rpb25QYXlsb2FkID0gSlNPTi5wYXJzZShhY3Rpb24ucGF5bG9hZCk7XHJcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uUGF5bG9hZCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2dG9vbHMucGx1Z2luLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvZGV2dG9vbHMtcGx1Z2luLyIsInNvdXJjZXMiOlsic3JjL2RldnRvb2xzLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBYSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLHlCQUF5QixFQUFnQyxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0YsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQ0wscUJBQXFCLEVBSXRCLE1BQU0sV0FBVyxDQUFDOzs7SUFHakIsVUFBVyxVQUFVO0lBQ3JCLFFBQVMsUUFBUTs7OztJQUlqQixjQUFlLGdCQUFnQjtJQUMvQixhQUFjLGVBQWU7SUFDN0IsY0FBZSxlQUFlO0lBQzlCLGFBQWMsY0FBYzs7Ozs7O0FBUTlCLE1BQU0sT0FBTyx1QkFBdUI7Ozs7OztJQU9sQyxZQUN5QyxRQUE2QixFQUM1RCxTQUFtQixFQUNuQixPQUFlO1FBRmdCLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQzVELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQVRqQixzQkFBaUIsR0FBaUMsSUFBSSxDQUFDO1FBQzlDLG1CQUFjLEdBQzdCLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWxFLGdCQUFXLEdBQXdCLElBQUksQ0FBQztRQU85QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtRQUNE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OztZQXZIRixVQUFVOzs7OzRDQVNOLE1BQU0sU0FBQyxxQkFBcUI7WUFwQ0osUUFBUTtZQUFFLE1BQU07Ozs7Ozs7SUE2QjNDLG9EQUErRDs7Ozs7SUFDL0QsaURBQzBFOzs7OztJQUUxRSw4Q0FBZ0Q7Ozs7O0lBRzlDLDJDQUFvRTs7Ozs7SUFDcEUsNENBQTJCOzs7OztJQUMzQiwwQ0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUsIE9uRGVzdHJveSwgybVnbG9iYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZSwgTmd4c05leHRQbHVnaW5GbiwgTmd4c1BsdWdpbiwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XHJcbmltcG9ydCB7IHRhcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgTkdYU19ERVZUT09MU19PUFRJT05TLFxyXG4gIE5neHNEZXZ0b29sc0FjdGlvbixcclxuICBOZ3hzRGV2dG9vbHNFeHRlbnNpb24sXHJcbiAgTmd4c0RldnRvb2xzT3B0aW9uc1xyXG59IGZyb20gJy4vc3ltYm9scyc7XHJcblxyXG5jb25zdCBlbnVtIFJlZHV4RGV2dG9vbHNBY3Rpb25UeXBlIHtcclxuICBEaXNwYXRjaCA9ICdESVNQQVRDSCcsXHJcbiAgQWN0aW9uID0gJ0FDVElPTidcclxufVxyXG5cclxuY29uc3QgZW51bSBSZWR1eERldnRvb2xzUGF5bG9hZFR5cGUge1xyXG4gIEp1bXBUb0FjdGlvbiA9ICdKVU1QX1RPX0FDVElPTicsXHJcbiAgSnVtcFRvU3RhdGUgPSAnSlVNUF9UT19TVEFURScsXHJcbiAgVG9nZ2xlQWN0aW9uID0gJ1RPR0dMRV9BQ1RJT04nLFxyXG4gIEltcG9ydFN0YXRlID0gJ0lNUE9SVF9TVEFURSdcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHMgc3VwcG9ydCBmb3IgdGhlIFJlZHV4IERldnRvb2xzIGV4dGVuc2lvbjpcclxuICogaHR0cDovL2V4dGVuc2lvbi5yZW1vdGVkZXYuaW8vXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOZ3hzUmVkdXhEZXZ0b29sc1BsdWdpbiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgTmd4c1BsdWdpbiB7XHJcbiAgcHJpdmF0ZSBkZXZ0b29sc0V4dGVuc2lvbjogTmd4c0RldnRvb2xzRXh0ZW5zaW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBnbG9iYWxEZXZ0b29scyA9XHJcbiAgICDJtWdsb2JhbFsnX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXyddIHx8IMm1Z2xvYmFsWydkZXZUb29sc0V4dGVuc2lvbiddO1xyXG5cclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBWb2lkRnVuY3Rpb24gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE5HWFNfREVWVE9PTFNfT1BUSU9OUykgcHJpdmF0ZSBfb3B0aW9uczogTmd4c0RldnRvb2xzT3B0aW9ucyxcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudW5zdWJzY3JpYmUgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ2xvYmFsRGV2dG9vbHMpIHtcclxuICAgICAgdGhpcy5nbG9iYWxEZXZ0b29scy5kaXNjb25uZWN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMYXp5IGdldCB0aGUgc3RvcmUgZm9yIGNpcmN1bGFyIGRlcGVuZGVuY3kgaXNzdWVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXQgc3RvcmUoKTogU3RvcmUge1xyXG4gICAgcmV0dXJuIHRoaXMuX2luamVjdG9yLmdldDxTdG9yZT4oU3RvcmUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWlkZGxld2FyZSBoYW5kbGUgZnVuY3Rpb25cclxuICAgKi9cclxuICBoYW5kbGUoc3RhdGU6IGFueSwgYWN0aW9uOiBhbnksIG5leHQ6IE5neHNOZXh0UGx1Z2luRm4pIHtcclxuICAgIGlmICghdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiB8fCB0aGlzLl9vcHRpb25zLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybiBuZXh0KHN0YXRlLCBhY3Rpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXh0KHN0YXRlLCBhY3Rpb24pLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld1N0YXRlID0gdGhpcy5zdG9yZS5zbmFwc2hvdCgpO1xyXG4gICAgICAgIHRoaXMuc2VuZFRvRGV2VG9vbHMoc3RhdGUsIGFjdGlvbiwgbmV3U3RhdGUpO1xyXG4gICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICB9KSxcclxuICAgICAgdGFwKG5ld1N0YXRlID0+IHtcclxuICAgICAgICB0aGlzLnNlbmRUb0RldlRvb2xzKHN0YXRlLCBhY3Rpb24sIG5ld1N0YXRlKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbmRUb0RldlRvb2xzKHN0YXRlOiBhbnksIGFjdGlvbjogYW55LCBuZXdTdGF0ZTogYW55KSB7XHJcbiAgICBjb25zdCB0eXBlID0gZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShhY3Rpb24pO1xyXG4gICAgLy8gaWYgaW5pdCBhY3Rpb24sIHNlbmQgaW5pdGlhbCBzdGF0ZSB0byBkZXYgdG9vbHNcclxuICAgIGNvbnN0IGlzSW5pdEFjdGlvbiA9IHR5cGUgPT09ICdAQElOSVQnO1xyXG4gICAgaWYgKGlzSW5pdEFjdGlvbikge1xyXG4gICAgICB0aGlzLmRldnRvb2xzRXh0ZW5zaW9uIS5pbml0KHN0YXRlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24hLnNlbmQoeyAuLi5hY3Rpb24sIGFjdGlvbjogbnVsbCwgdHlwZSB9LCBuZXdTdGF0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGUgdGhlIGFjdGlvbiBmcm9tIHRoZSBkZXYgdG9vbHMgc3Vic2NyaXB0aW9uXHJcbiAgICovXHJcbiAgZGlzcGF0Y2hlZChhY3Rpb246IE5neHNEZXZ0b29sc0FjdGlvbikge1xyXG4gICAgaWYgKGFjdGlvbi50eXBlID09PSBSZWR1eERldnRvb2xzQWN0aW9uVHlwZS5EaXNwYXRjaCkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgYWN0aW9uLnBheWxvYWQudHlwZSA9PT0gUmVkdXhEZXZ0b29sc1BheWxvYWRUeXBlLkp1bXBUb0FjdGlvbiB8fFxyXG4gICAgICAgIGFjdGlvbi5wYXlsb2FkLnR5cGUgPT09IFJlZHV4RGV2dG9vbHNQYXlsb2FkVHlwZS5KdW1wVG9TdGF0ZVxyXG4gICAgICApIHtcclxuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSBKU09OLnBhcnNlKGFjdGlvbi5zdGF0ZSk7XHJcbiAgICAgICAgdGhpcy5zdG9yZS5yZXNldChwcmV2U3RhdGUpO1xyXG4gICAgICB9IGVsc2UgaWYgKGFjdGlvbi5wYXlsb2FkLnR5cGUgPT09IFJlZHV4RGV2dG9vbHNQYXlsb2FkVHlwZS5Ub2dnbGVBY3Rpb24pIHtcclxuICAgICAgICBjb25zb2xlLndhcm4oJ1NraXAgaXMgbm90IHN1cHBvcnRlZCBhdCB0aGlzIHRpbWUuJyk7XHJcbiAgICAgIH0gZWxzZSBpZiAoYWN0aW9uLnBheWxvYWQudHlwZSA9PT0gUmVkdXhEZXZ0b29sc1BheWxvYWRUeXBlLkltcG9ydFN0YXRlKSB7XHJcbiAgICAgICAgY29uc3Qge1xyXG4gICAgICAgICAgYWN0aW9uc0J5SWQsXHJcbiAgICAgICAgICBjb21wdXRlZFN0YXRlcyxcclxuICAgICAgICAgIGN1cnJlbnRTdGF0ZUluZGV4XHJcbiAgICAgICAgfSA9IGFjdGlvbi5wYXlsb2FkLm5leHRMaWZ0ZWRTdGF0ZTtcclxuICAgICAgICB0aGlzLmRldnRvb2xzRXh0ZW5zaW9uIS5pbml0KGNvbXB1dGVkU3RhdGVzWzBdLnN0YXRlKTtcclxuICAgICAgICBPYmplY3Qua2V5cyhhY3Rpb25zQnlJZClcclxuICAgICAgICAgIC5maWx0ZXIoYWN0aW9uSWQgPT4gYWN0aW9uSWQgIT09ICcwJylcclxuICAgICAgICAgIC5mb3JFYWNoKGFjdGlvbklkID0+XHJcbiAgICAgICAgICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24hLnNlbmQoYWN0aW9uc0J5SWRbYWN0aW9uSWRdLCBjb21wdXRlZFN0YXRlc1thY3Rpb25JZF0uc3RhdGUpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuc3RvcmUucmVzZXQoY29tcHV0ZWRTdGF0ZXNbY3VycmVudFN0YXRlSW5kZXhdLnN0YXRlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24udHlwZSA9PT0gUmVkdXhEZXZ0b29sc0FjdGlvblR5cGUuQWN0aW9uKSB7XHJcbiAgICAgIGNvbnN0IGFjdGlvblBheWxvYWQgPSBKU09OLnBhcnNlKGFjdGlvbi5wYXlsb2FkKTtcclxuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb25QYXlsb2FkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29ubmVjdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5nbG9iYWxEZXZ0b29scyB8fCB0aGlzLl9vcHRpb25zLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUaGUgYGNvbm5lY3RgIG1ldGhvZCBhZGRzIGBtZXNzYWdlYCBldmVudCBsaXN0ZW5lciBzaW5jZSBpdCBjb21tdW5pY2F0ZXNcclxuICAgIC8vIHdpdGggYW4gZXh0ZW5zaW9uIHRocm91Z2ggYHdpbmRvdy5wb3N0TWVzc2FnZWAgYW5kIG1lc3NhZ2UgZXZlbnRzLlxyXG4gICAgLy8gV2UgaGFuZGxlIG9ubHkgMiBldmVudHM7IHRodXMsIHdlIGRvbid0IHdhbnQgdG8gcnVuIG1hbnkgY2hhbmdlIGRldGVjdGlvbnNcclxuICAgIC8vIGJlY2F1c2UgdGhlIGV4dGVuc2lvbiBzZW5kcyBldmVudHMgdGhhdCB3ZSBkb24ndCBoYXZlIHRvIGhhbmRsZS5cclxuICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24gPSB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoXHJcbiAgICAgICgpID0+IDxOZ3hzRGV2dG9vbHNFeHRlbnNpb24+dGhpcy5nbG9iYWxEZXZ0b29scy5jb25uZWN0KHRoaXMuX29wdGlvbnMpXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMudW5zdWJzY3JpYmUgPSB0aGlzLmRldnRvb2xzRXh0ZW5zaW9uLnN1YnNjcmliZShhY3Rpb24gPT4ge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgYWN0aW9uLnR5cGUgPT09IFJlZHV4RGV2dG9vbHNBY3Rpb25UeXBlLkRpc3BhdGNoIHx8XHJcbiAgICAgICAgYWN0aW9uLnR5cGUgPT09IFJlZHV4RGV2dG9vbHNBY3Rpb25UeXBlLkFjdGlvblxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hlZChhY3Rpb24pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
package/esm2015/src/symbols.js
CHANGED
|
@@ -75,4 +75,4 @@ if (false) {
|
|
|
75
75
|
}
|
|
76
76
|
/** @type {?} */
|
|
77
77
|
export const NGXS_DEVTOOLS_OPTIONS = new InjectionToken('NGXS_DEVTOOLS_OPTIONS');
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2RldnRvb2xzLXBsdWdpbi8iLCJzb3VyY2VzIjpbInNyYy9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUsvQywyQ0FJQzs7Ozs7O0lBSEMsNERBQXVCOzs7Ozs7SUFDdkIsb0VBQXFDOzs7OztJQUNyQyw4REFBbUU7Ozs7O0FBR3JFLHdDQU1DOzs7SUFMQyxrQ0FBYTs7SUFDYixxQ0FBYTs7SUFDYixtQ0FBVzs7SUFDWCxnQ0FBVzs7SUFDWCxvQ0FBZTs7Ozs7QUFHakIseUNBeUJDOzs7Ozs7SUFyQkMsbUNBQWM7Ozs7O0lBS2QsdUNBQW1COzs7OztJQUtuQixxQ0FBZ0I7Ozs7O0lBS2hCLDhDQUF3Qzs7Ozs7SUFLeEMsNkNBQXNDOzs7QUFHeEMsTUFBTSxPQUFPLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFDLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBJbnRlcmZhY2UgZm9yIHRoZSByZWR1eC1kZXZ0b29scy1leHRlbnNpb24gQVBJLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBOZ3hzRGV2dG9vbHNFeHRlbnNpb24ge1xyXG4gIGluaXQoc3RhdGU6IGFueSk6IHZvaWQ7XHJcbiAgc2VuZChhY3Rpb246IGFueSwgc3RhdGU/OiBhbnkpOiB2b2lkO1xyXG4gIHN1YnNjcmliZShmbjogKG1lc3NhZ2U6IE5neHNEZXZ0b29sc0FjdGlvbikgPT4gdm9pZCk6IFZvaWRGdW5jdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOZ3hzRGV2dG9vbHNBY3Rpb24ge1xyXG4gIHR5cGU6IHN0cmluZztcclxuICBwYXlsb2FkOiBhbnk7XHJcbiAgc3RhdGU6IGFueTtcclxuICBpZDogbnVtYmVyO1xyXG4gIHNvdXJjZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5neHNEZXZ0b29sc09wdGlvbnMge1xyXG4gIC8qKlxyXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBleHRlbnNpb25cclxuICAgKi9cclxuICBuYW1lPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBkZXYgdG9vbHMgaXMgZW5hYmxlZCBvciBub3RlLiBVc2VmdWwgZm9yIHNldHRpbmcgZHVyaW5nIHByb2R1Y3Rpb24uXHJcbiAgICovXHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBNYXggbnVtYmVyIG9mIGVudGlyaWVzIHRvIGtlZXAuXHJcbiAgICovXHJcbiAgbWF4QWdlPzogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBSZWZvcm1hdCBhY3Rpb25zIGJlZm9yZSBzZW5kaW5nIHRvIGRldiB0b29sc1xyXG4gICAqL1xyXG4gIGFjdGlvblNhbml0aXplcj86IChhY3Rpb246IGFueSkgPT4gdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVmb3JtYXQgc3RhdGUgYmVmb3JlIHNlbmRpbmcgdG8gZGV2dG9vbHNcclxuICAgKi9cclxuICBzdGF0ZVNhbml0aXplcj86IChzdGF0ZTogYW55KSA9PiB2b2lkO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgTkdYU19ERVZUT09MU19PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKCdOR1hTX0RFVlRPT0xTX09QVElPTlMnKTtcclxuIl19
|
|
@@ -3,32 +3,50 @@
|
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
|
-
import { Inject, Injectable, Injector } from '@angular/core';
|
|
6
|
+
import { Inject, Injectable, Injector, NgZone, ɵglobal } from '@angular/core';
|
|
7
7
|
import { getActionTypeFromInstance, Store } from '@ngxs/store';
|
|
8
8
|
import { tap, catchError } from 'rxjs/operators';
|
|
9
9
|
import { NGXS_DEVTOOLS_OPTIONS } from './symbols';
|
|
10
|
+
/** @enum {string} */
|
|
11
|
+
var ReduxDevtoolsActionType = {
|
|
12
|
+
Dispatch: 'DISPATCH',
|
|
13
|
+
Action: 'ACTION',
|
|
14
|
+
};
|
|
15
|
+
/** @enum {string} */
|
|
16
|
+
var ReduxDevtoolsPayloadType = {
|
|
17
|
+
JumpToAction: 'JUMP_TO_ACTION',
|
|
18
|
+
JumpToState: 'JUMP_TO_STATE',
|
|
19
|
+
ToggleAction: 'TOGGLE_ACTION',
|
|
20
|
+
ImportState: 'IMPORT_STATE',
|
|
21
|
+
};
|
|
10
22
|
/**
|
|
11
23
|
* Adds support for the Redux Devtools extension:
|
|
12
24
|
* http://extension.remotedev.io/
|
|
13
25
|
*/
|
|
14
26
|
var NgxsReduxDevtoolsPlugin = /** @class */ (function () {
|
|
15
|
-
function NgxsReduxDevtoolsPlugin(_options, _injector) {
|
|
16
|
-
var _this = this;
|
|
27
|
+
function NgxsReduxDevtoolsPlugin(_options, _injector, _ngZone) {
|
|
17
28
|
this._options = _options;
|
|
18
29
|
this._injector = _injector;
|
|
30
|
+
this._ngZone = _ngZone;
|
|
19
31
|
this.devtoolsExtension = null;
|
|
20
|
-
this.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (globalDevtools) {
|
|
24
|
-
this.devtoolsExtension = (/** @type {?} */ (globalDevtools.connect(_options)));
|
|
25
|
-
this.devtoolsExtension.subscribe((/**
|
|
26
|
-
* @param {?} a
|
|
27
|
-
* @return {?}
|
|
28
|
-
*/
|
|
29
|
-
function (a) { return _this.dispatched(a); }));
|
|
30
|
-
}
|
|
32
|
+
this.globalDevtools = ɵglobal['__REDUX_DEVTOOLS_EXTENSION__'] || ɵglobal['devToolsExtension'];
|
|
33
|
+
this.unsubscribe = null;
|
|
34
|
+
this.connect();
|
|
31
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* @return {?}
|
|
38
|
+
*/
|
|
39
|
+
NgxsReduxDevtoolsPlugin.prototype.ngOnDestroy = /**
|
|
40
|
+
* @return {?}
|
|
41
|
+
*/
|
|
42
|
+
function () {
|
|
43
|
+
if (this.unsubscribe !== null) {
|
|
44
|
+
this.unsubscribe();
|
|
45
|
+
}
|
|
46
|
+
if (this.globalDevtools) {
|
|
47
|
+
this.globalDevtools.disconnect();
|
|
48
|
+
}
|
|
49
|
+
};
|
|
32
50
|
Object.defineProperty(NgxsReduxDevtoolsPlugin.prototype, "store", {
|
|
33
51
|
/**
|
|
34
52
|
* Lazy get the store for circular dependency issues
|
|
@@ -63,9 +81,7 @@ var NgxsReduxDevtoolsPlugin = /** @class */ (function () {
|
|
|
63
81
|
*/
|
|
64
82
|
function (state, action, next) {
|
|
65
83
|
var _this = this;
|
|
66
|
-
|
|
67
|
-
var isDisabled = this._options && this._options.disabled;
|
|
68
|
-
if (!this.devtoolsExtension || isDisabled) {
|
|
84
|
+
if (!this.devtoolsExtension || this._options.disabled) {
|
|
69
85
|
return next(state, action);
|
|
70
86
|
}
|
|
71
87
|
return next(state, action).pipe(catchError((/**
|
|
@@ -127,17 +143,17 @@ var NgxsReduxDevtoolsPlugin = /** @class */ (function () {
|
|
|
127
143
|
*/
|
|
128
144
|
function (action) {
|
|
129
145
|
var _this = this;
|
|
130
|
-
if (action.type ===
|
|
131
|
-
if (action.payload.type ===
|
|
132
|
-
action.payload.type ===
|
|
146
|
+
if (action.type === "DISPATCH" /* Dispatch */) {
|
|
147
|
+
if (action.payload.type === "JUMP_TO_ACTION" /* JumpToAction */ ||
|
|
148
|
+
action.payload.type === "JUMP_TO_STATE" /* JumpToState */) {
|
|
133
149
|
/** @type {?} */
|
|
134
150
|
var prevState = JSON.parse(action.state);
|
|
135
151
|
this.store.reset(prevState);
|
|
136
152
|
}
|
|
137
|
-
else if (action.payload.type ===
|
|
153
|
+
else if (action.payload.type === "TOGGLE_ACTION" /* ToggleAction */) {
|
|
138
154
|
console.warn('Skip is not supported at this time.');
|
|
139
155
|
}
|
|
140
|
-
else if (action.payload.type ===
|
|
156
|
+
else if (action.payload.type === "IMPORT_STATE" /* ImportState */) {
|
|
141
157
|
var _a = action.payload.nextLiftedState, actionsById_1 = _a.actionsById, computedStates_1 = _a.computedStates, currentStateIndex = _a.currentStateIndex;
|
|
142
158
|
(/** @type {?} */ (this.devtoolsExtension)).init(computedStates_1[0].state);
|
|
143
159
|
Object.keys(actionsById_1)
|
|
@@ -156,19 +172,57 @@ var NgxsReduxDevtoolsPlugin = /** @class */ (function () {
|
|
|
156
172
|
this.store.reset(computedStates_1[currentStateIndex].state);
|
|
157
173
|
}
|
|
158
174
|
}
|
|
159
|
-
else if (action.type ===
|
|
175
|
+
else if (action.type === "ACTION" /* Action */) {
|
|
160
176
|
/** @type {?} */
|
|
161
177
|
var actionPayload = JSON.parse(action.payload);
|
|
162
178
|
this.store.dispatch(actionPayload);
|
|
163
179
|
}
|
|
164
180
|
};
|
|
181
|
+
/**
|
|
182
|
+
* @private
|
|
183
|
+
* @return {?}
|
|
184
|
+
*/
|
|
185
|
+
NgxsReduxDevtoolsPlugin.prototype.connect = /**
|
|
186
|
+
* @private
|
|
187
|
+
* @return {?}
|
|
188
|
+
*/
|
|
189
|
+
function () {
|
|
190
|
+
var _this = this;
|
|
191
|
+
if (!this.globalDevtools || this._options.disabled) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
// The `connect` method adds `message` event listener since it communicates
|
|
195
|
+
// with an extension through `window.postMessage` and message events.
|
|
196
|
+
// We handle only 2 events; thus, we don't want to run many change detections
|
|
197
|
+
// because the extension sends events that we don't have to handle.
|
|
198
|
+
this.devtoolsExtension = this._ngZone.runOutsideAngular((/**
|
|
199
|
+
* @return {?}
|
|
200
|
+
*/
|
|
201
|
+
function () { return (/** @type {?} */ (_this.globalDevtools.connect(_this._options))); }));
|
|
202
|
+
this.unsubscribe = this.devtoolsExtension.subscribe((/**
|
|
203
|
+
* @param {?} action
|
|
204
|
+
* @return {?}
|
|
205
|
+
*/
|
|
206
|
+
function (action) {
|
|
207
|
+
if (action.type === "DISPATCH" /* Dispatch */ ||
|
|
208
|
+
action.type === "ACTION" /* Action */) {
|
|
209
|
+
_this._ngZone.run((/**
|
|
210
|
+
* @return {?}
|
|
211
|
+
*/
|
|
212
|
+
function () {
|
|
213
|
+
_this.dispatched(action);
|
|
214
|
+
}));
|
|
215
|
+
}
|
|
216
|
+
}));
|
|
217
|
+
};
|
|
165
218
|
NgxsReduxDevtoolsPlugin.decorators = [
|
|
166
219
|
{ type: Injectable }
|
|
167
220
|
];
|
|
168
221
|
/** @nocollapse */
|
|
169
222
|
NgxsReduxDevtoolsPlugin.ctorParameters = function () { return [
|
|
170
223
|
{ type: undefined, decorators: [{ type: Inject, args: [NGXS_DEVTOOLS_OPTIONS,] }] },
|
|
171
|
-
{ type: Injector }
|
|
224
|
+
{ type: Injector },
|
|
225
|
+
{ type: NgZone }
|
|
172
226
|
]; };
|
|
173
227
|
return NgxsReduxDevtoolsPlugin;
|
|
174
228
|
}());
|
|
@@ -183,7 +237,12 @@ if (false) {
|
|
|
183
237
|
* @type {?}
|
|
184
238
|
* @private
|
|
185
239
|
*/
|
|
186
|
-
NgxsReduxDevtoolsPlugin.prototype.
|
|
240
|
+
NgxsReduxDevtoolsPlugin.prototype.globalDevtools;
|
|
241
|
+
/**
|
|
242
|
+
* @type {?}
|
|
243
|
+
* @private
|
|
244
|
+
*/
|
|
245
|
+
NgxsReduxDevtoolsPlugin.prototype.unsubscribe;
|
|
187
246
|
/**
|
|
188
247
|
* @type {?}
|
|
189
248
|
* @private
|
|
@@ -194,5 +253,10 @@ if (false) {
|
|
|
194
253
|
* @private
|
|
195
254
|
*/
|
|
196
255
|
NgxsReduxDevtoolsPlugin.prototype._injector;
|
|
256
|
+
/**
|
|
257
|
+
* @type {?}
|
|
258
|
+
* @private
|
|
259
|
+
*/
|
|
260
|
+
NgxsReduxDevtoolsPlugin.prototype._ngZone;
|
|
197
261
|
}
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2dG9vbHMucGx1Z2luLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvZGV2dG9vbHMtcGx1Z2luLyIsInNvdXJjZXMiOlsic3JjL2RldnRvb2xzLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUseUJBQXlCLEVBQWdDLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3RixPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFDTCxxQkFBcUIsRUFJdEIsTUFBTSxXQUFXLENBQUM7Ozs7O0FBTW5CO0lBS0UsaUNBQ3lDLFFBQTZCLEVBQzVELFNBQW1CO1FBRjdCLGlCQVVDO1FBVHdDLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQzVELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFMWixzQkFBaUIsR0FBaUMsSUFBSSxDQUFDO1FBQ3ZELGNBQVMsR0FBUSxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDOztZQU10RSxjQUFjLEdBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDO1FBQ3ZGLElBQUksY0FBYyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxtQkFBQSxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUF5QixDQUFDO1lBQ25GLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTOzs7O1lBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxLQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFsQixDQUFrQixFQUFDLENBQUM7U0FDM0Q7SUFDSCxDQUFDO0lBS0Qsc0JBQVksMENB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T0FBQSxtQkFBQSxLQUFJLENBQUMsaUJBQWlCLEVBQUMsQ0FBQyxJQUFJLENBQUMsYUFBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGdCQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUFuRixDQUFtRixFQUNwRixDQUFDO2dCQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGdCQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMzRDtTQUNGO2FBQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTs7Z0JBQzdCLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDOztnQkF2RkYsVUFBVTs7OztnREFNTixNQUFNLFNBQUMscUJBQXFCO2dCQXJCSixRQUFROztJQXVHckMsOEJBQUM7Q0FBQSxBQXhGRCxJQXdGQztTQXZGWSx1QkFBdUI7Ozs7OztJQUNsQyxvREFBd0U7Ozs7O0lBQ3hFLDRDQUE4RTs7Ozs7SUFHNUUsMkNBQW9FOzs7OztJQUNwRSw0Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UsIE5neHNOZXh0UGx1Z2luRm4sIE5neHNQbHVnaW4sIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xyXG5pbXBvcnQgeyB0YXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIE5HWFNfREVWVE9PTFNfT1BUSU9OUyxcclxuICBOZ3hzRGV2dG9vbHNBY3Rpb24sXHJcbiAgTmd4c0RldnRvb2xzRXh0ZW5zaW9uLFxyXG4gIE5neHNEZXZ0b29sc09wdGlvbnNcclxufSBmcm9tICcuL3N5bWJvbHMnO1xyXG5cclxuLyoqXHJcbiAqIEFkZHMgc3VwcG9ydCBmb3IgdGhlIFJlZHV4IERldnRvb2xzIGV4dGVuc2lvbjpcclxuICogaHR0cDovL2V4dGVuc2lvbi5yZW1vdGVkZXYuaW8vXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOZ3hzUmVkdXhEZXZ0b29sc1BsdWdpbiBpbXBsZW1lbnRzIE5neHNQbHVnaW4ge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGV2dG9vbHNFeHRlbnNpb246IE5neHNEZXZ0b29sc0V4dGVuc2lvbiB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgd2luZG93T2JqOiBhbnkgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTkdYU19ERVZUT09MU19PUFRJT05TKSBwcml2YXRlIF9vcHRpb25zOiBOZ3hzRGV2dG9vbHNPcHRpb25zLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7XHJcbiAgICBjb25zdCBnbG9iYWxEZXZ0b29scyA9XHJcbiAgICAgIHRoaXMud2luZG93T2JqWydfX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fJ10gfHwgdGhpcy53aW5kb3dPYmpbJ2RldlRvb2xzRXh0ZW5zaW9uJ107XHJcbiAgICBpZiAoZ2xvYmFsRGV2dG9vbHMpIHtcclxuICAgICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiA9IGdsb2JhbERldnRvb2xzLmNvbm5lY3QoX29wdGlvbnMpIGFzIE5neHNEZXZ0b29sc0V4dGVuc2lvbjtcclxuICAgICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbi5zdWJzY3JpYmUoYSA9PiB0aGlzLmRpc3BhdGNoZWQoYSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTGF6eSBnZXQgdGhlIHN0b3JlIGZvciBjaXJjdWxhciBkZXBlbmRlbmN5IGlzc3Vlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0IHN0b3JlKCk6IFN0b3JlIHtcclxuICAgIHJldHVybiB0aGlzLl9pbmplY3Rvci5nZXQ8U3RvcmU+KFN0b3JlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1pZGRsZXdhcmUgaGFuZGxlIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgaGFuZGxlKHN0YXRlOiBhbnksIGFjdGlvbjogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKSB7XHJcbiAgICBjb25zdCBpc0Rpc2FibGVkID0gdGhpcy5fb3B0aW9ucyAmJiB0aGlzLl9vcHRpb25zLmRpc2FibGVkO1xyXG4gICAgaWYgKCF0aGlzLmRldnRvb2xzRXh0ZW5zaW9uIHx8IGlzRGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuIG5leHQoc3RhdGUsIGFjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5leHQoc3RhdGUsIGFjdGlvbikucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSB0aGlzLnN0b3JlLnNuYXBzaG90KCk7XHJcbiAgICAgICAgdGhpcy5zZW5kVG9EZXZUb29scyhzdGF0ZSwgYWN0aW9uLCBuZXdTdGF0ZSk7XHJcbiAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAobmV3U3RhdGUgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VuZFRvRGV2VG9vbHMoc3RhdGUsIGFjdGlvbiwgbmV3U3RhdGUpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VuZFRvRGV2VG9vbHMoc3RhdGU6IGFueSwgYWN0aW9uOiBhbnksIG5ld1N0YXRlOiBhbnkpIHtcclxuICAgIGNvbnN0IHR5cGUgPSBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKGFjdGlvbik7XHJcbiAgICAvLyBpZiBpbml0IGFjdGlvbiwgc2VuZCBpbml0aWFsIHN0YXRlIHRvIGRldiB0b29sc1xyXG4gICAgY29uc3QgaXNJbml0QWN0aW9uID0gdHlwZSA9PT0gJ0BASU5JVCc7XHJcbiAgICBpZiAoaXNJbml0QWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24hLmluaXQoc3RhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiEuc2VuZCh7IC4uLmFjdGlvbiwgYWN0aW9uOiBudWxsLCB0eXBlIH0sIG5ld1N0YXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSB0aGUgYWN0aW9uIGZyb20gdGhlIGRldiB0b29scyBzdWJzY3JpcHRpb25cclxuICAgKi9cclxuICBkaXNwYXRjaGVkKGFjdGlvbjogTmd4c0RldnRvb2xzQWN0aW9uKSB7XHJcbiAgICBpZiAoYWN0aW9uLnR5cGUgPT09ICdESVNQQVRDSCcpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGFjdGlvbi5wYXlsb2FkLnR5cGUgPT09ICdKVU1QX1RPX0FDVElPTicgfHxcclxuICAgICAgICBhY3Rpb24ucGF5bG9hZC50eXBlID09PSAnSlVNUF9UT19TVEFURSdcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29uc3QgcHJldlN0YXRlID0gSlNPTi5wYXJzZShhY3Rpb24uc3RhdGUpO1xyXG4gICAgICAgIHRoaXMuc3RvcmUucmVzZXQocHJldlN0YXRlKTtcclxuICAgICAgfSBlbHNlIGlmIChhY3Rpb24ucGF5bG9hZC50eXBlID09PSAnVE9HR0xFX0FDVElPTicpIHtcclxuICAgICAgICBjb25zb2xlLndhcm4oJ1NraXAgaXMgbm90IHN1cHBvcnRlZCBhdCB0aGlzIHRpbWUuJyk7XHJcbiAgICAgIH0gZWxzZSBpZiAoYWN0aW9uLnBheWxvYWQudHlwZSA9PT0gJ0lNUE9SVF9TVEFURScpIHtcclxuICAgICAgICBjb25zdCB7XHJcbiAgICAgICAgICBhY3Rpb25zQnlJZCxcclxuICAgICAgICAgIGNvbXB1dGVkU3RhdGVzLFxyXG4gICAgICAgICAgY3VycmVudFN0YXRlSW5kZXhcclxuICAgICAgICB9ID0gYWN0aW9uLnBheWxvYWQubmV4dExpZnRlZFN0YXRlO1xyXG4gICAgICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24hLmluaXQoY29tcHV0ZWRTdGF0ZXNbMF0uc3RhdGUpO1xyXG4gICAgICAgIE9iamVjdC5rZXlzKGFjdGlvbnNCeUlkKVxyXG4gICAgICAgICAgLmZpbHRlcihhY3Rpb25JZCA9PiBhY3Rpb25JZCAhPT0gJzAnKVxyXG4gICAgICAgICAgLmZvckVhY2goYWN0aW9uSWQgPT5cclxuICAgICAgICAgICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiEuc2VuZChhY3Rpb25zQnlJZFthY3Rpb25JZF0sIGNvbXB1dGVkU3RhdGVzW2FjdGlvbklkXS5zdGF0ZSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5zdG9yZS5yZXNldChjb21wdXRlZFN0YXRlc1tjdXJyZW50U3RhdGVJbmRleF0uc3RhdGUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGFjdGlvbi50eXBlID09PSAnQUNUSU9OJykge1xyXG4gICAgICBjb25zdCBhY3Rpb25QYXlsb2FkID0gSlNPTi5wYXJzZShhY3Rpb24ucGF5bG9hZCk7XHJcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uUGF5bG9hZCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
262
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2dG9vbHMucGx1Z2luLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvZGV2dG9vbHMtcGx1Z2luLyIsInNvdXJjZXMiOlsic3JjL2RldnRvb2xzLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQWEsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBZ0MsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUNMLHFCQUFxQixFQUl0QixNQUFNLFdBQVcsQ0FBQzs7O0lBR2pCLFVBQVcsVUFBVTtJQUNyQixRQUFTLFFBQVE7Ozs7SUFJakIsY0FBZSxnQkFBZ0I7SUFDL0IsYUFBYyxlQUFlO0lBQzdCLGNBQWUsZUFBZTtJQUM5QixhQUFjLGNBQWM7Ozs7OztBQU85QjtJQVFFLGlDQUN5QyxRQUE2QixFQUM1RCxTQUFtQixFQUNuQixPQUFlO1FBRmdCLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQzVELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQVRqQixzQkFBaUIsR0FBaUMsSUFBSSxDQUFDO1FBQzlDLG1CQUFjLEdBQzdCLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWxFLGdCQUFXLEdBQXdCLElBQUksQ0FBQztRQU85QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7OztJQUVELDZDQUFXOzs7SUFBWDtRQUNFLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxJQUFJLENB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O29CQUNmLEtBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFCLENBQUMsRUFBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7O2dCQXZIRixVQUFVOzs7O2dEQVNOLE1BQU0sU0FBQyxxQkFBcUI7Z0JBcENKLFFBQVE7Z0JBQUUsTUFBTTs7SUFtSjdDLDhCQUFDO0NBQUEsQUF4SEQsSUF3SEM7U0F2SFksdUJBQXVCOzs7Ozs7SUFDbEMsb0RBQStEOzs7OztJQUMvRCxpREFDMEU7Ozs7O0lBRTFFLDhDQUFnRDs7Ozs7SUFHOUMsMkNBQW9FOzs7OztJQUNwRSw0Q0FBMkI7Ozs7O0lBQzNCLDBDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nWm9uZSwgT25EZXN0cm95LCDJtWdsb2JhbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlLCBOZ3hzTmV4dFBsdWdpbkZuLCBOZ3hzUGx1Z2luLCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcclxuaW1wb3J0IHsgdGFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHtcclxuICBOR1hTX0RFVlRPT0xTX09QVElPTlMsXHJcbiAgTmd4c0RldnRvb2xzQWN0aW9uLFxyXG4gIE5neHNEZXZ0b29sc0V4dGVuc2lvbixcclxuICBOZ3hzRGV2dG9vbHNPcHRpb25zXHJcbn0gZnJvbSAnLi9zeW1ib2xzJztcclxuXHJcbmNvbnN0IGVudW0gUmVkdXhEZXZ0b29sc0FjdGlvblR5cGUge1xyXG4gIERpc3BhdGNoID0gJ0RJU1BBVENIJyxcclxuICBBY3Rpb24gPSAnQUNUSU9OJ1xyXG59XHJcblxyXG5jb25zdCBlbnVtIFJlZHV4RGV2dG9vbHNQYXlsb2FkVHlwZSB7XHJcbiAgSnVtcFRvQWN0aW9uID0gJ0pVTVBfVE9fQUNUSU9OJyxcclxuICBKdW1wVG9TdGF0ZSA9ICdKVU1QX1RPX1NUQVRFJyxcclxuICBUb2dnbGVBY3Rpb24gPSAnVE9HR0xFX0FDVElPTicsXHJcbiAgSW1wb3J0U3RhdGUgPSAnSU1QT1JUX1NUQVRFJ1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcyBzdXBwb3J0IGZvciB0aGUgUmVkdXggRGV2dG9vbHMgZXh0ZW5zaW9uOlxyXG4gKiBodHRwOi8vZXh0ZW5zaW9uLnJlbW90ZWRldi5pby9cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5neHNSZWR1eERldnRvb2xzUGx1Z2luIGltcGxlbWVudHMgT25EZXN0cm95LCBOZ3hzUGx1Z2luIHtcclxuICBwcml2YXRlIGRldnRvb2xzRXh0ZW5zaW9uOiBOZ3hzRGV2dG9vbHNFeHRlbnNpb24gfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIHJlYWRvbmx5IGdsb2JhbERldnRvb2xzID1cclxuICAgIMm1Z2xvYmFsWydfX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fJ10gfHwgybVnbG9iYWxbJ2RldlRvb2xzRXh0ZW5zaW9uJ107XHJcblxyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFZvaWRGdW5jdGlvbiB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTkdYU19ERVZUT09MU19PUFRJT05TKSBwcml2YXRlIF9vcHRpb25zOiBOZ3hzRGV2dG9vbHNPcHRpb25zLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmVcclxuICApIHtcclxuICAgIHRoaXMuY29ubmVjdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy51bnN1YnNjcmliZSAhPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5nbG9iYWxEZXZ0b29scykge1xyXG4gICAgICB0aGlzLmdsb2JhbERldnRvb2xzLmRpc2Nvbm5lY3QoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExhenkgZ2V0IHRoZSBzdG9yZSBmb3IgY2lyY3VsYXIgZGVwZW5kZW5jeSBpc3N1ZXNcclxuICAgKi9cclxuICBwcml2YXRlIGdldCBzdG9yZSgpOiBTdG9yZSB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5qZWN0b3IuZ2V0PFN0b3JlPihTdG9yZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNaWRkbGV3YXJlIGhhbmRsZSBmdW5jdGlvblxyXG4gICAqL1xyXG4gIGhhbmRsZShzdGF0ZTogYW55LCBhY3Rpb246IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5Gbikge1xyXG4gICAgaWYgKCF0aGlzLmRldnRvb2xzRXh0ZW5zaW9uIHx8IHRoaXMuX29wdGlvbnMuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuIG5leHQoc3RhdGUsIGFjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5leHQoc3RhdGUsIGFjdGlvbikucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSB0aGlzLnN0b3JlLnNuYXBzaG90KCk7XHJcbiAgICAgICAgdGhpcy5zZW5kVG9EZXZUb29scyhzdGF0ZSwgYWN0aW9uLCBuZXdTdGF0ZSk7XHJcbiAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAobmV3U3RhdGUgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VuZFRvRGV2VG9vbHMoc3RhdGUsIGFjdGlvbiwgbmV3U3RhdGUpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VuZFRvRGV2VG9vbHMoc3RhdGU6IGFueSwgYWN0aW9uOiBhbnksIG5ld1N0YXRlOiBhbnkpIHtcclxuICAgIGNvbnN0IHR5cGUgPSBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKGFjdGlvbik7XHJcbiAgICAvLyBpZiBpbml0IGFjdGlvbiwgc2VuZCBpbml0aWFsIHN0YXRlIHRvIGRldiB0b29sc1xyXG4gICAgY29uc3QgaXNJbml0QWN0aW9uID0gdHlwZSA9PT0gJ0BASU5JVCc7XHJcbiAgICBpZiAoaXNJbml0QWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24hLmluaXQoc3RhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiEuc2VuZCh7IC4uLmFjdGlvbiwgYWN0aW9uOiBudWxsLCB0eXBlIH0sIG5ld1N0YXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSB0aGUgYWN0aW9uIGZyb20gdGhlIGRldiB0b29scyBzdWJzY3JpcHRpb25cclxuICAgKi9cclxuICBkaXNwYXRjaGVkKGFjdGlvbjogTmd4c0RldnRvb2xzQWN0aW9uKSB7XHJcbiAgICBpZiAoYWN0aW9uLnR5cGUgPT09IFJlZHV4RGV2dG9vbHNBY3Rpb25UeXBlLkRpc3BhdGNoKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBhY3Rpb24ucGF5bG9hZC50eXBlID09PSBSZWR1eERldnRvb2xzUGF5bG9hZFR5cGUuSnVtcFRvQWN0aW9uIHx8XHJcbiAgICAgICAgYWN0aW9uLnBheWxvYWQudHlwZSA9PT0gUmVkdXhEZXZ0b29sc1BheWxvYWRUeXBlLkp1bXBUb1N0YXRlXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IEpTT04ucGFyc2UoYWN0aW9uLnN0YXRlKTtcclxuICAgICAgICB0aGlzLnN0b3JlLnJlc2V0KHByZXZTdGF0ZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoYWN0aW9uLnBheWxvYWQudHlwZSA9PT0gUmVkdXhEZXZ0b29sc1BheWxvYWRUeXBlLlRvZ2dsZUFjdGlvbikge1xyXG4gICAgICAgIGNvbnNvbGUud2FybignU2tpcCBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZS4nKTtcclxuICAgICAgfSBlbHNlIGlmIChhY3Rpb24ucGF5bG9hZC50eXBlID09PSBSZWR1eERldnRvb2xzUGF5bG9hZFR5cGUuSW1wb3J0U3RhdGUpIHtcclxuICAgICAgICBjb25zdCB7XHJcbiAgICAgICAgICBhY3Rpb25zQnlJZCxcclxuICAgICAgICAgIGNvbXB1dGVkU3RhdGVzLFxyXG4gICAgICAgICAgY3VycmVudFN0YXRlSW5kZXhcclxuICAgICAgICB9ID0gYWN0aW9uLnBheWxvYWQubmV4dExpZnRlZFN0YXRlO1xyXG4gICAgICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24hLmluaXQoY29tcHV0ZWRTdGF0ZXNbMF0uc3RhdGUpO1xyXG4gICAgICAgIE9iamVjdC5rZXlzKGFjdGlvbnNCeUlkKVxyXG4gICAgICAgICAgLmZpbHRlcihhY3Rpb25JZCA9PiBhY3Rpb25JZCAhPT0gJzAnKVxyXG4gICAgICAgICAgLmZvckVhY2goYWN0aW9uSWQgPT5cclxuICAgICAgICAgICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiEuc2VuZChhY3Rpb25zQnlJZFthY3Rpb25JZF0sIGNvbXB1dGVkU3RhdGVzW2FjdGlvbklkXS5zdGF0ZSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5zdG9yZS5yZXNldChjb21wdXRlZFN0YXRlc1tjdXJyZW50U3RhdGVJbmRleF0uc3RhdGUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGFjdGlvbi50eXBlID09PSBSZWR1eERldnRvb2xzQWN0aW9uVHlwZS5BY3Rpb24pIHtcclxuICAgICAgY29uc3QgYWN0aW9uUGF5bG9hZCA9IEpTT04ucGFyc2UoYWN0aW9uLnBheWxvYWQpO1xyXG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvblBheWxvYWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb25uZWN0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmdsb2JhbERldnRvb2xzIHx8IHRoaXMuX29wdGlvbnMuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoZSBgY29ubmVjdGAgbWV0aG9kIGFkZHMgYG1lc3NhZ2VgIGV2ZW50IGxpc3RlbmVyIHNpbmNlIGl0IGNvbW11bmljYXRlc1xyXG4gICAgLy8gd2l0aCBhbiBleHRlbnNpb24gdGhyb3VnaCBgd2luZG93LnBvc3RNZXNzYWdlYCBhbmQgbWVzc2FnZSBldmVudHMuXHJcbiAgICAvLyBXZSBoYW5kbGUgb25seSAyIGV2ZW50czsgdGh1cywgd2UgZG9uJ3Qgd2FudCB0byBydW4gbWFueSBjaGFuZ2UgZGV0ZWN0aW9uc1xyXG4gICAgLy8gYmVjYXVzZSB0aGUgZXh0ZW5zaW9uIHNlbmRzIGV2ZW50cyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gaGFuZGxlLlxyXG4gICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiA9IHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcihcclxuICAgICAgKCkgPT4gPE5neHNEZXZ0b29sc0V4dGVuc2lvbj50aGlzLmdsb2JhbERldnRvb2xzLmNvbm5lY3QodGhpcy5fb3B0aW9ucylcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy51bnN1YnNjcmliZSA9IHRoaXMuZGV2dG9vbHNFeHRlbnNpb24uc3Vic2NyaWJlKGFjdGlvbiA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBhY3Rpb24udHlwZSA9PT0gUmVkdXhEZXZ0b29sc0FjdGlvblR5cGUuRGlzcGF0Y2ggfHxcclxuICAgICAgICBhY3Rpb24udHlwZSA9PT0gUmVkdXhEZXZ0b29sc0FjdGlvblR5cGUuQWN0aW9uXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuX25nWm9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kaXNwYXRjaGVkKGFjdGlvbik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm5/src/symbols.js
CHANGED
|
@@ -75,4 +75,4 @@ if (false) {
|
|
|
75
75
|
}
|
|
76
76
|
/** @type {?} */
|
|
77
77
|
export var NGXS_DEVTOOLS_OPTIONS = new InjectionToken('NGXS_DEVTOOLS_OPTIONS');
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2RldnRvb2xzLXBsdWdpbi8iLCJzb3VyY2VzIjpbInNyYy9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUsvQywyQ0FJQzs7Ozs7O0lBSEMsNERBQXVCOzs7Ozs7SUFDdkIsb0VBQXFDOzs7OztJQUNyQyw4REFBbUU7Ozs7O0FBR3JFLHdDQU1DOzs7SUFMQyxrQ0FBYTs7SUFDYixxQ0FBYTs7SUFDYixtQ0FBVzs7SUFDWCxnQ0FBVzs7SUFDWCxvQ0FBZTs7Ozs7QUFHakIseUNBeUJDOzs7Ozs7SUFyQkMsbUNBQWM7Ozs7O0lBS2QsdUNBQW1COzs7OztJQUtuQixxQ0FBZ0I7Ozs7O0lBS2hCLDhDQUF3Qzs7Ozs7SUFLeEMsNkNBQXNDOzs7QUFHeEMsTUFBTSxLQUFPLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFDLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBJbnRlcmZhY2UgZm9yIHRoZSByZWR1eC1kZXZ0b29scy1leHRlbnNpb24gQVBJLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBOZ3hzRGV2dG9vbHNFeHRlbnNpb24ge1xyXG4gIGluaXQoc3RhdGU6IGFueSk6IHZvaWQ7XHJcbiAgc2VuZChhY3Rpb246IGFueSwgc3RhdGU/OiBhbnkpOiB2b2lkO1xyXG4gIHN1YnNjcmliZShmbjogKG1lc3NhZ2U6IE5neHNEZXZ0b29sc0FjdGlvbikgPT4gdm9pZCk6IFZvaWRGdW5jdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOZ3hzRGV2dG9vbHNBY3Rpb24ge1xyXG4gIHR5cGU6IHN0cmluZztcclxuICBwYXlsb2FkOiBhbnk7XHJcbiAgc3RhdGU6IGFueTtcclxuICBpZDogbnVtYmVyO1xyXG4gIHNvdXJjZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5neHNEZXZ0b29sc09wdGlvbnMge1xyXG4gIC8qKlxyXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBleHRlbnNpb25cclxuICAgKi9cclxuICBuYW1lPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBkZXYgdG9vbHMgaXMgZW5hYmxlZCBvciBub3RlLiBVc2VmdWwgZm9yIHNldHRpbmcgZHVyaW5nIHByb2R1Y3Rpb24uXHJcbiAgICovXHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBNYXggbnVtYmVyIG9mIGVudGlyaWVzIHRvIGtlZXAuXHJcbiAgICovXHJcbiAgbWF4QWdlPzogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBSZWZvcm1hdCBhY3Rpb25zIGJlZm9yZSBzZW5kaW5nIHRvIGRldiB0b29sc1xyXG4gICAqL1xyXG4gIGFjdGlvblNhbml0aXplcj86IChhY3Rpb246IGFueSkgPT4gdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVmb3JtYXQgc3RhdGUgYmVmb3JlIHNlbmRpbmcgdG8gZGV2dG9vbHNcclxuICAgKi9cclxuICBzdGF0ZVNhbml0aXplcj86IChzdGF0ZTogYW55KSA9PiB2b2lkO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgTkdYU19ERVZUT09MU19PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKCdOR1hTX0RFVlRPT0xTX09QVElPTlMnKTtcclxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InjectionToken, Injectable, Inject, Injector, NgModule } from '@angular/core';
|
|
1
|
+
import { InjectionToken, ɵglobal, Injectable, Inject, Injector, NgZone, NgModule } from '@angular/core';
|
|
2
2
|
import { Store, getActionTypeFromInstance, NGXS_PLUGINS } from '@ngxs/store';
|
|
3
3
|
import { catchError, tap } from 'rxjs/operators';
|
|
4
4
|
|
|
@@ -83,6 +83,18 @@ const NGXS_DEVTOOLS_OPTIONS = new InjectionToken('NGXS_DEVTOOLS_OPTIONS');
|
|
|
83
83
|
* @fileoverview added by tsickle
|
|
84
84
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
85
85
|
*/
|
|
86
|
+
/** @enum {string} */
|
|
87
|
+
const ReduxDevtoolsActionType = {
|
|
88
|
+
Dispatch: 'DISPATCH',
|
|
89
|
+
Action: 'ACTION',
|
|
90
|
+
};
|
|
91
|
+
/** @enum {string} */
|
|
92
|
+
const ReduxDevtoolsPayloadType = {
|
|
93
|
+
JumpToAction: 'JUMP_TO_ACTION',
|
|
94
|
+
JumpToState: 'JUMP_TO_STATE',
|
|
95
|
+
ToggleAction: 'TOGGLE_ACTION',
|
|
96
|
+
ImportState: 'IMPORT_STATE',
|
|
97
|
+
};
|
|
86
98
|
/**
|
|
87
99
|
* Adds support for the Redux Devtools extension:
|
|
88
100
|
* http://extension.remotedev.io/
|
|
@@ -91,21 +103,26 @@ class NgxsReduxDevtoolsPlugin {
|
|
|
91
103
|
/**
|
|
92
104
|
* @param {?} _options
|
|
93
105
|
* @param {?} _injector
|
|
106
|
+
* @param {?} _ngZone
|
|
94
107
|
*/
|
|
95
|
-
constructor(_options, _injector) {
|
|
108
|
+
constructor(_options, _injector, _ngZone) {
|
|
96
109
|
this._options = _options;
|
|
97
110
|
this._injector = _injector;
|
|
111
|
+
this._ngZone = _ngZone;
|
|
98
112
|
this.devtoolsExtension = null;
|
|
99
|
-
this.
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
113
|
+
this.globalDevtools = ɵglobal['__REDUX_DEVTOOLS_EXTENSION__'] || ɵglobal['devToolsExtension'];
|
|
114
|
+
this.unsubscribe = null;
|
|
115
|
+
this.connect();
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* @return {?}
|
|
119
|
+
*/
|
|
120
|
+
ngOnDestroy() {
|
|
121
|
+
if (this.unsubscribe !== null) {
|
|
122
|
+
this.unsubscribe();
|
|
123
|
+
}
|
|
124
|
+
if (this.globalDevtools) {
|
|
125
|
+
this.globalDevtools.disconnect();
|
|
109
126
|
}
|
|
110
127
|
}
|
|
111
128
|
/**
|
|
@@ -124,9 +141,7 @@ class NgxsReduxDevtoolsPlugin {
|
|
|
124
141
|
* @return {?}
|
|
125
142
|
*/
|
|
126
143
|
handle(state, action, next) {
|
|
127
|
-
|
|
128
|
-
const isDisabled = this._options && this._options.disabled;
|
|
129
|
-
if (!this.devtoolsExtension || isDisabled) {
|
|
144
|
+
if (!this.devtoolsExtension || this._options.disabled) {
|
|
130
145
|
return next(state, action);
|
|
131
146
|
}
|
|
132
147
|
return next(state, action).pipe(catchError((/**
|
|
@@ -172,17 +187,17 @@ class NgxsReduxDevtoolsPlugin {
|
|
|
172
187
|
* @return {?}
|
|
173
188
|
*/
|
|
174
189
|
dispatched(action) {
|
|
175
|
-
if (action.type ===
|
|
176
|
-
if (action.payload.type ===
|
|
177
|
-
action.payload.type ===
|
|
190
|
+
if (action.type === "DISPATCH" /* Dispatch */) {
|
|
191
|
+
if (action.payload.type === "JUMP_TO_ACTION" /* JumpToAction */ ||
|
|
192
|
+
action.payload.type === "JUMP_TO_STATE" /* JumpToState */) {
|
|
178
193
|
/** @type {?} */
|
|
179
194
|
const prevState = JSON.parse(action.state);
|
|
180
195
|
this.store.reset(prevState);
|
|
181
196
|
}
|
|
182
|
-
else if (action.payload.type ===
|
|
197
|
+
else if (action.payload.type === "TOGGLE_ACTION" /* ToggleAction */) {
|
|
183
198
|
console.warn('Skip is not supported at this time.');
|
|
184
199
|
}
|
|
185
|
-
else if (action.payload.type ===
|
|
200
|
+
else if (action.payload.type === "IMPORT_STATE" /* ImportState */) {
|
|
186
201
|
const { actionsById, computedStates, currentStateIndex } = action.payload.nextLiftedState;
|
|
187
202
|
(/** @type {?} */ (this.devtoolsExtension)).init(computedStates[0].state);
|
|
188
203
|
Object.keys(actionsById)
|
|
@@ -199,12 +214,44 @@ class NgxsReduxDevtoolsPlugin {
|
|
|
199
214
|
this.store.reset(computedStates[currentStateIndex].state);
|
|
200
215
|
}
|
|
201
216
|
}
|
|
202
|
-
else if (action.type ===
|
|
217
|
+
else if (action.type === "ACTION" /* Action */) {
|
|
203
218
|
/** @type {?} */
|
|
204
219
|
const actionPayload = JSON.parse(action.payload);
|
|
205
220
|
this.store.dispatch(actionPayload);
|
|
206
221
|
}
|
|
207
222
|
}
|
|
223
|
+
/**
|
|
224
|
+
* @private
|
|
225
|
+
* @return {?}
|
|
226
|
+
*/
|
|
227
|
+
connect() {
|
|
228
|
+
if (!this.globalDevtools || this._options.disabled) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
// The `connect` method adds `message` event listener since it communicates
|
|
232
|
+
// with an extension through `window.postMessage` and message events.
|
|
233
|
+
// We handle only 2 events; thus, we don't want to run many change detections
|
|
234
|
+
// because the extension sends events that we don't have to handle.
|
|
235
|
+
this.devtoolsExtension = this._ngZone.runOutsideAngular((/**
|
|
236
|
+
* @return {?}
|
|
237
|
+
*/
|
|
238
|
+
() => (/** @type {?} */ (this.globalDevtools.connect(this._options)))));
|
|
239
|
+
this.unsubscribe = this.devtoolsExtension.subscribe((/**
|
|
240
|
+
* @param {?} action
|
|
241
|
+
* @return {?}
|
|
242
|
+
*/
|
|
243
|
+
action => {
|
|
244
|
+
if (action.type === "DISPATCH" /* Dispatch */ ||
|
|
245
|
+
action.type === "ACTION" /* Action */) {
|
|
246
|
+
this._ngZone.run((/**
|
|
247
|
+
* @return {?}
|
|
248
|
+
*/
|
|
249
|
+
() => {
|
|
250
|
+
this.dispatched(action);
|
|
251
|
+
}));
|
|
252
|
+
}
|
|
253
|
+
}));
|
|
254
|
+
}
|
|
208
255
|
}
|
|
209
256
|
NgxsReduxDevtoolsPlugin.decorators = [
|
|
210
257
|
{ type: Injectable }
|
|
@@ -212,7 +259,8 @@ NgxsReduxDevtoolsPlugin.decorators = [
|
|
|
212
259
|
/** @nocollapse */
|
|
213
260
|
NgxsReduxDevtoolsPlugin.ctorParameters = () => [
|
|
214
261
|
{ type: undefined, decorators: [{ type: Inject, args: [NGXS_DEVTOOLS_OPTIONS,] }] },
|
|
215
|
-
{ type: Injector }
|
|
262
|
+
{ type: Injector },
|
|
263
|
+
{ type: NgZone }
|
|
216
264
|
];
|
|
217
265
|
if (false) {
|
|
218
266
|
/**
|
|
@@ -224,7 +272,12 @@ if (false) {
|
|
|
224
272
|
* @type {?}
|
|
225
273
|
* @private
|
|
226
274
|
*/
|
|
227
|
-
NgxsReduxDevtoolsPlugin.prototype.
|
|
275
|
+
NgxsReduxDevtoolsPlugin.prototype.globalDevtools;
|
|
276
|
+
/**
|
|
277
|
+
* @type {?}
|
|
278
|
+
* @private
|
|
279
|
+
*/
|
|
280
|
+
NgxsReduxDevtoolsPlugin.prototype.unsubscribe;
|
|
228
281
|
/**
|
|
229
282
|
* @type {?}
|
|
230
283
|
* @private
|
|
@@ -235,6 +288,11 @@ if (false) {
|
|
|
235
288
|
* @private
|
|
236
289
|
*/
|
|
237
290
|
NgxsReduxDevtoolsPlugin.prototype._injector;
|
|
291
|
+
/**
|
|
292
|
+
* @type {?}
|
|
293
|
+
* @private
|
|
294
|
+
*/
|
|
295
|
+
NgxsReduxDevtoolsPlugin.prototype._ngZone;
|
|
238
296
|
}
|
|
239
297
|
|
|
240
298
|
/**
|