@ngxs/devtools-plugin
Advanced tools
Comparing version 3.8.1-dev.master-3e21e23 to 3.8.1-dev.master-5828e37
@@ -80,3 +80,3 @@ (function (global, factory) { | ||
// if init action, send initial state to dev tools | ||
var isInitAction = type === '@@INIT'; | ||
var isInitAction = type === store.InitState.type; | ||
if (isInitAction) { | ||
@@ -98,8 +98,7 @@ this.devtoolsExtension.init(state); | ||
var prevState = JSON.parse(action.state); | ||
// This makes the DevTools and Router plugins friends with each other. | ||
// We're checking for the `router` state to exist, and it also should | ||
// have the `trigger` property, so we're sure that this is our router | ||
// state (coming from `@ngxs/router-plugin`). This enables a time-traveling | ||
// feature since it doesn't only restore the state but also allows the `RouterState` | ||
// to navigate back when the action is jumped. | ||
// This makes the DevTools and Router plugins compatible with each other. | ||
// We check for the existence of the `router` state and ensure it has the | ||
// `trigger` property, confirming that it is our router state (coming from `@ngxs/router-plugin`). | ||
// This enables a time-traveling feature, as it not only restores the state but | ||
// also allows the `RouterState` to navigate back when the action is jumped. | ||
if (prevState.router && prevState.router.trigger) { | ||
@@ -132,6 +131,6 @@ prevState.router.trigger = 'devtools'; | ||
} | ||
// The `connect` method adds `message` event listener since it communicates | ||
// with an extension through `window.postMessage` and message events. | ||
// We handle only 2 events; thus, we don't want to run many change detections | ||
// because the extension sends events that we don't have to handle. | ||
// The `connect` method adds a `message` event listener to communicate | ||
// with an extension through `window.postMessage` and handle message events. | ||
// Since we only handle two specific events, we aim to avoid unnecessary change | ||
// detections triggered by events that the extension sends, but we don't need to handle. | ||
this.devtoolsExtension = this._ngZone.runOutsideAngular(function () { return _this.globalDevtools.connect(_this._options); }); | ||
@@ -141,5 +140,3 @@ this.unsubscribe = this.devtoolsExtension.subscribe(function (action) { | ||
action.type === "ACTION" /* Action */) { | ||
_this._ngZone.run(function () { | ||
_this.dispatched(action); | ||
}); | ||
_this.dispatched(action); | ||
} | ||
@@ -146,0 +143,0 @@ }); |
import { Inject, Injectable, Injector, NgZone, ɵglobal } from '@angular/core'; | ||
import { getActionTypeFromInstance, Store } from '@ngxs/store'; | ||
import { InitState, getActionTypeFromInstance, Store } from '@ngxs/store'; | ||
import { tap, catchError } from 'rxjs/operators'; | ||
@@ -52,3 +52,3 @@ import { NGXS_DEVTOOLS_OPTIONS } from './symbols'; | ||
// if init action, send initial state to dev tools | ||
const isInitAction = type === '@@INIT'; | ||
const isInitAction = type === InitState.type; | ||
if (isInitAction) { | ||
@@ -69,8 +69,7 @@ this.devtoolsExtension.init(state); | ||
const prevState = JSON.parse(action.state); | ||
// This makes the DevTools and Router plugins friends with each other. | ||
// We're checking for the `router` state to exist, and it also should | ||
// have the `trigger` property, so we're sure that this is our router | ||
// state (coming from `@ngxs/router-plugin`). This enables a time-traveling | ||
// feature since it doesn't only restore the state but also allows the `RouterState` | ||
// to navigate back when the action is jumped. | ||
// This makes the DevTools and Router plugins compatible with each other. | ||
// We check for the existence of the `router` state and ensure it has the | ||
// `trigger` property, confirming that it is our router state (coming from `@ngxs/router-plugin`). | ||
// This enables a time-traveling feature, as it not only restores the state but | ||
// also allows the `RouterState` to navigate back when the action is jumped. | ||
if (prevState.router && prevState.router.trigger) { | ||
@@ -102,6 +101,6 @@ prevState.router.trigger = 'devtools'; | ||
} | ||
// The `connect` method adds `message` event listener since it communicates | ||
// with an extension through `window.postMessage` and message events. | ||
// We handle only 2 events; thus, we don't want to run many change detections | ||
// because the extension sends events that we don't have to handle. | ||
// The `connect` method adds a `message` event listener to communicate | ||
// with an extension through `window.postMessage` and handle message events. | ||
// Since we only handle two specific events, we aim to avoid unnecessary change | ||
// detections triggered by events that the extension sends, but we don't need to handle. | ||
this.devtoolsExtension = this._ngZone.runOutsideAngular(() => this.globalDevtools.connect(this._options)); | ||
@@ -111,5 +110,3 @@ this.unsubscribe = this.devtoolsExtension.subscribe(action => { | ||
action.type === "ACTION" /* Action */) { | ||
this._ngZone.run(() => { | ||
this.dispatched(action); | ||
}); | ||
this.dispatched(action); | ||
} | ||
@@ -127,2 +124,2 @@ }); | ||
}] }, { type: i0.Injector }, { type: i0.NgZone }]; } }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2dG9vbHMucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZGV2dG9vbHMtcGx1Z2luL3NyYy9kZXZ0b29scy5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBYSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLHlCQUF5QixFQUFnQyxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0YsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQ0wscUJBQXFCLEVBSXRCLE1BQU0sV0FBVyxDQUFDOztBQWNuQjs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBT2xDLFlBQ3lDLFFBQTZCLEVBQzVELFNBQW1CLEVBQ25CLE9BQWU7UUFGZ0IsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFDNUQsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBVGpCLHNCQUFpQixHQUFpQyxJQUFJLENBQUM7UUFDOUMsbUJBQWMsR0FDN0IsT0FBTyxDQUFDLDhCQUE4QixDQUFDLElBQUksT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFbEUsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDO1FBTzlDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFD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Q3BCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFCLENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3dJQS9IVSx1QkFBdUIsa0JBUXhCLHFCQUFxQjs0SUFScEIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVU7OzBCQVNOLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciwgTmdab25lLCBPbkRlc3Ryb3ksIMm1Z2xvYmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlLCBOZ3hzTmV4dFBsdWdpbkZuLCBOZ3hzUGx1Z2luLCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IHRhcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgTkdYU19ERVZUT09MU19PUFRJT05TLFxuICBOZ3hzRGV2dG9vbHNBY3Rpb24sXG4gIE5neHNEZXZ0b29sc0V4dGVuc2lvbixcbiAgTmd4c0RldnRvb2xzT3B0aW9uc1xufSBmcm9tICcuL3N5bWJvbHMnO1xuXG5jb25zdCBlbnVtIFJlZHV4RGV2dG9vbHNBY3Rpb25UeXBlIHtcbiAgRGlzcGF0Y2ggPSAnRElTUEFUQ0gnLFxuICBBY3Rpb24gPSAnQUNUSU9OJ1xufVxuXG5jb25zdCBlbnVtIFJlZHV4RGV2dG9vbHNQYXlsb2FkVHlwZSB7XG4gIEp1bXBUb0FjdGlvbiA9ICdKVU1QX1RPX0FDVElPTicsXG4gIEp1bXBUb1N0YXRlID0gJ0pVTVBfVE9fU1RBVEUnLFxuICBUb2dnbGVBY3Rpb24gPSAnVE9HR0xFX0FDVElPTicsXG4gIEltcG9ydFN0YXRlID0gJ0lNUE9SVF9TVEFURSdcbn1cblxuLyoqXG4gKiBBZGRzIHN1cHBvcnQgZm9yIHRoZSBSZWR1eCBEZXZ0b29scyBleHRlbnNpb246XG4gKiBodHRwOi8vZXh0ZW5zaW9uLnJlbW90ZWRldi5pby9cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5neHNSZWR1eERldnRvb2xzUGx1Z2luIGltcGxlbWVudHMgT25EZXN0cm95LCBOZ3hzUGx1Z2luIHtcbiAgcHJpdmF0ZSBkZXZ0b29sc0V4dGVuc2lvbjogTmd4c0RldnRvb2xzRXh0ZW5zaW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgZ2xvYmFsRGV2dG9vbHMgPVxuICAgIMm1Z2xvYmFsWydfX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fJ10gfHwgybVnbG9iYWxbJ2RldlRvb2xzRXh0ZW5zaW9uJ107XG5cbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogVm9pZEZ1bmN0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChOR1hTX0RFVlRPT0xTX09QVElPTlMpIHByaXZhdGUgX29wdGlvbnM6IE5neHNEZXZ0b29sc09wdGlvbnMsXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lXG4gICkge1xuICAgIHRoaXMuY29ubmVjdCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudW5zdWJzY3JpYmUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZ2xvYmFsRGV2dG9vbHMpIHtcbiAgICAgIHRoaXMuZ2xvYmFsRGV2dG9vbHMuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMYXp5IGdldCB0aGUgc3RvcmUgZm9yIGNpcmN1bGFyIGRlcGVuZGVuY3kgaXNzdWVzXG4gICAqL1xuICBwcml2YXRlIGdldCBzdG9yZSgpOiBTdG9yZSB7XG4gICAgcmV0dXJuIHRoaXMuX2luamVjdG9yLmdldDxTdG9yZT4oU3RvcmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1pZGRsZXdhcmUgaGFuZGxlIGZ1bmN0aW9uXG4gICAqL1xuICBoYW5kbGUoc3RhdGU6IGFueSwgYWN0aW9uOiBhbnksIG5leHQ6IE5neHNOZXh0UGx1Z2luRm4pIHtcbiAgICBpZiAoIXRoaXMuZGV2dG9vbHNFeHRlbnNpb24gfHwgdGhpcy5fb3B0aW9ucy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIG5leHQoc3RhdGUsIGFjdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQoc3RhdGUsIGFjdGlvbikucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IHRoaXMuc3RvcmUuc25hcHNob3QoKTtcbiAgICAgICAgdGhpcy5zZW5kVG9EZXZUb29scyhzdGF0ZSwgYWN0aW9uLCBuZXdTdGF0ZSk7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSksXG4gICAgICB0YXAobmV3U3RhdGUgPT4ge1xuICAgICAgICB0aGlzLnNlbmRUb0RldlRvb2xzKHN0YXRlLCBhY3Rpb24sIG5ld1N0YXRlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VuZFRvRGV2VG9vbHMoc3RhdGU6IGFueSwgYWN0aW9uOiBhbnksIG5ld1N0YXRlOiBhbnkpIHtcbiAgICBjb25zdCB0eXBlID0gZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShhY3Rpb24pO1xuICAgIC8vIGlmIGluaXQgYWN0aW9uLCBzZW5kIGluaXRpYWwgc3RhdGUgdG8gZGV2IHRvb2xzXG4gICAgY29uc3QgaXNJbml0QWN0aW9uID0gdHlwZSA9PT0gJ0BASU5JVCc7XG4gICAgaWYgKGlzSW5pdEFjdGlvbikge1xuICAgICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiEuaW5pdChzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24hLnNlbmQoeyAuLi5hY3Rpb24sIGFjdGlvbjogbnVsbCwgdHlwZSB9LCBuZXdTdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSB0aGUgYWN0aW9uIGZyb20gdGhlIGRldiB0b29scyBzdWJzY3JpcHRpb25cbiAgICovXG4gIGRpc3BhdGNoZWQoYWN0aW9uOiBOZ3hzRGV2dG9vbHNBY3Rpb24pIHtcbiAgICBpZiAoYWN0aW9uLnR5cGUgPT09IFJlZHV4RGV2dG9vbHNBY3Rpb25UeXBlLkRpc3BhdGNoKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGFjdGlvbi5wYXlsb2FkLnR5cGUgPT09IFJlZHV4RGV2dG9vbHNQYXlsb2FkVHlwZS5KdW1wVG9BY3Rpb24gfHxcbiAgICAgICAgYWN0aW9uLnBheWxvYWQudHlwZSA9PT0gUmVkdXhEZXZ0b29sc1BheWxvYWRUeXBlLkp1bXBUb1N0YXRlXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgcHJldlN0YXRlID0gSlNPTi5wYXJzZShhY3Rpb24uc3RhdGUpO1xuICAgICAgICAvLyBUaGlzIG1ha2VzIHRoZSBEZXZUb29scyBhbmQgUm91dGVyIHBsdWdpbnMgZnJpZW5kcyB3aXRoIGVhY2ggb3RoZXIuXG4gICAgICAgIC8vIFdlJ3JlIGNoZWNraW5nIGZvciB0aGUgYHJvdXRlcmAgc3RhdGUgdG8gZXhpc3QsIGFuZCBpdCBhbHNvIHNob3VsZFxuICAgICAgICAvLyBoYXZlIHRoZSBgdHJpZ2dlcmAgcHJvcGVydHksIHNvIHdlJ3JlIHN1cmUgdGhhdCB0aGlzIGlzIG91ciByb3V0ZXJcbiAgICAgICAgLy8gc3RhdGUgKGNvbWluZyBmcm9tIGBAbmd4cy9yb3V0ZXItcGx1Z2luYCkuIFRoaXMgZW5hYmxlcyBhIHRpbWUtdHJhdmVsaW5nXG4gICAgICAgIC8vIGZlYXR1cmUgc2luY2UgaXQgZG9lc24ndCBvbmx5IHJlc3RvcmUgdGhlIHN0YXRlIGJ1dCBhbHNvIGFsbG93cyB0aGUgYFJvdXRlclN0YXRlYFxuICAgICAgICAvLyB0byBuYXZpZ2F0ZSBiYWNrIHdoZW4gdGhlIGFjdGlvbiBpcyBqdW1wZWQuXG4gICAgICAgIGlmIChwcmV2U3RhdGUucm91dGVyICYmIHByZXZTdGF0ZS5yb3V0ZXIudHJpZ2dlcikge1xuICAgICAgICAgIHByZXZTdGF0ZS5yb3V0ZXIudHJpZ2dlciA9ICdkZXZ0b29scyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdG9yZS5yZXNldChwcmV2U3RhdGUpO1xuICAgICAgfSBlbHNlIGlmIChhY3Rpb24ucGF5bG9hZC50eXBlID09PSBSZWR1eERldnRvb2xzUGF5bG9hZFR5cGUuVG9nZ2xlQWN0aW9uKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignU2tpcCBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZS4nKTtcbiAgICAgIH0gZWxzZSBpZiAoYWN0aW9uLnBheWxvYWQudHlwZSA9PT0gUmVkdXhEZXZ0b29sc1BheWxvYWRUeXBlLkltcG9ydFN0YXRlKSB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBhY3Rpb25zQnlJZCxcbiAgICAgICAgICBjb21wdXRlZFN0YXRlcyxcbiAgICAgICAgICBjdXJyZW50U3RhdGVJbmRleFxuICAgICAgICB9ID0gYWN0aW9uLnBheWxvYWQubmV4dExpZnRlZFN0YXRlO1xuICAgICAgICB0aGlzLmRldnRvb2xzRXh0ZW5zaW9uIS5pbml0KGNvbXB1dGVkU3RhdGVzWzBdLnN0YXRlKTtcbiAgICAgICAgT2JqZWN0LmtleXMoYWN0aW9uc0J5SWQpXG4gICAgICAgICAgLmZpbHRlcihhY3Rpb25JZCA9PiBhY3Rpb25JZCAhPT0gJzAnKVxuICAgICAgICAgIC5mb3JFYWNoKGFjdGlvbklkID0+XG4gICAgICAgICAgICB0aGlzLmRldnRvb2xzRXh0ZW5zaW9uIS5zZW5kKGFjdGlvbnNCeUlkW2FjdGlvbklkXSwgY29tcHV0ZWRTdGF0ZXNbYWN0aW9uSWRdLnN0YXRlKVxuICAgICAgICAgICk7XG4gICAgICAgIHRoaXMuc3RvcmUucmVzZXQoY29tcHV0ZWRTdGF0ZXNbY3VycmVudFN0YXRlSW5kZXhdLnN0YXRlKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFjdGlvbi50eXBlID09PSBSZWR1eERldnRvb2xzQWN0aW9uVHlwZS5BY3Rpb24pIHtcbiAgICAgIGNvbnN0IGFjdGlvblBheWxvYWQgPSBKU09OLnBhcnNlKGFjdGlvbi5wYXlsb2FkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uUGF5bG9hZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb25uZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5nbG9iYWxEZXZ0b29scyB8fCB0aGlzLl9vcHRpb25zLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVGhlIGBjb25uZWN0YCBtZXRob2QgYWRkcyBgbWVzc2FnZWAgZXZlbnQgbGlzdGVuZXIgc2luY2UgaXQgY29tbXVuaWNhdGVzXG4gICAgLy8gd2l0aCBhbiBleHRlbnNpb24gdGhyb3VnaCBgd2luZG93LnBvc3RNZXNzYWdlYCBhbmQgbWVzc2FnZSBldmVudHMuXG4gICAgLy8gV2UgaGFuZGxlIG9ubHkgMiBldmVudHM7IHRodXMsIHdlIGRvbid0IHdhbnQgdG8gcnVuIG1hbnkgY2hhbmdlIGRldGVjdGlvbnNcbiAgICAvLyBiZWNhdXNlIHRoZSBleHRlbnNpb24gc2VuZHMgZXZlbnRzIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byBoYW5kbGUuXG4gICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiA9IHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcihcbiAgICAgICgpID0+IDxOZ3hzRGV2dG9vbHNFeHRlbnNpb24+dGhpcy5nbG9iYWxEZXZ0b29scy5jb25uZWN0KHRoaXMuX29wdGlvbnMpXG4gICAgKTtcblxuICAgIHRoaXMudW5zdWJzY3JpYmUgPSB0aGlzLmRldnRvb2xzRXh0ZW5zaW9uLnN1YnNjcmliZShhY3Rpb24gPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBhY3Rpb24udHlwZSA9PT0gUmVkdXhEZXZ0b29sc0FjdGlvblR5cGUuRGlzcGF0Y2ggfHxcbiAgICAgICAgYWN0aW9uLnR5cGUgPT09IFJlZHV4RGV2dG9vbHNBY3Rpb25UeXBlLkFjdGlvblxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX25nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hlZChhY3Rpb24pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2dG9vbHMucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZGV2dG9vbHMtcGx1Z2luL3NyYy9kZXZ0b29scy5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBYSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUNMLFNBQVMsRUFDVCx5QkFBeUIsRUFHekIsS0FBSyxFQUNOLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUNMLHFCQUFxQixFQUl0QixNQUFNLFdBQVcsQ0FBQzs7QUFjbkI7OztHQUdHO0FBRUgsTUFBTSxPQUFPLHVCQUF1QjtJQU9sQyxZQUN5QyxRQUE2QixFQUM1RCxTQUFtQixFQUNuQixPQUFlO1FBRmdCLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQzVELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQVRqQixzQkFBaUIsR0FBaUMsSUFBSSxDQUFDO1FBQzlDLG1CQUFjLEdBQzdCLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWxFLGdCQUFXLEdBQXdCLElBQUksQ0FBQztRQU85QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVE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Q3pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt3SUF6SFUsdUJBQXVCLGtCQVF4QixxQkFBcUI7NElBUnBCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVOzswQkFTTixNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nWm9uZSwgT25EZXN0cm95LCDJtWdsb2JhbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSW5pdFN0YXRlLFxuICBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlLFxuICBOZ3hzTmV4dFBsdWdpbkZuLFxuICBOZ3hzUGx1Z2luLFxuICBTdG9yZVxufSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyB0YXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIE5HWFNfREVWVE9PTFNfT1BUSU9OUyxcbiAgTmd4c0RldnRvb2xzQWN0aW9uLFxuICBOZ3hzRGV2dG9vbHNFeHRlbnNpb24sXG4gIE5neHNEZXZ0b29sc09wdGlvbnNcbn0gZnJvbSAnLi9zeW1ib2xzJztcblxuY29uc3QgZW51bSBSZWR1eERldnRvb2xzQWN0aW9uVHlwZSB7XG4gIERpc3BhdGNoID0gJ0RJU1BBVENIJyxcbiAgQWN0aW9uID0gJ0FDVElPTidcbn1cblxuY29uc3QgZW51bSBSZWR1eERldnRvb2xzUGF5bG9hZFR5cGUge1xuICBKdW1wVG9BY3Rpb24gPSAnSlVNUF9UT19BQ1RJT04nLFxuICBKdW1wVG9TdGF0ZSA9ICdKVU1QX1RPX1NUQVRFJyxcbiAgVG9nZ2xlQWN0aW9uID0gJ1RPR0dMRV9BQ1RJT04nLFxuICBJbXBvcnRTdGF0ZSA9ICdJTVBPUlRfU1RBVEUnXG59XG5cbi8qKlxuICogQWRkcyBzdXBwb3J0IGZvciB0aGUgUmVkdXggRGV2dG9vbHMgZXh0ZW5zaW9uOlxuICogaHR0cDovL2V4dGVuc2lvbi5yZW1vdGVkZXYuaW8vXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZ3hzUmVkdXhEZXZ0b29sc1BsdWdpbiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgTmd4c1BsdWdpbiB7XG4gIHByaXZhdGUgZGV2dG9vbHNFeHRlbnNpb246IE5neHNEZXZ0b29sc0V4dGVuc2lvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IGdsb2JhbERldnRvb2xzID1cbiAgICDJtWdsb2JhbFsnX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXyddIHx8IMm1Z2xvYmFsWydkZXZUb29sc0V4dGVuc2lvbiddO1xuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFZvaWRGdW5jdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTkdYU19ERVZUT09MU19PUFRJT05TKSBwcml2YXRlIF9vcHRpb25zOiBOZ3hzRGV2dG9vbHNPcHRpb25zLFxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZVxuICApIHtcbiAgICB0aGlzLmNvbm5lY3QoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnVuc3Vic2NyaWJlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmdsb2JhbERldnRvb2xzKSB7XG4gICAgICB0aGlzLmdsb2JhbERldnRvb2xzLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGF6eSBnZXQgdGhlIHN0b3JlIGZvciBjaXJjdWxhciBkZXBlbmRlbmN5IGlzc3Vlc1xuICAgKi9cbiAgcHJpdmF0ZSBnZXQgc3RvcmUoKTogU3RvcmUge1xuICAgIHJldHVybiB0aGlzLl9pbmplY3Rvci5nZXQ8U3RvcmU+KFN0b3JlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNaWRkbGV3YXJlIGhhbmRsZSBmdW5jdGlvblxuICAgKi9cbiAgaGFuZGxlKHN0YXRlOiBhbnksIGFjdGlvbjogYW55LCBuZXh0OiBOZ3hzTmV4dFBsdWdpbkZuKSB7XG4gICAgaWYgKCF0aGlzLmRldnRvb2xzRXh0ZW5zaW9uIHx8IHRoaXMuX29wdGlvbnMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiBuZXh0KHN0YXRlLCBhY3Rpb24pO1xuICAgIH1cblxuICAgIHJldHVybiBuZXh0KHN0YXRlLCBhY3Rpb24pLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSB0aGlzLnN0b3JlLnNuYXBzaG90KCk7XG4gICAgICAgIHRoaXMuc2VuZFRvRGV2VG9vbHMoc3RhdGUsIGFjdGlvbiwgbmV3U3RhdGUpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pLFxuICAgICAgdGFwKG5ld1N0YXRlID0+IHtcbiAgICAgICAgdGhpcy5zZW5kVG9EZXZUb29scyhzdGF0ZSwgYWN0aW9uLCBuZXdTdGF0ZSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNlbmRUb0RldlRvb2xzKHN0YXRlOiBhbnksIGFjdGlvbjogYW55LCBuZXdTdGF0ZTogYW55KSB7XG4gICAgY29uc3QgdHlwZSA9IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UoYWN0aW9uKTtcbiAgICAvLyBpZiBpbml0IGFjdGlvbiwgc2VuZCBpbml0aWFsIHN0YXRlIHRvIGRldiB0b29sc1xuICAgIGNvbnN0IGlzSW5pdEFjdGlvbiA9IHR5cGUgPT09IEluaXRTdGF0ZS50eXBlO1xuICAgIGlmIChpc0luaXRBY3Rpb24pIHtcbiAgICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24hLmluaXQoc3RhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRldnRvb2xzRXh0ZW5zaW9uIS5zZW5kKHsgLi4uYWN0aW9uLCBhY3Rpb246IG51bGwsIHR5cGUgfSwgbmV3U3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgdGhlIGFjdGlvbiBmcm9tIHRoZSBkZXYgdG9vbHMgc3Vic2NyaXB0aW9uXG4gICAqL1xuICBkaXNwYXRjaGVkKGFjdGlvbjogTmd4c0RldnRvb2xzQWN0aW9uKSB7XG4gICAgaWYgKGFjdGlvbi50eXBlID09PSBSZWR1eERldnRvb2xzQWN0aW9uVHlwZS5EaXNwYXRjaCkge1xuICAgICAgaWYgKFxuICAgICAgICBhY3Rpb24ucGF5bG9hZC50eXBlID09PSBSZWR1eERldnRvb2xzUGF5bG9hZFR5cGUuSnVtcFRvQWN0aW9uIHx8XG4gICAgICAgIGFjdGlvbi5wYXlsb2FkLnR5cGUgPT09IFJlZHV4RGV2dG9vbHNQYXlsb2FkVHlwZS5KdW1wVG9TdGF0ZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHByZXZTdGF0ZSA9IEpTT04ucGFyc2UoYWN0aW9uLnN0YXRlKTtcbiAgICAgICAgLy8gVGhpcyBtYWtlcyB0aGUgRGV2VG9vbHMgYW5kIFJvdXRlciBwbHVnaW5zIGNvbXBhdGlibGUgd2l0aCBlYWNoIG90aGVyLlxuICAgICAgICAvLyBXZSBjaGVjayBmb3IgdGhlIGV4aXN0ZW5jZSBvZiB0aGUgYHJvdXRlcmAgc3RhdGUgYW5kIGVuc3VyZSBpdCBoYXMgdGhlXG4gICAgICAgIC8vIGB0cmlnZ2VyYCBwcm9wZXJ0eSwgY29uZmlybWluZyB0aGF0IGl0IGlzIG91ciByb3V0ZXIgc3RhdGUgKGNvbWluZyBmcm9tIGBAbmd4cy9yb3V0ZXItcGx1Z2luYCkuXG4gICAgICAgIC8vIFRoaXMgZW5hYmxlcyBhIHRpbWUtdHJhdmVsaW5nIGZlYXR1cmUsIGFzIGl0IG5vdCBvbmx5IHJlc3RvcmVzIHRoZSBzdGF0ZSBidXRcbiAgICAgICAgLy8gYWxzbyBhbGxvd3MgdGhlIGBSb3V0ZXJTdGF0ZWAgdG8gbmF2aWdhdGUgYmFjayB3aGVuIHRoZSBhY3Rpb24gaXMganVtcGVkLlxuICAgICAgICBpZiAocHJldlN0YXRlLnJvdXRlciAmJiBwcmV2U3RhdGUucm91dGVyLnRyaWdnZXIpIHtcbiAgICAgICAgICBwcmV2U3RhdGUucm91dGVyLnRyaWdnZXIgPSAnZGV2dG9vbHMnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RvcmUucmVzZXQocHJldlN0YXRlKTtcbiAgICAgIH0gZWxzZSBpZiAoYWN0aW9uLnBheWxvYWQudHlwZSA9PT0gUmVkdXhEZXZ0b29sc1BheWxvYWRUeXBlLlRvZ2dsZUFjdGlvbikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1NraXAgaXMgbm90IHN1cHBvcnRlZCBhdCB0aGlzIHRpbWUuJyk7XG4gICAgICB9IGVsc2UgaWYgKGFjdGlvbi5wYXlsb2FkLnR5cGUgPT09IFJlZHV4RGV2dG9vbHNQYXlsb2FkVHlwZS5JbXBvcnRTdGF0ZSkge1xuICAgICAgICBjb25zdCB7IGFjdGlvbnNCeUlkLCBjb21wdXRlZFN0YXRlcywgY3VycmVudFN0YXRlSW5kZXggfSA9XG4gICAgICAgICAgYWN0aW9uLnBheWxvYWQubmV4dExpZnRlZFN0YXRlO1xuICAgICAgICB0aGlzLmRldnRvb2xzRXh0ZW5zaW9uIS5pbml0KGNvbXB1dGVkU3RhdGVzWzBdLnN0YXRlKTtcbiAgICAgICAgT2JqZWN0LmtleXMoYWN0aW9uc0J5SWQpXG4gICAgICAgICAgLmZpbHRlcihhY3Rpb25JZCA9PiBhY3Rpb25JZCAhPT0gJzAnKVxuICAgICAgICAgIC5mb3JFYWNoKGFjdGlvbklkID0+XG4gICAgICAgICAgICB0aGlzLmRldnRvb2xzRXh0ZW5zaW9uIS5zZW5kKGFjdGlvbnNCeUlkW2FjdGlvbklkXSwgY29tcHV0ZWRTdGF0ZXNbYWN0aW9uSWRdLnN0YXRlKVxuICAgICAgICAgICk7XG4gICAgICAgIHRoaXMuc3RvcmUucmVzZXQoY29tcHV0ZWRTdGF0ZXNbY3VycmVudFN0YXRlSW5kZXhdLnN0YXRlKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFjdGlvbi50eXBlID09PSBSZWR1eERldnRvb2xzQWN0aW9uVHlwZS5BY3Rpb24pIHtcbiAgICAgIGNvbnN0IGFjdGlvblBheWxvYWQgPSBKU09OLnBhcnNlKGFjdGlvbi5wYXlsb2FkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uUGF5bG9hZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb25uZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5nbG9iYWxEZXZ0b29scyB8fCB0aGlzLl9vcHRpb25zLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVGhlIGBjb25uZWN0YCBtZXRob2QgYWRkcyBhIGBtZXNzYWdlYCBldmVudCBsaXN0ZW5lciB0byBjb21tdW5pY2F0ZVxuICAgIC8vIHdpdGggYW4gZXh0ZW5zaW9uIHRocm91Z2ggYHdpbmRvdy5wb3N0TWVzc2FnZWAgYW5kIGhhbmRsZSBtZXNzYWdlIGV2ZW50cy5cbiAgICAvLyBTaW5jZSB3ZSBvbmx5IGhhbmRsZSB0d28gc3BlY2lmaWMgZXZlbnRzLCB3ZSBhaW0gdG8gYXZvaWQgdW5uZWNlc3NhcnkgY2hhbmdlXG4gICAgLy8gZGV0ZWN0aW9ucyB0cmlnZ2VyZWQgYnkgZXZlbnRzIHRoYXQgdGhlIGV4dGVuc2lvbiBzZW5kcywgYnV0IHdlIGRvbid0IG5lZWQgdG8gaGFuZGxlLlxuICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24gPSB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoXG4gICAgICAoKSA9PiA8Tmd4c0RldnRvb2xzRXh0ZW5zaW9uPnRoaXMuZ2xvYmFsRGV2dG9vbHMuY29ubmVjdCh0aGlzLl9vcHRpb25zKVxuICAgICk7XG5cbiAgICB0aGlzLnVuc3Vic2NyaWJlID0gdGhpcy5kZXZ0b29sc0V4dGVuc2lvbi5zdWJzY3JpYmUoYWN0aW9uID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgYWN0aW9uLnR5cGUgPT09IFJlZHV4RGV2dG9vbHNBY3Rpb25UeXBlLkRpc3BhdGNoIHx8XG4gICAgICAgIGFjdGlvbi50eXBlID09PSBSZWR1eERldnRvb2xzQWN0aW9uVHlwZS5BY3Rpb25cbiAgICAgICkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoZWQoYWN0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19 |
import * as i0 from '@angular/core'; | ||
import { InjectionToken, ɵglobal, Injectable, Inject, NgModule } from '@angular/core'; | ||
import { Store, getActionTypeFromInstance, NGXS_PLUGINS } from '@ngxs/store'; | ||
import { Store, getActionTypeFromInstance, InitState, NGXS_PLUGINS } from '@ngxs/store'; | ||
import { catchError, tap } from 'rxjs/operators'; | ||
@@ -54,3 +54,3 @@ | ||
// if init action, send initial state to dev tools | ||
const isInitAction = type === '@@INIT'; | ||
const isInitAction = type === InitState.type; | ||
if (isInitAction) { | ||
@@ -71,8 +71,7 @@ this.devtoolsExtension.init(state); | ||
const prevState = JSON.parse(action.state); | ||
// This makes the DevTools and Router plugins friends with each other. | ||
// We're checking for the `router` state to exist, and it also should | ||
// have the `trigger` property, so we're sure that this is our router | ||
// state (coming from `@ngxs/router-plugin`). This enables a time-traveling | ||
// feature since it doesn't only restore the state but also allows the `RouterState` | ||
// to navigate back when the action is jumped. | ||
// This makes the DevTools and Router plugins compatible with each other. | ||
// We check for the existence of the `router` state and ensure it has the | ||
// `trigger` property, confirming that it is our router state (coming from `@ngxs/router-plugin`). | ||
// This enables a time-traveling feature, as it not only restores the state but | ||
// also allows the `RouterState` to navigate back when the action is jumped. | ||
if (prevState.router && prevState.router.trigger) { | ||
@@ -104,6 +103,6 @@ prevState.router.trigger = 'devtools'; | ||
} | ||
// The `connect` method adds `message` event listener since it communicates | ||
// with an extension through `window.postMessage` and message events. | ||
// We handle only 2 events; thus, we don't want to run many change detections | ||
// because the extension sends events that we don't have to handle. | ||
// The `connect` method adds a `message` event listener to communicate | ||
// with an extension through `window.postMessage` and handle message events. | ||
// Since we only handle two specific events, we aim to avoid unnecessary change | ||
// detections triggered by events that the extension sends, but we don't need to handle. | ||
this.devtoolsExtension = this._ngZone.runOutsideAngular(() => this.globalDevtools.connect(this._options)); | ||
@@ -113,5 +112,3 @@ this.unsubscribe = this.devtoolsExtension.subscribe(action => { | ||
action.type === "ACTION" /* Action */) { | ||
this._ngZone.run(() => { | ||
this.dispatched(action); | ||
}); | ||
this.dispatched(action); | ||
} | ||
@@ -118,0 +115,0 @@ }); |
@@ -5,3 +5,3 @@ { | ||
"description": "redux devtools plugin for @ngxs/store", | ||
"version": "3.8.1-dev.master-3e21e23", | ||
"version": "3.8.1-dev.master-5828e37", | ||
"sideEffects": true, | ||
@@ -8,0 +8,0 @@ "peerDependencies": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
82387
668