Socket
Socket
Sign inDemoInstall

@ngxs/devtools-plugin

Package Overview
Dependencies
Maintainers
1
Versions
1268
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ngxs/devtools-plugin - npm Package Compare versions

Comparing version 3.8.1 to 3.8.2

25

bundles/ngxs-devtools-plugin.umd.js

@@ -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,7 +5,7 @@ {

"description": "redux devtools plugin for @ngxs/store",
"version": "3.8.1",
"version": "3.8.2",
"sideEffects": true,
"peerDependencies": {
"@ngxs/store": "^3.8.1 || ^3.8.1-dev",
"@angular/core": ">=12.0.0 <17.0.0",
"@ngxs/store": "^3.8.2 || ^3.8.2-dev",
"@angular/core": ">=12.0.0 <18.0.0",
"rxjs": ">=6.5.5"

@@ -12,0 +12,0 @@ },

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc