@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
|
@@ -304,28 +304,46 @@
|
|
|
304
304
|
* @fileoverview added by tsickle
|
|
305
305
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
306
306
|
*/
|
|
307
|
+
/** @enum {string} */
|
|
308
|
+
var ReduxDevtoolsActionType = {
|
|
309
|
+
Dispatch: 'DISPATCH',
|
|
310
|
+
Action: 'ACTION',
|
|
311
|
+
};
|
|
312
|
+
/** @enum {string} */
|
|
313
|
+
var ReduxDevtoolsPayloadType = {
|
|
314
|
+
JumpToAction: 'JUMP_TO_ACTION',
|
|
315
|
+
JumpToState: 'JUMP_TO_STATE',
|
|
316
|
+
ToggleAction: 'TOGGLE_ACTION',
|
|
317
|
+
ImportState: 'IMPORT_STATE',
|
|
318
|
+
};
|
|
307
319
|
/**
|
|
308
320
|
* Adds support for the Redux Devtools extension:
|
|
309
321
|
* http://extension.remotedev.io/
|
|
310
322
|
*/
|
|
311
323
|
var NgxsReduxDevtoolsPlugin = /** @class */ (function () {
|
|
312
|
-
function NgxsReduxDevtoolsPlugin(_options, _injector) {
|
|
313
|
-
var _this = this;
|
|
324
|
+
function NgxsReduxDevtoolsPlugin(_options, _injector, _ngZone) {
|
|
314
325
|
this._options = _options;
|
|
315
326
|
this._injector = _injector;
|
|
327
|
+
this._ngZone = _ngZone;
|
|
316
328
|
this.devtoolsExtension = null;
|
|
317
|
-
this.
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
if (globalDevtools) {
|
|
321
|
-
this.devtoolsExtension = (/** @type {?} */ (globalDevtools.connect(_options)));
|
|
322
|
-
this.devtoolsExtension.subscribe((/**
|
|
323
|
-
* @param {?} a
|
|
324
|
-
* @return {?}
|
|
325
|
-
*/
|
|
326
|
-
function (a) { return _this.dispatched(a); }));
|
|
327
|
-
}
|
|
329
|
+
this.globalDevtools = core.ɵglobal['__REDUX_DEVTOOLS_EXTENSION__'] || core.ɵglobal['devToolsExtension'];
|
|
330
|
+
this.unsubscribe = null;
|
|
331
|
+
this.connect();
|
|
328
332
|
}
|
|
333
|
+
/**
|
|
334
|
+
* @return {?}
|
|
335
|
+
*/
|
|
336
|
+
NgxsReduxDevtoolsPlugin.prototype.ngOnDestroy = /**
|
|
337
|
+
* @return {?}
|
|
338
|
+
*/
|
|
339
|
+
function () {
|
|
340
|
+
if (this.unsubscribe !== null) {
|
|
341
|
+
this.unsubscribe();
|
|
342
|
+
}
|
|
343
|
+
if (this.globalDevtools) {
|
|
344
|
+
this.globalDevtools.disconnect();
|
|
345
|
+
}
|
|
346
|
+
};
|
|
329
347
|
Object.defineProperty(NgxsReduxDevtoolsPlugin.prototype, "store", {
|
|
330
348
|
/**
|
|
331
349
|
* Lazy get the store for circular dependency issues
|
|
@@ -360,9 +378,7 @@
|
|
|
360
378
|
*/
|
|
361
379
|
function (state, action, next) {
|
|
362
380
|
var _this = this;
|
|
363
|
-
|
|
364
|
-
var isDisabled = this._options && this._options.disabled;
|
|
365
|
-
if (!this.devtoolsExtension || isDisabled) {
|
|
381
|
+
if (!this.devtoolsExtension || this._options.disabled) {
|
|
366
382
|
return next(state, action);
|
|
367
383
|
}
|
|
368
384
|
return next(state, action).pipe(operators.catchError((/**
|
|
@@ -424,17 +440,17 @@
|
|
|
424
440
|
*/
|
|
425
441
|
function (action) {
|
|
426
442
|
var _this = this;
|
|
427
|
-
if (action.type ===
|
|
428
|
-
if (action.payload.type ===
|
|
429
|
-
action.payload.type ===
|
|
443
|
+
if (action.type === "DISPATCH" /* Dispatch */) {
|
|
444
|
+
if (action.payload.type === "JUMP_TO_ACTION" /* JumpToAction */ ||
|
|
445
|
+
action.payload.type === "JUMP_TO_STATE" /* JumpToState */) {
|
|
430
446
|
/** @type {?} */
|
|
431
447
|
var prevState = JSON.parse(action.state);
|
|
432
448
|
this.store.reset(prevState);
|
|
433
449
|
}
|
|
434
|
-
else if (action.payload.type ===
|
|
450
|
+
else if (action.payload.type === "TOGGLE_ACTION" /* ToggleAction */) {
|
|
435
451
|
console.warn('Skip is not supported at this time.');
|
|
436
452
|
}
|
|
437
|
-
else if (action.payload.type ===
|
|
453
|
+
else if (action.payload.type === "IMPORT_STATE" /* ImportState */) {
|
|
438
454
|
var _a = action.payload.nextLiftedState, actionsById_1 = _a.actionsById, computedStates_1 = _a.computedStates, currentStateIndex = _a.currentStateIndex;
|
|
439
455
|
(/** @type {?} */ (this.devtoolsExtension)).init(computedStates_1[0].state);
|
|
440
456
|
Object.keys(actionsById_1)
|
|
@@ -453,19 +469,57 @@
|
|
|
453
469
|
this.store.reset(computedStates_1[currentStateIndex].state);
|
|
454
470
|
}
|
|
455
471
|
}
|
|
456
|
-
else if (action.type ===
|
|
472
|
+
else if (action.type === "ACTION" /* Action */) {
|
|
457
473
|
/** @type {?} */
|
|
458
474
|
var actionPayload = JSON.parse(action.payload);
|
|
459
475
|
this.store.dispatch(actionPayload);
|
|
460
476
|
}
|
|
461
477
|
};
|
|
478
|
+
/**
|
|
479
|
+
* @private
|
|
480
|
+
* @return {?}
|
|
481
|
+
*/
|
|
482
|
+
NgxsReduxDevtoolsPlugin.prototype.connect = /**
|
|
483
|
+
* @private
|
|
484
|
+
* @return {?}
|
|
485
|
+
*/
|
|
486
|
+
function () {
|
|
487
|
+
var _this = this;
|
|
488
|
+
if (!this.globalDevtools || this._options.disabled) {
|
|
489
|
+
return;
|
|
490
|
+
}
|
|
491
|
+
// The `connect` method adds `message` event listener since it communicates
|
|
492
|
+
// with an extension through `window.postMessage` and message events.
|
|
493
|
+
// We handle only 2 events; thus, we don't want to run many change detections
|
|
494
|
+
// because the extension sends events that we don't have to handle.
|
|
495
|
+
this.devtoolsExtension = this._ngZone.runOutsideAngular((/**
|
|
496
|
+
* @return {?}
|
|
497
|
+
*/
|
|
498
|
+
function () { return (/** @type {?} */ (_this.globalDevtools.connect(_this._options))); }));
|
|
499
|
+
this.unsubscribe = this.devtoolsExtension.subscribe((/**
|
|
500
|
+
* @param {?} action
|
|
501
|
+
* @return {?}
|
|
502
|
+
*/
|
|
503
|
+
function (action) {
|
|
504
|
+
if (action.type === "DISPATCH" /* Dispatch */ ||
|
|
505
|
+
action.type === "ACTION" /* Action */) {
|
|
506
|
+
_this._ngZone.run((/**
|
|
507
|
+
* @return {?}
|
|
508
|
+
*/
|
|
509
|
+
function () {
|
|
510
|
+
_this.dispatched(action);
|
|
511
|
+
}));
|
|
512
|
+
}
|
|
513
|
+
}));
|
|
514
|
+
};
|
|
462
515
|
NgxsReduxDevtoolsPlugin.decorators = [
|
|
463
516
|
{ type: core.Injectable }
|
|
464
517
|
];
|
|
465
518
|
/** @nocollapse */
|
|
466
519
|
NgxsReduxDevtoolsPlugin.ctorParameters = function () { return [
|
|
467
520
|
{ type: undefined, decorators: [{ type: core.Inject, args: [NGXS_DEVTOOLS_OPTIONS,] }] },
|
|
468
|
-
{ type: core.Injector }
|
|
521
|
+
{ type: core.Injector },
|
|
522
|
+
{ type: core.NgZone }
|
|
469
523
|
]; };
|
|
470
524
|
return NgxsReduxDevtoolsPlugin;
|
|
471
525
|
}());
|
|
@@ -479,7 +533,12 @@
|
|
|
479
533
|
* @type {?}
|
|
480
534
|
* @private
|
|
481
535
|
*/
|
|
482
|
-
NgxsReduxDevtoolsPlugin.prototype.
|
|
536
|
+
NgxsReduxDevtoolsPlugin.prototype.globalDevtools;
|
|
537
|
+
/**
|
|
538
|
+
* @type {?}
|
|
539
|
+
* @private
|
|
540
|
+
*/
|
|
541
|
+
NgxsReduxDevtoolsPlugin.prototype.unsubscribe;
|
|
483
542
|
/**
|
|
484
543
|
* @type {?}
|
|
485
544
|
* @private
|
|
@@ -490,6 +549,11 @@
|
|
|
490
549
|
* @private
|
|
491
550
|
*/
|
|
492
551
|
NgxsReduxDevtoolsPlugin.prototype._injector;
|
|
552
|
+
/**
|
|
553
|
+
* @type {?}
|
|
554
|
+
* @private
|
|
555
|
+
*/
|
|
556
|
+
NgxsReduxDevtoolsPlugin.prototype._ngZone;
|
|
493
557
|
}
|
|
494
558
|
|
|
495
559
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngxs-devtools-plugin.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@ngxs/devtools-plugin/src/symbols.ts","ng://@ngxs/devtools-plugin/src/devtools.plugin.ts","ng://@ngxs/devtools-plugin/src/devtools.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n/**\r\n * Interface for the redux-devtools-extension API.\r\n */\r\nexport interface NgxsDevtoolsExtension {\r\n init(state: any): void;\r\n send(action: any, state?: any): void;\r\n subscribe(fn: (message: NgxsDevtoolsAction) => void): Subscription;\r\n}\r\n\r\nexport interface NgxsDevtoolsAction {\r\n type: string;\r\n payload: any;\r\n state: any;\r\n id: number;\r\n source: string;\r\n}\r\n\r\nexport interface NgxsDevtoolsOptions {\r\n /**\r\n * The name of the extension\r\n */\r\n name?: string;\r\n\r\n /**\r\n * Whether the dev tools is enabled or note. Useful for setting during production.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Max number of entiries to keep.\r\n */\r\n maxAge?: number;\r\n\r\n /**\r\n * Reformat actions before sending to dev tools\r\n */\r\n actionSanitizer?: (action: any) => void;\r\n\r\n /**\r\n * Reformat state before sending to devtools\r\n */\r\n stateSanitizer?: (state: any) => void;\r\n}\r\n\r\nexport const NGXS_DEVTOOLS_OPTIONS = new InjectionToken('NGXS_DEVTOOLS_OPTIONS');\r\n","import { Inject, Injectable, Injector } from '@angular/core';\r\nimport { getActionTypeFromInstance, NgxsNextPluginFn, NgxsPlugin, Store } from '@ngxs/store';\r\nimport { tap, catchError } from 'rxjs/operators';\r\n\r\nimport {\r\n NGXS_DEVTOOLS_OPTIONS,\r\n NgxsDevtoolsAction,\r\n NgxsDevtoolsExtension,\r\n NgxsDevtoolsOptions\r\n} from './symbols';\r\n\r\n/**\r\n * Adds support for the Redux Devtools extension:\r\n * http://extension.remotedev.io/\r\n */\r\n@Injectable()\r\nexport class NgxsReduxDevtoolsPlugin implements NgxsPlugin {\r\n private readonly devtoolsExtension: NgxsDevtoolsExtension | null = null;\r\n private readonly windowObj: any = typeof window !== 'undefined' ? window : {};\r\n\r\n constructor(\r\n @Inject(NGXS_DEVTOOLS_OPTIONS) private _options: NgxsDevtoolsOptions,\r\n private _injector: Injector\r\n ) {\r\n const globalDevtools =\r\n this.windowObj['__REDUX_DEVTOOLS_EXTENSION__'] || this.windowObj['devToolsExtension'];\r\n if (globalDevtools) {\r\n this.devtoolsExtension = globalDevtools.connect(_options) as NgxsDevtoolsExtension;\r\n this.devtoolsExtension.subscribe(a => this.dispatched(a));\r\n }\r\n }\r\n\r\n /**\r\n * Lazy get the store for circular dependency issues\r\n */\r\n private get store(): Store {\r\n return this._injector.get<Store>(Store);\r\n }\r\n\r\n /**\r\n * Middleware handle function\r\n */\r\n handle(state: any, action: any, next: NgxsNextPluginFn) {\r\n const isDisabled = this._options && this._options.disabled;\r\n if (!this.devtoolsExtension || isDisabled) {\r\n return next(state, action);\r\n }\r\n\r\n return next(state, action).pipe(\r\n catchError(error => {\r\n const newState = this.store.snapshot();\r\n this.sendToDevTools(state, action, newState);\r\n throw error;\r\n }),\r\n tap(newState => {\r\n this.sendToDevTools(state, action, newState);\r\n })\r\n );\r\n }\r\n\r\n private sendToDevTools(state: any, action: any, newState: any) {\r\n const type = getActionTypeFromInstance(action);\r\n // if init action, send initial state to dev tools\r\n const isInitAction = type === '@@INIT';\r\n if (isInitAction) {\r\n this.devtoolsExtension!.init(state);\r\n } else {\r\n this.devtoolsExtension!.send({ ...action, action: null, type }, newState);\r\n }\r\n }\r\n\r\n /**\r\n * Handle the action from the dev tools subscription\r\n */\r\n dispatched(action: NgxsDevtoolsAction) {\r\n if (action.type === 'DISPATCH') {\r\n if (\r\n action.payload.type === 'JUMP_TO_ACTION' ||\r\n action.payload.type === 'JUMP_TO_STATE'\r\n ) {\r\n const prevState = JSON.parse(action.state);\r\n this.store.reset(prevState);\r\n } else if (action.payload.type === 'TOGGLE_ACTION') {\r\n console.warn('Skip is not supported at this time.');\r\n } else if (action.payload.type === 'IMPORT_STATE') {\r\n const {\r\n actionsById,\r\n computedStates,\r\n currentStateIndex\r\n } = action.payload.nextLiftedState;\r\n this.devtoolsExtension!.init(computedStates[0].state);\r\n Object.keys(actionsById)\r\n .filter(actionId => actionId !== '0')\r\n .forEach(actionId =>\r\n this.devtoolsExtension!.send(actionsById[actionId], computedStates[actionId].state)\r\n );\r\n this.store.reset(computedStates[currentStateIndex].state);\r\n }\r\n } else if (action.type === 'ACTION') {\r\n const actionPayload = JSON.parse(action.payload);\r\n this.store.dispatch(actionPayload);\r\n }\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders, InjectionToken } from '@angular/core';\r\nimport { NGXS_PLUGINS } from '@ngxs/store';\r\n\r\nimport { NgxsDevtoolsOptions, NGXS_DEVTOOLS_OPTIONS } from './symbols';\r\nimport { NgxsReduxDevtoolsPlugin } from './devtools.plugin';\r\n\r\nexport function devtoolsOptionsFactory(options: NgxsDevtoolsOptions) {\r\n return {\r\n name: 'NGXS',\r\n ...options\r\n };\r\n}\r\n\r\nexport const USER_OPTIONS = new InjectionToken('USER_OPTIONS');\r\n\r\n@NgModule()\r\nexport class NgxsReduxDevtoolsPluginModule {\r\n static forRoot(\r\n options?: NgxsDevtoolsOptions\r\n ): ModuleWithProviders<NgxsReduxDevtoolsPluginModule> {\r\n return {\r\n ngModule: NgxsReduxDevtoolsPluginModule,\r\n providers: [\r\n {\r\n provide: NGXS_PLUGINS,\r\n useClass: NgxsReduxDevtoolsPlugin,\r\n multi: true\r\n },\r\n {\r\n provide: USER_OPTIONS,\r\n useValue: options\r\n },\r\n {\r\n provide: NGXS_DEVTOOLS_OPTIONS,\r\n useFactory: devtoolsOptionsFactory,\r\n deps: [USER_OPTIONS]\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n"],"names":["InjectionToken","Store","catchError","tap","getActionTypeFromInstance","Injectable","Inject","Injector","NGXS_PLUGINS","NgModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngxs-devtools-plugin.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@ngxs/devtools-plugin/src/symbols.ts","ng://@ngxs/devtools-plugin/src/devtools.plugin.ts","ng://@ngxs/devtools-plugin/src/devtools.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\n/**\r\n * Interface for the redux-devtools-extension API.\r\n */\r\nexport interface NgxsDevtoolsExtension {\r\n init(state: any): void;\r\n send(action: any, state?: any): void;\r\n subscribe(fn: (message: NgxsDevtoolsAction) => void): VoidFunction;\r\n}\r\n\r\nexport interface NgxsDevtoolsAction {\r\n type: string;\r\n payload: any;\r\n state: any;\r\n id: number;\r\n source: string;\r\n}\r\n\r\nexport interface NgxsDevtoolsOptions {\r\n /**\r\n * The name of the extension\r\n */\r\n name?: string;\r\n\r\n /**\r\n * Whether the dev tools is enabled or note. Useful for setting during production.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Max number of entiries to keep.\r\n */\r\n maxAge?: number;\r\n\r\n /**\r\n * Reformat actions before sending to dev tools\r\n */\r\n actionSanitizer?: (action: any) => void;\r\n\r\n /**\r\n * Reformat state before sending to devtools\r\n */\r\n stateSanitizer?: (state: any) => void;\r\n}\r\n\r\nexport const NGXS_DEVTOOLS_OPTIONS = new InjectionToken('NGXS_DEVTOOLS_OPTIONS');\r\n","import { Inject, Injectable, Injector, NgZone, OnDestroy, ɵglobal } from '@angular/core';\r\nimport { getActionTypeFromInstance, NgxsNextPluginFn, NgxsPlugin, Store } from '@ngxs/store';\r\nimport { tap, catchError } from 'rxjs/operators';\r\n\r\nimport {\r\n NGXS_DEVTOOLS_OPTIONS,\r\n NgxsDevtoolsAction,\r\n NgxsDevtoolsExtension,\r\n NgxsDevtoolsOptions\r\n} from './symbols';\r\n\r\nconst enum ReduxDevtoolsActionType {\r\n Dispatch = 'DISPATCH',\r\n Action = 'ACTION'\r\n}\r\n\r\nconst enum ReduxDevtoolsPayloadType {\r\n JumpToAction = 'JUMP_TO_ACTION',\r\n JumpToState = 'JUMP_TO_STATE',\r\n ToggleAction = 'TOGGLE_ACTION',\r\n ImportState = 'IMPORT_STATE'\r\n}\r\n\r\n/**\r\n * Adds support for the Redux Devtools extension:\r\n * http://extension.remotedev.io/\r\n */\r\n@Injectable()\r\nexport class NgxsReduxDevtoolsPlugin implements OnDestroy, NgxsPlugin {\r\n private devtoolsExtension: NgxsDevtoolsExtension | null = null;\r\n private readonly globalDevtools =\r\n ɵglobal['__REDUX_DEVTOOLS_EXTENSION__'] || ɵglobal['devToolsExtension'];\r\n\r\n private unsubscribe: VoidFunction | null = null;\r\n\r\n constructor(\r\n @Inject(NGXS_DEVTOOLS_OPTIONS) private _options: NgxsDevtoolsOptions,\r\n private _injector: Injector,\r\n private _ngZone: NgZone\r\n ) {\r\n this.connect();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscribe !== null) {\r\n this.unsubscribe();\r\n }\r\n if (this.globalDevtools) {\r\n this.globalDevtools.disconnect();\r\n }\r\n }\r\n\r\n /**\r\n * Lazy get the store for circular dependency issues\r\n */\r\n private get store(): Store {\r\n return this._injector.get<Store>(Store);\r\n }\r\n\r\n /**\r\n * Middleware handle function\r\n */\r\n handle(state: any, action: any, next: NgxsNextPluginFn) {\r\n if (!this.devtoolsExtension || this._options.disabled) {\r\n return next(state, action);\r\n }\r\n\r\n return next(state, action).pipe(\r\n catchError(error => {\r\n const newState = this.store.snapshot();\r\n this.sendToDevTools(state, action, newState);\r\n throw error;\r\n }),\r\n tap(newState => {\r\n this.sendToDevTools(state, action, newState);\r\n })\r\n );\r\n }\r\n\r\n private sendToDevTools(state: any, action: any, newState: any) {\r\n const type = getActionTypeFromInstance(action);\r\n // if init action, send initial state to dev tools\r\n const isInitAction = type === '@@INIT';\r\n if (isInitAction) {\r\n this.devtoolsExtension!.init(state);\r\n } else {\r\n this.devtoolsExtension!.send({ ...action, action: null, type }, newState);\r\n }\r\n }\r\n\r\n /**\r\n * Handle the action from the dev tools subscription\r\n */\r\n dispatched(action: NgxsDevtoolsAction) {\r\n if (action.type === ReduxDevtoolsActionType.Dispatch) {\r\n if (\r\n action.payload.type === ReduxDevtoolsPayloadType.JumpToAction ||\r\n action.payload.type === ReduxDevtoolsPayloadType.JumpToState\r\n ) {\r\n const prevState = JSON.parse(action.state);\r\n this.store.reset(prevState);\r\n } else if (action.payload.type === ReduxDevtoolsPayloadType.ToggleAction) {\r\n console.warn('Skip is not supported at this time.');\r\n } else if (action.payload.type === ReduxDevtoolsPayloadType.ImportState) {\r\n const {\r\n actionsById,\r\n computedStates,\r\n currentStateIndex\r\n } = action.payload.nextLiftedState;\r\n this.devtoolsExtension!.init(computedStates[0].state);\r\n Object.keys(actionsById)\r\n .filter(actionId => actionId !== '0')\r\n .forEach(actionId =>\r\n this.devtoolsExtension!.send(actionsById[actionId], computedStates[actionId].state)\r\n );\r\n this.store.reset(computedStates[currentStateIndex].state);\r\n }\r\n } else if (action.type === ReduxDevtoolsActionType.Action) {\r\n const actionPayload = JSON.parse(action.payload);\r\n this.store.dispatch(actionPayload);\r\n }\r\n }\r\n\r\n private connect(): void {\r\n if (!this.globalDevtools || this._options.disabled) {\r\n return;\r\n }\r\n\r\n // The `connect` method adds `message` event listener since it communicates\r\n // with an extension through `window.postMessage` and message events.\r\n // We handle only 2 events; thus, we don't want to run many change detections\r\n // because the extension sends events that we don't have to handle.\r\n this.devtoolsExtension = this._ngZone.runOutsideAngular(\r\n () => <NgxsDevtoolsExtension>this.globalDevtools.connect(this._options)\r\n );\r\n\r\n this.unsubscribe = this.devtoolsExtension.subscribe(action => {\r\n if (\r\n action.type === ReduxDevtoolsActionType.Dispatch ||\r\n action.type === ReduxDevtoolsActionType.Action\r\n ) {\r\n this._ngZone.run(() => {\r\n this.dispatched(action);\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders, InjectionToken } from '@angular/core';\r\nimport { NGXS_PLUGINS } from '@ngxs/store';\r\n\r\nimport { NgxsDevtoolsOptions, NGXS_DEVTOOLS_OPTIONS } from './symbols';\r\nimport { NgxsReduxDevtoolsPlugin } from './devtools.plugin';\r\n\r\nexport function devtoolsOptionsFactory(options: NgxsDevtoolsOptions) {\r\n return {\r\n name: 'NGXS',\r\n ...options\r\n };\r\n}\r\n\r\nexport const USER_OPTIONS = new InjectionToken('USER_OPTIONS');\r\n\r\n@NgModule()\r\nexport class NgxsReduxDevtoolsPluginModule {\r\n static forRoot(\r\n options?: NgxsDevtoolsOptions\r\n ): ModuleWithProviders<NgxsReduxDevtoolsPluginModule> {\r\n return {\r\n ngModule: NgxsReduxDevtoolsPluginModule,\r\n providers: [\r\n {\r\n provide: NGXS_PLUGINS,\r\n useClass: NgxsReduxDevtoolsPlugin,\r\n multi: true\r\n },\r\n {\r\n provide: USER_OPTIONS,\r\n useValue: options\r\n },\r\n {\r\n provide: NGXS_DEVTOOLS_OPTIONS,\r\n useFactory: devtoolsOptionsFactory,\r\n deps: [USER_OPTIONS]\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n"],"names":["InjectionToken","ɵglobal","Store","catchError","tap","getActionTypeFromInstance","Injectable","Inject","Injector","NgZone","NGXS_PLUGINS","NgModule"],"mappings":";;;;;;IAAA;IACA;;IAEA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;;AAED,IAAO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;AAED,IAAO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAChH,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACtH,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;;AAED,IAAO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;IAC7C,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;;AAED,IAAO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;;AAED,IAAO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClF,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,OAAO;IAClD,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,IAAI,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;;AAEF,IAAO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;;AAED,IAAO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;;AAED,IAAO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;;AAEF,IAAO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;;AAED,IAAO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE;IAC7D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;IACnC,QAAQ,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC9E,KAAK;IACL,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;;AAED,IAAO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;IACpE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;IACnC,QAAQ,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC9E,KAAK;IACL,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpC,IAAI,OAAO,KAAK,CAAC;IACjB,CAAC;;;;;;ICzND;;;;IAKA,oCAIC;;;;;;QAHC,4DAAuB;;;;;;QACvB,oEAAqC;;;;;QACrC,8DAAmE;;;;;IAGrE,iCAMC;;;QALC,kCAAa;;QACb,qCAAa;;QACb,mCAAW;;QACX,gCAAW;;QACX,oCAAe;;;;;IAGjB,kCAyBC;;;;;;QArBC,mCAAc;;;;;QAKd,uCAAmB;;;;;QAKnB,qCAAgB;;;;;QAKhB,8CAAwC;;;;;QAKxC,6CAAsC;;;AAGxC,QAAa,qBAAqB,GAAG,IAAIA,mBAAc,CAAC,uBAAuB,CAAC;;;;;;;;QClC9E,UAAW,UAAU;QACrB,QAAS,QAAQ;;;;QAIjB,cAAe,gBAAgB;QAC/B,aAAc,eAAe;QAC7B,cAAe,eAAe;QAC9B,aAAc,cAAc;;;;;;AAO9B;QAQE,iCACyC,QAA6B,EAC5D,SAAmB,EACnB,OAAe;YAFgB,aAAQ,GAAR,QAAQ,CAAqB;YAC5D,cAAS,GAAT,SAAS,CAAU;YACnB,YAAO,GAAP,OAAO,CAAQ;YATjB,sBAAiB,GAAiC,IAAI,CAAC;YAC9C,mBAAc,GAC7BC,YAAO,CAAC,8BAA8B,CAAC,IAAIA,YAAO,CAAC,mBAAmB,CAAC,CAAC;YAElE,gBAAW,GAAwB,IAAI,CAAC;YAO9C,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;;;;QAED,6CAAW;;;QAAX;YACE,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;YACD,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;aAClC;SACF;QAKD,sBAAY,0CAAK;;;;;;;;;YAAjB;gBACE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAQC,WAAK,CAAC,CAAC;aACzC;;;WAAA;;;;;;;;;;;QAKD,wCAAM;;;;;;;QAAN,UAAO,KAAU,EAAE,MAAW,EAAE,IAAsB;YAAtD,iBAeC;YAdC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACrD,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aAC5B;YAED,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAC7BC,oBAAU;;;;YAAC,UAAA,KAAK;;oBACR,QAAQ,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACtC,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC7C,MAAM,KAAK,CAAC;aACb,EAAC,EACFC,aAAG;;;;YAAC,UAAA,QAAQ;gBACV,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;aAC9C,EAAC,CACH,CAAC;SACH;;;;;;;;QAEO,gDAAc;;;;;;;QAAtB,UAAuB,KAAU,EAAE,MAAW,EAAE,QAAa;;gBACrD,IAAI,GAAGC,+BAAyB,CAAC,MAAM,CAAC;;;gBAExC,YAAY,GAAG,IAAI,KAAK,QAAQ;YACtC,IAAI,YAAY,EAAE;gBAChB,mBAAA,IAAI,CAAC,iBAAiB,GAAE,IAAI,CAAC,KAAK,CAAC,CAAC;aACrC;iBAAM;gBACL,mBAAA,IAAI,CAAC,iBAAiB,GAAE,IAAI,cAAM,MAAM,IAAE,MAAM,EAAE,IAAI,EAAE,IAAI,MAAA,KAAI,QAAQ,CAAC,CAAC;aAC3E;SACF;;;;;;;;;QAKD,4CAAU;;;;;QAAV,UAAW,MAA0B;YAArC,iBA4BC;YA3BC,IAAI,MAAM,CAAC,IAAI,gCAAuC;gBACpD,IACE,MAAM,CAAC,OAAO,CAAC,IAAI;oBACnB,MAAM,CAAC,OAAO,CAAC,IAAI,wCACnB;;wBACM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;iBAC7B;qBAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,yCAA4C;oBACxE,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;iBACrD;qBAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,uCAA2C;oBACjE,IAAA,mCAI4B,EAHhC,8BAAW,EACX,oCAAc,EACd,wCACgC;oBAClC,mBAAA,IAAI,CAAC,iBAAiB,GAAE,IAAI,CAAC,gBAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACtD,MAAM,CAAC,IAAI,CAAC,aAAW,CAAC;yBACrB,MAAM;;;;oBAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,KAAK,GAAG,GAAA,EAAC;yBACpC,OAAO;;;;oBAAC,UAAA,QAAQ;wBACf,OAAA,mBAAA,KAAI,CAAC,iBAAiB,GAAE,IAAI,CAAC,aAAW,CAAC,QAAQ,CAAC,EAAE,gBAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;qBAAA,EACpF,CAAC;oBACJ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAc,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC;iBAC3D;aACF;iBAAM,IAAI,MAAM,CAAC,IAAI,4BAAqC;;oBACnD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;aACpC;SACF;;;;;QAEO,yCAAO;;;;QAAf;YAAA,iBAuBC;YAtBC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBAClD,OAAO;aACR;;;;;YAMD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB;;;YACrD,wCAA6B,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAI,CAAC,QAAQ,CAAC,KAAA,EACxE,CAAC;YAEF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS;;;;YAAC,UAAA,MAAM;gBACxD,IACE,MAAM,CAAC,IAAI;oBACX,MAAM,CAAC,IAAI,4BACX;oBACA,KAAI,CAAC,OAAO,CAAC,GAAG;;;oBAAC;wBACf,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;qBACzB,EAAC,CAAC;iBACJ;aACF,EAAC,CAAC;SACJ;;oBAvHFC,eAAU;;;;oDASNC,WAAM,SAAC,qBAAqB;oBApCJC,aAAQ;oBAAEC,WAAM;;QAmJ7C,8BAAC;KAxHD,IAwHC;;;;;;QAtHC,oDAA+D;;;;;QAC/D,iDAC0E;;;;;QAE1E,8CAAgD;;;;;QAG9C,2CAAoE;;;;;QACpE,4CAA2B;;;;;QAC3B,0CAAuB;;;;;;;;;;;IChC3B,SAAgB,sBAAsB,CAAC,OAA4B;QACjE,kBACE,IAAI,EAAE,MAAM,IACT,OAAO,EACV;KACH;;AAED,QAAa,YAAY,GAAG,IAAIT,mBAAc,CAAC,cAAc,CAAC;AAE9D;QAAA;SAyBC;;;;;QAvBQ,qCAAO;;;;QAAd,UACE,OAA6B;YAE7B,OAAO;gBACL,QAAQ,EAAE,6BAA6B;gBACvC,SAAS,EAAE;oBACT;wBACE,OAAO,EAAEU,kBAAY;wBACrB,QAAQ,EAAE,uBAAuB;wBACjC,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,OAAO,EAAE,YAAY;wBACrB,QAAQ,EAAE,OAAO;qBAClB;oBACD;wBACE,OAAO,EAAE,qBAAqB;wBAC9B,UAAU,EAAE,sBAAsB;wBAClC,IAAI,EAAE,CAAC,YAAY,CAAC;qBACrB;iBACF;aACF,CAAC;SACH;;oBAxBFC,aAAQ;;QAyBT,oCAAC;KAzBD;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(e
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@ngxs/store"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@ngxs/devtools-plugin",["exports","@angular/core","@ngxs/store","rxjs/operators"],e):e(((t=t||self).ngxs=t.ngxs||{},t.ngxs["devtools-plugin"]={}),t.ng.core,t["ngxs-store"],t.rxjs.operators)}(this,(function(t,e,o,n){"use strict";
|
|
2
2
|
/*! *****************************************************************************
|
|
3
3
|
Copyright (c) Microsoft Corporation.
|
|
4
4
|
|
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
13
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
14
|
PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
-
***************************************************************************** */var s=function(){return(s=Object.assign||function(
|
|
15
|
+
***************************************************************************** */var s=function(){return(s=Object.assign||function(t){for(var e,o=1,n=arguments.length;o<n;o++)for(var s in e=arguments[o])Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=e[s]);return t}).apply(this,arguments)};var r=new e.InjectionToken("NGXS_DEVTOOLS_OPTIONS"),i=function(){function t(t,o,n){this._options=t,this._injector=o,this._ngZone=n,this.devtoolsExtension=null,this.globalDevtools=e.ɵglobal.__REDUX_DEVTOOLS_EXTENSION__||e.ɵglobal.devToolsExtension,this.unsubscribe=null,this.connect()}return t.prototype.ngOnDestroy=function(){null!==this.unsubscribe&&this.unsubscribe(),this.globalDevtools&&this.globalDevtools.disconnect()},Object.defineProperty(t.prototype,"store",{get:function(){return this._injector.get(o.Store)},enumerable:!0,configurable:!0}),t.prototype.handle=function(t,e,o){var s=this;return!this.devtoolsExtension||this._options.disabled?o(t,e):o(t,e).pipe(n.catchError((function(o){var n=s.store.snapshot();throw s.sendToDevTools(t,e,n),o})),n.tap((function(o){s.sendToDevTools(t,e,o)})))},t.prototype.sendToDevTools=function(t,e,n){var r=o.getActionTypeFromInstance(e);"@@INIT"===r?this.devtoolsExtension.init(t):this.devtoolsExtension.send(s({},e,{action:null,type:r}),n)},t.prototype.dispatched=function(t){var e=this;if("DISPATCH"===t.type){if("JUMP_TO_ACTION"===t.payload.type||"JUMP_TO_STATE"===t.payload.type){var o=JSON.parse(t.state);this.store.reset(o)}else if("TOGGLE_ACTION"===t.payload.type)console.warn("Skip is not supported at this time.");else if("IMPORT_STATE"===t.payload.type){var n=t.payload.nextLiftedState,s=n.actionsById,r=n.computedStates,i=n.currentStateIndex;this.devtoolsExtension.init(r[0].state),Object.keys(s).filter((function(t){return"0"!==t})).forEach((function(t){return e.devtoolsExtension.send(s[t],r[t].state)})),this.store.reset(r[i].state)}}else if("ACTION"===t.type){var a=JSON.parse(t.payload);this.store.dispatch(a)}},t.prototype.connect=function(){var t=this;this.globalDevtools&&!this._options.disabled&&(this.devtoolsExtension=this._ngZone.runOutsideAngular((function(){return t.globalDevtools.connect(t._options)})),this.unsubscribe=this.devtoolsExtension.subscribe((function(e){"DISPATCH"!==e.type&&"ACTION"!==e.type||t._ngZone.run((function(){t.dispatched(e)}))})))},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[r]}]},{type:e.Injector},{type:e.NgZone}]},t}();function a(t){return s({name:"NGXS"},t)}var u=new e.InjectionToken("USER_OPTIONS"),l=function(){function t(){}return t.forRoot=function(e){return{ngModule:t,providers:[{provide:o.NGXS_PLUGINS,useClass:i,multi:!0},{provide:u,useValue:e},{provide:r,useFactory:a,deps:[u]}]}},t.decorators=[{type:e.NgModule}],t}();t.NGXS_DEVTOOLS_OPTIONS=r,t.NgxsReduxDevtoolsPlugin=i,t.NgxsReduxDevtoolsPluginModule=l,t.ɵa=a,t.ɵb=u,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
16
16
|
//# sourceMappingURL=ngxs-devtools-plugin.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@ngxs/devtools-plugin/src/symbols.ts","ng://@ngxs/devtools-plugin/src/devtools.plugin.ts","ng://@ngxs/devtools-plugin/src/devtools.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","NGXS_DEVTOOLS_OPTIONS","InjectionToken","NgxsReduxDevtoolsPlugin","_options","_injector","_this","devtoolsExtension","windowObj","window","globalDevtools","connect","subscribe","a","dispatched","defineProperty","get","Store","handle","state","action","next","isDisabled","disabled","pipe","catchError","error","newState","store","snapshot","sendToDevTools","tap","type","getActionTypeFromInstance","init","send","payload","prevState","JSON","parse","reset","console","warn","_a","nextLiftedState","actionsById_1","actionsById","computedStates_1","computedStates","currentStateIndex","keys","filter","actionId","forEach","actionPayload","dispatch","Injectable","Inject","args","Injector","devtoolsOptionsFactory","options","name","USER_OPTIONS","NgxsReduxDevtoolsPluginModule","forRoot","ngModule","providers","provide","NGXS_PLUGINS","useClass","multi","useValue","useFactory","deps","NgModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n/**\r\n * Interface for the redux-devtools-extension API.\r\n */\r\nexport interface NgxsDevtoolsExtension {\r\n init(state: any): void;\r\n send(action: any, state?: any): void;\r\n subscribe(fn: (message: NgxsDevtoolsAction) => void): Subscription;\r\n}\r\n\r\nexport interface NgxsDevtoolsAction {\r\n type: string;\r\n payload: any;\r\n state: any;\r\n id: number;\r\n source: string;\r\n}\r\n\r\nexport interface NgxsDevtoolsOptions {\r\n /**\r\n * The name of the extension\r\n */\r\n name?: string;\r\n\r\n /**\r\n * Whether the dev tools is enabled or note. Useful for setting during production.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Max number of entiries to keep.\r\n */\r\n maxAge?: number;\r\n\r\n /**\r\n * Reformat actions before sending to dev tools\r\n */\r\n actionSanitizer?: (action: any) => void;\r\n\r\n /**\r\n * Reformat state before sending to devtools\r\n */\r\n stateSanitizer?: (state: any) => void;\r\n}\r\n\r\nexport const NGXS_DEVTOOLS_OPTIONS = new InjectionToken('NGXS_DEVTOOLS_OPTIONS');\r\n","import { Inject, Injectable, Injector } from '@angular/core';\r\nimport { getActionTypeFromInstance, NgxsNextPluginFn, NgxsPlugin, Store } from '@ngxs/store';\r\nimport { tap, catchError } from 'rxjs/operators';\r\n\r\nimport {\r\n NGXS_DEVTOOLS_OPTIONS,\r\n NgxsDevtoolsAction,\r\n NgxsDevtoolsExtension,\r\n NgxsDevtoolsOptions\r\n} from './symbols';\r\n\r\n/**\r\n * Adds support for the Redux Devtools extension:\r\n * http://extension.remotedev.io/\r\n */\r\n@Injectable()\r\nexport class NgxsReduxDevtoolsPlugin implements NgxsPlugin {\r\n private readonly devtoolsExtension: NgxsDevtoolsExtension | null = null;\r\n private readonly windowObj: any = typeof window !== 'undefined' ? window : {};\r\n\r\n constructor(\r\n @Inject(NGXS_DEVTOOLS_OPTIONS) private _options: NgxsDevtoolsOptions,\r\n private _injector: Injector\r\n ) {\r\n const globalDevtools =\r\n this.windowObj['__REDUX_DEVTOOLS_EXTENSION__'] || this.windowObj['devToolsExtension'];\r\n if (globalDevtools) {\r\n this.devtoolsExtension = globalDevtools.connect(_options) as NgxsDevtoolsExtension;\r\n this.devtoolsExtension.subscribe(a => this.dispatched(a));\r\n }\r\n }\r\n\r\n /**\r\n * Lazy get the store for circular dependency issues\r\n */\r\n private get store(): Store {\r\n return this._injector.get<Store>(Store);\r\n }\r\n\r\n /**\r\n * Middleware handle function\r\n */\r\n handle(state: any, action: any, next: NgxsNextPluginFn) {\r\n const isDisabled = this._options && this._options.disabled;\r\n if (!this.devtoolsExtension || isDisabled) {\r\n return next(state, action);\r\n }\r\n\r\n return next(state, action).pipe(\r\n catchError(error => {\r\n const newState = this.store.snapshot();\r\n this.sendToDevTools(state, action, newState);\r\n throw error;\r\n }),\r\n tap(newState => {\r\n this.sendToDevTools(state, action, newState);\r\n })\r\n );\r\n }\r\n\r\n private sendToDevTools(state: any, action: any, newState: any) {\r\n const type = getActionTypeFromInstance(action);\r\n // if init action, send initial state to dev tools\r\n const isInitAction = type === '@@INIT';\r\n if (isInitAction) {\r\n this.devtoolsExtension!.init(state);\r\n } else {\r\n this.devtoolsExtension!.send({ ...action, action: null, type }, newState);\r\n }\r\n }\r\n\r\n /**\r\n * Handle the action from the dev tools subscription\r\n */\r\n dispatched(action: NgxsDevtoolsAction) {\r\n if (action.type === 'DISPATCH') {\r\n if (\r\n action.payload.type === 'JUMP_TO_ACTION' ||\r\n action.payload.type === 'JUMP_TO_STATE'\r\n ) {\r\n const prevState = JSON.parse(action.state);\r\n this.store.reset(prevState);\r\n } else if (action.payload.type === 'TOGGLE_ACTION') {\r\n console.warn('Skip is not supported at this time.');\r\n } else if (action.payload.type === 'IMPORT_STATE') {\r\n const {\r\n actionsById,\r\n computedStates,\r\n currentStateIndex\r\n } = action.payload.nextLiftedState;\r\n this.devtoolsExtension!.init(computedStates[0].state);\r\n Object.keys(actionsById)\r\n .filter(actionId => actionId !== '0')\r\n .forEach(actionId =>\r\n this.devtoolsExtension!.send(actionsById[actionId], computedStates[actionId].state)\r\n );\r\n this.store.reset(computedStates[currentStateIndex].state);\r\n }\r\n } else if (action.type === 'ACTION') {\r\n const actionPayload = JSON.parse(action.payload);\r\n this.store.dispatch(actionPayload);\r\n }\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders, InjectionToken } from '@angular/core';\r\nimport { NGXS_PLUGINS } from '@ngxs/store';\r\n\r\nimport { NgxsDevtoolsOptions, NGXS_DEVTOOLS_OPTIONS } from './symbols';\r\nimport { NgxsReduxDevtoolsPlugin } from './devtools.plugin';\r\n\r\nexport function devtoolsOptionsFactory(options: NgxsDevtoolsOptions) {\r\n return {\r\n name: 'NGXS',\r\n ...options\r\n };\r\n}\r\n\r\nexport const USER_OPTIONS = new InjectionToken('USER_OPTIONS');\r\n\r\n@NgModule()\r\nexport class NgxsReduxDevtoolsPluginModule {\r\n static forRoot(\r\n options?: NgxsDevtoolsOptions\r\n ): ModuleWithProviders<NgxsReduxDevtoolsPluginModule> {\r\n return {\r\n ngModule: NgxsReduxDevtoolsPluginModule,\r\n providers: [\r\n {\r\n provide: NGXS_PLUGINS,\r\n useClass: NgxsReduxDevtoolsPlugin,\r\n multi: true\r\n },\r\n {\r\n provide: USER_OPTIONS,\r\n useValue: options\r\n },\r\n {\r\n provide: NGXS_DEVTOOLS_OPTIONS,\r\n useFactory: devtoolsOptionsFactory,\r\n deps: [USER_OPTIONS]\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@ngxs/devtools-plugin/src/symbols.ts","ng://@ngxs/devtools-plugin/src/devtools.plugin.ts","ng://@ngxs/devtools-plugin/src/devtools.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","NGXS_DEVTOOLS_OPTIONS","InjectionToken","NgxsReduxDevtoolsPlugin","_options","_injector","_ngZone","devtoolsExtension","globalDevtools","ɵglobal","unsubscribe","connect","ngOnDestroy","disconnect","defineProperty","get","Store","handle","state","action","next","_this","disabled","pipe","catchError","error","newState","store","snapshot","sendToDevTools","tap","type","getActionTypeFromInstance","init","send","dispatched","payload","prevState","JSON","parse","reset","console","warn","_a","nextLiftedState","actionsById_1","actionsById","computedStates_1","computedStates","currentStateIndex","keys","filter","actionId","forEach","actionPayload","dispatch","runOutsideAngular","subscribe","run","Injectable","Inject","args","Injector","NgZone","devtoolsOptionsFactory","options","name","USER_OPTIONS","NgxsReduxDevtoolsPluginModule","forRoot","ngModule","providers","provide","NGXS_PLUGINS","useClass","multi","useValue","useFactory","deps","NgModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\n/**\r\n * Interface for the redux-devtools-extension API.\r\n */\r\nexport interface NgxsDevtoolsExtension {\r\n init(state: any): void;\r\n send(action: any, state?: any): void;\r\n subscribe(fn: (message: NgxsDevtoolsAction) => void): VoidFunction;\r\n}\r\n\r\nexport interface NgxsDevtoolsAction {\r\n type: string;\r\n payload: any;\r\n state: any;\r\n id: number;\r\n source: string;\r\n}\r\n\r\nexport interface NgxsDevtoolsOptions {\r\n /**\r\n * The name of the extension\r\n */\r\n name?: string;\r\n\r\n /**\r\n * Whether the dev tools is enabled or note. Useful for setting during production.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Max number of entiries to keep.\r\n */\r\n maxAge?: number;\r\n\r\n /**\r\n * Reformat actions before sending to dev tools\r\n */\r\n actionSanitizer?: (action: any) => void;\r\n\r\n /**\r\n * Reformat state before sending to devtools\r\n */\r\n stateSanitizer?: (state: any) => void;\r\n}\r\n\r\nexport const NGXS_DEVTOOLS_OPTIONS = new InjectionToken('NGXS_DEVTOOLS_OPTIONS');\r\n","import { Inject, Injectable, Injector, NgZone, OnDestroy, ɵglobal } from '@angular/core';\r\nimport { getActionTypeFromInstance, NgxsNextPluginFn, NgxsPlugin, Store } from '@ngxs/store';\r\nimport { tap, catchError } from 'rxjs/operators';\r\n\r\nimport {\r\n NGXS_DEVTOOLS_OPTIONS,\r\n NgxsDevtoolsAction,\r\n NgxsDevtoolsExtension,\r\n NgxsDevtoolsOptions\r\n} from './symbols';\r\n\r\nconst enum ReduxDevtoolsActionType {\r\n Dispatch = 'DISPATCH',\r\n Action = 'ACTION'\r\n}\r\n\r\nconst enum ReduxDevtoolsPayloadType {\r\n JumpToAction = 'JUMP_TO_ACTION',\r\n JumpToState = 'JUMP_TO_STATE',\r\n ToggleAction = 'TOGGLE_ACTION',\r\n ImportState = 'IMPORT_STATE'\r\n}\r\n\r\n/**\r\n * Adds support for the Redux Devtools extension:\r\n * http://extension.remotedev.io/\r\n */\r\n@Injectable()\r\nexport class NgxsReduxDevtoolsPlugin implements OnDestroy, NgxsPlugin {\r\n private devtoolsExtension: NgxsDevtoolsExtension | null = null;\r\n private readonly globalDevtools =\r\n ɵglobal['__REDUX_DEVTOOLS_EXTENSION__'] || ɵglobal['devToolsExtension'];\r\n\r\n private unsubscribe: VoidFunction | null = null;\r\n\r\n constructor(\r\n @Inject(NGXS_DEVTOOLS_OPTIONS) private _options: NgxsDevtoolsOptions,\r\n private _injector: Injector,\r\n private _ngZone: NgZone\r\n ) {\r\n this.connect();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscribe !== null) {\r\n this.unsubscribe();\r\n }\r\n if (this.globalDevtools) {\r\n this.globalDevtools.disconnect();\r\n }\r\n }\r\n\r\n /**\r\n * Lazy get the store for circular dependency issues\r\n */\r\n private get store(): Store {\r\n return this._injector.get<Store>(Store);\r\n }\r\n\r\n /**\r\n * Middleware handle function\r\n */\r\n handle(state: any, action: any, next: NgxsNextPluginFn) {\r\n if (!this.devtoolsExtension || this._options.disabled) {\r\n return next(state, action);\r\n }\r\n\r\n return next(state, action).pipe(\r\n catchError(error => {\r\n const newState = this.store.snapshot();\r\n this.sendToDevTools(state, action, newState);\r\n throw error;\r\n }),\r\n tap(newState => {\r\n this.sendToDevTools(state, action, newState);\r\n })\r\n );\r\n }\r\n\r\n private sendToDevTools(state: any, action: any, newState: any) {\r\n const type = getActionTypeFromInstance(action);\r\n // if init action, send initial state to dev tools\r\n const isInitAction = type === '@@INIT';\r\n if (isInitAction) {\r\n this.devtoolsExtension!.init(state);\r\n } else {\r\n this.devtoolsExtension!.send({ ...action, action: null, type }, newState);\r\n }\r\n }\r\n\r\n /**\r\n * Handle the action from the dev tools subscription\r\n */\r\n dispatched(action: NgxsDevtoolsAction) {\r\n if (action.type === ReduxDevtoolsActionType.Dispatch) {\r\n if (\r\n action.payload.type === ReduxDevtoolsPayloadType.JumpToAction ||\r\n action.payload.type === ReduxDevtoolsPayloadType.JumpToState\r\n ) {\r\n const prevState = JSON.parse(action.state);\r\n this.store.reset(prevState);\r\n } else if (action.payload.type === ReduxDevtoolsPayloadType.ToggleAction) {\r\n console.warn('Skip is not supported at this time.');\r\n } else if (action.payload.type === ReduxDevtoolsPayloadType.ImportState) {\r\n const {\r\n actionsById,\r\n computedStates,\r\n currentStateIndex\r\n } = action.payload.nextLiftedState;\r\n this.devtoolsExtension!.init(computedStates[0].state);\r\n Object.keys(actionsById)\r\n .filter(actionId => actionId !== '0')\r\n .forEach(actionId =>\r\n this.devtoolsExtension!.send(actionsById[actionId], computedStates[actionId].state)\r\n );\r\n this.store.reset(computedStates[currentStateIndex].state);\r\n }\r\n } else if (action.type === ReduxDevtoolsActionType.Action) {\r\n const actionPayload = JSON.parse(action.payload);\r\n this.store.dispatch(actionPayload);\r\n }\r\n }\r\n\r\n private connect(): void {\r\n if (!this.globalDevtools || this._options.disabled) {\r\n return;\r\n }\r\n\r\n // The `connect` method adds `message` event listener since it communicates\r\n // with an extension through `window.postMessage` and message events.\r\n // We handle only 2 events; thus, we don't want to run many change detections\r\n // because the extension sends events that we don't have to handle.\r\n this.devtoolsExtension = this._ngZone.runOutsideAngular(\r\n () => <NgxsDevtoolsExtension>this.globalDevtools.connect(this._options)\r\n );\r\n\r\n this.unsubscribe = this.devtoolsExtension.subscribe(action => {\r\n if (\r\n action.type === ReduxDevtoolsActionType.Dispatch ||\r\n action.type === ReduxDevtoolsActionType.Action\r\n ) {\r\n this._ngZone.run(() => {\r\n this.dispatched(action);\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders, InjectionToken } from '@angular/core';\r\nimport { NGXS_PLUGINS } from '@ngxs/store';\r\n\r\nimport { NgxsDevtoolsOptions, NGXS_DEVTOOLS_OPTIONS } from './symbols';\r\nimport { NgxsReduxDevtoolsPlugin } from './devtools.plugin';\r\n\r\nexport function devtoolsOptionsFactory(options: NgxsDevtoolsOptions) {\r\n return {\r\n name: 'NGXS',\r\n ...options\r\n };\r\n}\r\n\r\nexport const USER_OPTIONS = new InjectionToken('USER_OPTIONS');\r\n\r\n@NgModule()\r\nexport class NgxsReduxDevtoolsPluginModule {\r\n static forRoot(\r\n options?: NgxsDevtoolsOptions\r\n ): ModuleWithProviders<NgxsReduxDevtoolsPluginModule> {\r\n return {\r\n ngModule: NgxsReduxDevtoolsPluginModule,\r\n providers: [\r\n {\r\n provide: NGXS_PLUGINS,\r\n useClass: NgxsReduxDevtoolsPlugin,\r\n multi: true\r\n },\r\n {\r\n provide: USER_OPTIONS,\r\n useValue: options\r\n },\r\n {\r\n provide: NGXS_DEVTOOLS_OPTIONS,\r\n useFactory: devtoolsOptionsFactory,\r\n deps: [USER_OPTIONS]\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n"]}
|