ng-simple-state 16.0.1 → 17.0.1
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/esm2022/lib/ng-simple-state-base-store.mjs +12 -11
- package/esm2022/lib/ng-simple-state-browser-storage.mjs +2 -2
- package/esm2022/lib/ng-simple-state-dev-tool.mjs +8 -9
- package/esm2022/lib/ng-simple-state-local-storage.mjs +6 -7
- package/esm2022/lib/ng-simple-state-session-storage.mjs +6 -7
- package/esm2022/lib/ng-simple-state.module.mjs +6 -7
- package/fesm2022/ng-simple-state.mjs +29 -27
- package/fesm2022/ng-simple-state.mjs.map +1 -1
- package/lib/ng-simple-state-base-store.d.ts +1 -1
- package/lib/ng-simple-state-browser-storage.d.ts +1 -1
- package/lib/ng-simple-state-dev-tool.d.ts +2 -2
- package/package.json +1 -1
|
@@ -6,7 +6,8 @@ import { NgSimpleStateLocalStorage } from './ng-simple-state-local-storage';
|
|
|
6
6
|
import { NG_SIMPLE_STORE_CONFIG } from './ng-simple-state-models';
|
|
7
7
|
import { NgSimpleStateSessionStorage } from './ng-simple-state-session-storage';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
export class NgSimpleStateBaseStore {
|
|
10
11
|
/**
|
|
11
12
|
* Return the observable of the state
|
|
12
13
|
* @returns Observable of the state
|
|
@@ -131,14 +132,14 @@ class NgSimpleStateBaseStore {
|
|
|
131
132
|
* Send to dev tool a new state
|
|
132
133
|
* @param newState new state
|
|
133
134
|
* @param actionName The action name
|
|
134
|
-
* @returns True if
|
|
135
|
+
* @returns True if dev tools are enabled
|
|
135
136
|
*/
|
|
136
137
|
devToolSend(newState, actionName) {
|
|
137
138
|
if (!this.devToolIsEnabled || !this.devTool) {
|
|
138
139
|
return false;
|
|
139
140
|
}
|
|
140
141
|
if (!actionName) {
|
|
141
|
-
//
|
|
142
|
+
// retrieve the parent (of parent) method into the stack trace
|
|
142
143
|
actionName = new Error().stack
|
|
143
144
|
?.split('\n')[3]
|
|
144
145
|
.trim()
|
|
@@ -172,20 +173,20 @@ class NgSimpleStateBaseStore {
|
|
|
172
173
|
// At this point we know that we're dealing with either an array or plain object, so
|
|
173
174
|
// just freeze it and recurse on its values.
|
|
174
175
|
Object.freeze(object);
|
|
176
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
175
177
|
Object.keys(object).forEach(key => this.deepFreeze(object[key]));
|
|
176
178
|
return object;
|
|
177
179
|
}
|
|
178
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
179
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
180
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
180
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateBaseStore, deps: [{ token: Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
181
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: NgSimpleStateBaseStore, ngImport: i0 }); }
|
|
182
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateBaseStore }); }
|
|
181
183
|
}
|
|
182
|
-
|
|
183
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgSimpleStateBaseStore, decorators: [{
|
|
184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateBaseStore, decorators: [{
|
|
184
185
|
type: Injectable
|
|
185
186
|
}, {
|
|
186
187
|
type: Directive
|
|
187
|
-
}], ctorParameters:
|
|
188
|
+
}], ctorParameters: () => [{ type: i0.Injector, decorators: [{
|
|
188
189
|
type: Inject,
|
|
189
190
|
args: [Injector]
|
|
190
|
-
}] }]
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2ltcGxlLXN0YXRlLWJhc2Utc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1zaW1wbGUtc3RhdGUvc3JjL2xpYi9uZy1zaW1wbGUtc3RhdGUtYmFzZS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWEsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBNEIsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFaEYsTUFFc0Isc0JBQXNCO0lBY3hDOzs7T0FHRztJQUNILElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBOEIsUUFBa0I7UUFYeEMsWUFBTyxHQUFZLFNBQVMsRUFBRSxDQUFDO1FBYW5DLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBRTVELElBQUksQ0FB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QUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDMUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsR0FBRyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDNUQ7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFVBQVUsQ0FBQyxNQUFTO1FBQ3hCLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUMxQixPQUFPLE1BQXFCLENBQUM7U0FDaEM7UUFFRCxtRkFBbUY7UUFDbkYsd0VBQXdFO1FBQ3hFLEVBQUU7UUFDRiw2RUFBNkU7UUFDN0Usd0VBQXdFO1FBQ3hFLG9CQUFvQjtRQUNwQixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsT0FBTyxNQUFxQixDQUFDO1NBQ2hDO1FBRUQsb0ZBQW9GO1FBQ3BGLDRDQUE0QztRQUM1QyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBRSxNQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFFLE9BQU8sTUFBcUIsQ0FBQztJQUNqQyxDQUFDOzhHQXhOaUIsc0JBQXNCLGtCQXNCcEIsUUFBUTtrR0F0QlYsc0JBQXNCO2tIQUF0QixzQkFBc0I7O1NBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUYzQyxVQUFVOztrQkFDVixTQUFTOzswQkF1Qk8sTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciwgT25EZXN0cm95LCBEaXJlY3RpdmUsIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGFzeW5jU2NoZWR1bGVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG9ic2VydmVPbiB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTmdTaW1wbGVTdGF0ZUJyb3dzZXJTdG9yYWdlIH0gZnJvbSAnLi9uZy1zaW1wbGUtc3RhdGUtYnJvd3Nlci1zdG9yYWdlJztcclxuaW1wb3J0IHsgTmdTaW1wbGVTdGF0ZURldlRvb2wgfSBmcm9tICcuL25nLXNpbXBsZS1zdGF0ZS1kZXYtdG9vbCc7XHJcbmltcG9ydCB7IE5nU2ltcGxlU3RhdGVMb2NhbFN0b3JhZ2UgfSBmcm9tICcuL25nLXNpbXBsZS1zdGF0ZS1sb2NhbC1zdG9yYWdlJztcclxuaW1wb3J0IHsgTmdTaW1wbGVTdGF0ZVN0b3JlQ29uZmlnLCBOR19TSU1QTEVfU1RPUkVfQ09ORklHIH0gZnJvbSAnLi9uZy1zaW1wbGUtc3RhdGUtbW9kZWxzJztcclxuaW1wb3J0IHsgTmdTaW1wbGVTdGF0ZVNlc3Npb25TdG9yYWdlIH0gZnJvbSAnLi9uZy1zaW1wbGUtc3RhdGUtc2Vzc2lvbi1zdG9yYWdlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOZ1NpbXBsZVN0YXRlQmFzZVN0b3JlPFMgZXh0ZW5kcyBvYmplY3QgfCBBcnJheTxhbnk+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0ZSQ6IEJlaGF2aW9yU3ViamVjdDxTPjtcclxuICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlSXNFbmFibGVkOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBkZXZUb29sSXNFbmFibGVkOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBkZXZUb29sITogTmdTaW1wbGVTdGF0ZURldlRvb2w7XHJcbiAgICBwcml2YXRlIHBlcnNpc3RlbnRTdG9yYWdlITogTmdTaW1wbGVTdGF0ZUJyb3dzZXJTdG9yYWdlO1xyXG4gICAgcHJpdmF0ZSBsb2NhbFN0b3JlQ29uZmlnOiBOZ1NpbXBsZVN0YXRlU3RvcmVDb25maWc7XHJcbiAgICBwcml2YXRlIHN0b3JlTmFtZTogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBmaXJzdFN0YXRlITogUztcclxuICAgIHByaXZhdGUgaXNBcnJheTogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgZGV2TW9kZTogYm9vbGVhbiA9IGlzRGV2TW9kZSgpO1xyXG4gICAgcHJpdmF0ZSBjb21wYXJhdG9yITogPEs+KHByZXZpb3VzOiBLLCBjdXJyZW50OiBLKSA9PiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJuIHRoZSBvYnNlcnZhYmxlIG9mIHRoZSBzdGF0ZVxyXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgc3RhdGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBzdGF0ZSgpOiBCZWhhdmlvclN1YmplY3Q8Uz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlJDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEluamVjdG9yKSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuXHJcbiAgICAgICAgY29uc3QgZ2xvYmFsQ29uZmlnID0gaW5qZWN0b3IuZ2V0KE5HX1NJTVBMRV9TVE9SRV9DT05GSUcsIHt9KTtcclxuICAgICAgICBjb25zdCBzdG9yZUNvbmZpZyA9IHRoaXMuc3RvcmVDb25maWcoKSB8fCB7fTtcclxuICAgICAgICB0aGlzLmxvY2FsU3RvcmVDb25maWcgPSB7IC4uLmdsb2JhbENvbmZpZywgLi4uc3RvcmVDb25maWcgfTtcclxuXHJcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2VJc0VuYWJsZWQgPSB0eXBlb2YgdGhpcy5sb2NhbFN0b3JlQ29uZmlnLmVuYWJsZUxvY2FsU3RvcmFnZSA9PT0gJ2Jvb2xlYW4nID8gdGhpcy5sb2NhbFN0b3JlQ29uZmlnLmVuYWJsZUxvY2FsU3RvcmFnZSA6IGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5sb2NhbFN0b3JhZ2VJc0VuYWJsZWQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubG9jYWxTdG9yZUNvbmZpZy5wZXJzaXN0ZW50U3RvcmFnZSA9PT0gJ2xvY2FsJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wZXJzaXN0ZW50U3RvcmFnZSA9IGluamVjdG9yLmdldChOZ1NpbXBsZVN0YXRlTG9jYWxTdG9yYWdlKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxvY2FsU3RvcmVDb25maWcucGVyc2lzdGVudFN0b3JhZ2UgPT09ICdzZXNzaW9uJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wZXJzaXN0ZW50U3RvcmFnZSA9IGluamVjdG9yLmdldChOZ1NpbXBsZVN0YXRlU2Vzc2lvblN0b3JhZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRldlRvb2xJc0VuYWJsZWQgPSB0eXBlb2YgdGhpcy5sb2NhbFN0b3JlQ29uZmlnLmVuYWJsZURldlRvb2wgPT09ICdib29sZWFuJyA/IHRoaXMubG9jYWxTdG9yZUNvbmZpZy5lbmFibGVEZXZUb29sIDogZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMuZGV2VG9vbElzRW5hYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmRldlRvb2wgPSBpbmplY3Rvci5nZXQoTmdTaW1wbGVTdGF0ZURldlRvb2wpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zdG9yZU5hbWUgPSB0eXBlb2YgdGhpcy5sb2NhbFN0b3JlQ29uZmlnLnN0b3JlTmFtZSA9PT0gJ3N0cmluZycgPyB0aGlzLmxvY2FsU3RvcmVDb25maWcuc3RvcmVOYW1lIDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5sb2NhbFN0b3JlQ29uZmlnLmNvbXBhcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21wYXJhdG9yID0gdGhpcy5sb2NhbFN0b3JlQ29uZmlnLmNvbXBhcmF0b3I7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5sb2NhbFN0b3JhZ2VJc0VuYWJsZWQgJiYgdGhpcy5wZXJzaXN0ZW50U3RvcmFnZSkge1xyXG4gICAgICAgICAgICBjb25zdCBmaXJzdFN0YXRlID0gdGhpcy5wZXJzaXN0ZW50U3RvcmFnZS5nZXRJdGVtPFM+KHRoaXMuc3RvcmVOYW1lKTtcclxuICAgICAgICAgICAgaWYgKGZpcnN0U3RhdGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlyc3RTdGF0ZSA9IGZpcnN0U3RhdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCF0aGlzLmZpcnN0U3RhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5maXJzdFN0YXRlID0gdGhpcy5pbml0aWFsU3RhdGUoaW5qZWN0b3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kZXZUb29sU2VuZCh0aGlzLmZpcnN0U3RhdGUsIGBpbml0aWFsU3RhdGVgKTtcclxuXHJcbiAgICAgICAgdGhpcy5pc0FycmF5ID0gQXJyYXkuaXNBcnJheSh0aGlzLmZpcnN0U3RhdGUpO1xyXG4gICAgICAgIHRoaXMuc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTPihPYmplY3QuYXNzaWduKHRoaXMuaXNBcnJheSA/IFtdIDoge30sIHRoaXMuZmlyc3RTdGF0ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hlbiB5b3Ugb3ZlcnJpZGUgdGhpcyBtZXRob2QsIHlvdSBoYXZlIHRvIGNhbGwgdGhlIGBzdXBlci5uZ09uRGVzdHJveSgpYCBtZXRob2QgaW4geW91ciBgbmdPbkRlc3Ryb3koKWAgbWV0aG9kLlxyXG4gICAgICovXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRldlRvb2xTZW5kKHVuZGVmaW5lZCwgJ25nT25EZXN0cm95Jyk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZSQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc2V0IHN0b3JlIHRvIGZpcnN0IGxvYWRlZCBzdG9yZSBzdGF0ZTpcclxuICAgICAqICAtIHRoZSBsYXN0IHNhdmVkIHN0YXRlLCBpZiBgZW5hYmxlTG9jYWxTdG9yYWdlYCBjb25maWcgaXMgYHRydWVgXHJcbiAgICAgKiAgLSBvdGhlcndpc2UgdGhlIGluaXRpYWwgc3RhdGUgcHJvdmlkZWQgZnJvbSBgaW5pdGlhbFN0YXRlKClgIG1ldGhvZC5cclxuICAgICAqL1xyXG4gICAgcmVzZXRTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXRTdGF0ZSgoKSA9PiB0aGlzLmZpcnN0U3RhdGUsICdyZXNldFN0YXRlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXN0YXJ0IHRoZSBzdG9yZSB0byBpbml0aWFsIHN0YXRlIHByb3ZpZGVkIGZyb20gYGluaXRpYWxTdGF0ZSgpYCBtZXRob2RcclxuICAgICAqL1xyXG4gICAgcmVzdGFydFN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldFN0YXRlKCgpID0+IHRoaXMuaW5pdGlhbFN0YXRlKCksICdyZXN0YXJ0U3RhdGUnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGZvciBzZXQgYSBzcGVjaWZpYyBjb25maWcgZm9yIHRoZSBzdG9yZVxyXG4gICAgICogQHJldHVybnMgTmdTaW1wbGVTdGF0ZVN0b3JlQ29uZmlnXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBzdG9yZUNvbmZpZygpOiBOZ1NpbXBsZVN0YXRlU3RvcmVDb25maWc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXQgaW50byB0aGUgc3RvcmUgdGhlIGluaXRpYWwgc3RhdGVcclxuICAgICAqIEBwYXJhbSBpbmplY3RvciBjdXJyZW50IEluamVjdG9yXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgc3RhdGUgb2JqZWN0XHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBpbml0aWFsU3RhdGUoaW5qZWN0b3I/OiBJbmplY3Rvcik6IFM7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZWxlY3QgYSBzdG9yZSBzdGF0ZVxyXG4gICAgICogQHBhcmFtIHNlbGVjdEZuIFN0YXRlIHNlbGVjdG9yIChpZiBub3QgcHJvdmlkZWQgcmV0dXJuIGZ1bGwgc3RhdGUpXHJcbiAgICAgKiBAcGFyYW0gY29tcGFyYXRvciBBIGZ1bmN0aW9uIHVzZWQgdG8gY29tcGFyZSB0aGUgcHJldmlvdXMgYW5kIGN1cnJlbnQgc3RhdGUgZm9yIGVxdWFsaXR5LiBEZWZhdWx0cyB0byBhIGA9PT1gIGNoZWNrLlxyXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgc2VsZWN0ZWQgc3RhdGVcclxuICAgICAqL1xyXG4gICAgc2VsZWN0U3RhdGU8Sz4oc2VsZWN0Rm4/OiAoc3RhdGU6IFJlYWRvbmx5PFM+KSA9PiBLLCBjb21wYXJhdG9yPzogKHByZXZpb3VzOiBLLCBjdXJyZW50OiBLKSA9PiBib29sZWFuKTogT2JzZXJ2YWJsZTxLPiB7XHJcbiAgICAgICAgaWYgKCFzZWxlY3RGbikge1xyXG4gICAgICAgICAgICBzZWxlY3RGbiA9ICh0bXBTdGF0ZTogUmVhZG9ubHk8Uz4pID0+IE9iamVjdC5hc3NpZ24odGhpcy5pc0FycmF5ID8gW10gOiB7fSwgdG1wU3RhdGUpIGFzIEs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghY29tcGFyYXRvciAmJiB0aGlzLmNvbXBhcmF0b3IpIHtcclxuICAgICAgICAgICAgY29tcGFyYXRvciA9IHRoaXMuY29tcGFyYXRvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChzdGF0ZSA9PiAoc2VsZWN0Rm4gYXMgKHN0YXRlOiBSZWFkb25seTxTPikgPT4gSykoc3RhdGUgYXMgUmVhZG9ubHk8Uz4pKSxcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoY29tcGFyYXRvciksXHJcbiAgICAgICAgICAgIG9ic2VydmVPbihhc3luY1NjaGVkdWxlcilcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJuIHRoZSBjdXJyZW50IHN0b3JlIHN0YXRlIChzbmFwc2hvdClcclxuICAgICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IHN0YXRlXHJcbiAgICAgKi9cclxuICAgIGdldEN1cnJlbnRTdGF0ZSgpOiBSZWFkb25seTxTPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVlcEZyZWV6ZSh0aGlzLnN0YXRlJC5nZXRWYWx1ZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybiB0aGUgZmlyc3QgbG9hZGVkIHN0b3JlIHN0YXRlOlxyXG4gICAgICogdGhlIGxhc3Qgc2F2ZWQgc3RhdGUsIGlmIGBlbmFibGVMb2NhbFN0b3JhZ2VgIGNvbmZpZyBpcyBgdHJ1ZWA7XHJcbiAgICAgKiBvdGhlcndpc2UgdGhlIGluaXRpYWwgc3RhdGUgcHJvdmlkZWQgZnJvbSBgaW5pdGlhbFN0YXRlKClgIG1ldGhvZC5cclxuICAgICAqIEByZXR1cm5zIFRoZSBmaXJzdCBzdGF0ZVxyXG4gICAgICovXHJcbiAgICBnZXRGaXJzdFN0YXRlKCk6IFJlYWRvbmx5PFM+IHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVlcEZyZWV6ZSh0aGlzLmZpcnN0U3RhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0IGEgbmV3IHN0YXRlXHJcbiAgICAgKiBAcGFyYW0gc2VsZWN0Rm4gU3RhdGUgcmVkdWNlclxyXG4gICAgICogQHBhcmFtIGFjdGlvbk5hbWUgVGhlIGFjdGlvbiBsYWJlbCBpbnRvIFJlZHV4IERldlRvb2xzIChkZWZhdWx0IGlzIHBhcmVudCBmdW5jdGlvbiBuYW1lKVxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc3RhdGUgaXMgY2hhbmdlZFxyXG4gICAgICovXHJcbiAgICBzZXRTdGF0ZShzdGF0ZUZuOiAoY3VycmVudFN0YXRlOiBSZWFkb25seTxTPikgPT4gUGFydGlhbDxTPiwgYWN0aW9uTmFtZT86IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGN1cnJTdGF0ZSA9IHRoaXMuZ2V0Q3VycmVudFN0YXRlKCk7XHJcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSBzdGF0ZUZuKGN1cnJTdGF0ZSk7XHJcbiAgICAgICAgaWYgKGN1cnJTdGF0ZSA9PT0gbmV3U3RhdGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgc3RhdGU6IFM7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNBcnJheSkge1xyXG4gICAgICAgICAgICBzdGF0ZSA9IE9iamVjdC5hc3NpZ24oW10gYXMgUywgbmV3U3RhdGUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHN0YXRlID0gT2JqZWN0LmFzc2lnbih7fSwgY3VyclN0YXRlLCBuZXdTdGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc3RhdGUkLm5leHQoc3RhdGUpO1xyXG4gICAgICAgIHRoaXMuZGV2VG9vbFNlbmQoc3RhdGUsIGFjdGlvbk5hbWUpO1xyXG4gICAgICAgIGlmICh0aGlzLmxvY2FsU3RvcmFnZUlzRW5hYmxlZCAmJiB0aGlzLnBlcnNpc3RlbnRTdG9yYWdlKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGVyc2lzdGVudFN0b3JhZ2Uuc2V0SXRlbTxTPih0aGlzLnN0b3JlTmFtZSwgc3RhdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlbmQgdG8gZGV2IHRvb2wgYSBuZXcgc3RhdGVcclxuICAgICAqIEBwYXJhbSBuZXdTdGF0ZSBuZXcgc3RhdGVcclxuICAgICAqIEBwYXJhbSBhY3Rpb25OYW1lIFRoZSBhY3Rpb24gbmFtZVxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBmw6xkZXYgdG9vbHMgYXJlIGVuYWJsZWRcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBkZXZUb29sU2VuZChuZXdTdGF0ZTogUyB8IHVuZGVmaW5lZCwgYWN0aW9uTmFtZT86IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghdGhpcy5kZXZUb29sSXNFbmFibGVkIHx8ICF0aGlzLmRldlRvb2wpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWFjdGlvbk5hbWUpIHtcclxuICAgICAgICAgICAgLy8gcmV0cml2ZSB0aGUgcGFyZW50IChvZiBwYXJlbnQpIG1ldGhvZCBpbnRvIHRoZSBzdGFjayB0cmFjZVxyXG4gICAgICAgICAgICBhY3Rpb25OYW1lID0gbmV3IEVycm9yKCkuc3RhY2tcclxuICAgICAgICAgICAgICAgID8uc3BsaXQoJ1xcbicpWzNdXHJcbiAgICAgICAgICAgICAgICAudHJpbSgpXHJcbiAgICAgICAgICAgICAgICAuc3BsaXQoJyAnKVsxXVxyXG4gICAgICAgICAgICAgICAgLnNwbGl0KCcuJylbMV0gfHwgJ3Vua25vd24nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMuZGV2VG9vbC5zZW5kKHRoaXMuc3RvcmVOYW1lLCBhY3Rpb25OYW1lLCBuZXdTdGF0ZSkpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5zdG9yZU5hbWUgKyAnLicgKyBhY3Rpb25OYW1lLCBuZXdTdGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVjdXJzaXZlbHkgT2JqZWN0LmZyZWV6ZSBzaW1wbGUgSmF2YXNjcmlwdCBzdHJ1Y3R1cmVzIGNvbnNpc3Rpbmcgb2YgcGxhaW4gb2JqZWN0cywgYXJyYXlzLCBhbmQgcHJpbWl0aXZlcy5cclxuICAgICAqIE1ha2UgdGhlIGRhdGEgaW1tdXRhYmxlLlxyXG4gICAgICogQHJldHVybnMgaW1tdXRhYmxlIG9iamVjdFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGRlZXBGcmVlemUob2JqZWN0OiBTKTogUmVhZG9ubHk8Uz4ge1xyXG4gICAgICAgIC8vIE5vIGZyZWV6aW5nIGluIHByb2R1Y3Rpb24gKGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UpLlxyXG4gICAgICAgIGlmICghdGhpcy5kZXZNb2RlIHx8ICFvYmplY3QpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9iamVjdCBhcyBSZWFkb25seTxTPjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFdoZW4gYWxyZWFkeSBmcm96ZW4sIHdlIGFzc3VtZSBpdHMgY2hpbGRyZW4gYXJlIGZyb3plbiAoZm9yIGJldHRlciBwZXJmb3JtYW5jZSkuXHJcbiAgICAgICAgLy8gVGhpcyBzaG91bGQgYmUgdHJ1ZSBpZiB5b3UgYWx3YXlzIHVzZSBgZGVlcEZyZWV6ZWAgdG8gZnJlZXplIG9iamVjdHMuXHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyBOb3RlIHRoYXQgT2JqZWN0LmlzRnJvemVuIHdpbGwgYWxzbyByZXR1cm4gYHRydWVgIGZvciBwcmltaXRpdmVzIChudW1iZXJzLFxyXG4gICAgICAgIC8vIHN0cmluZ3MsIGJvb2xlYW5zLCB1bmRlZmluZWQsIG51bGwpLCBzbyB0aGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGZvclxyXG4gICAgICAgIC8vIHRob3NlIGV4cGxpY2l0bHkuXHJcbiAgICAgICAgaWYgKE9iamVjdC5pc0Zyb3plbihvYmplY3QpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvYmplY3QgYXMgUmVhZG9ubHk8Uz47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIGtub3cgdGhhdCB3ZSdyZSBkZWFsaW5nIHdpdGggZWl0aGVyIGFuIGFycmF5IG9yIHBsYWluIG9iamVjdCwgc29cclxuICAgICAgICAvLyBqdXN0IGZyZWV6ZSBpdCBhbmQgcmVjdXJzZSBvbiBpdHMgdmFsdWVzLlxyXG4gICAgICAgIE9iamVjdC5mcmVlemUob2JqZWN0KTtcclxuICAgICAgICBPYmplY3Qua2V5cyhvYmplY3QpLmZvckVhY2goa2V5ID0+IHRoaXMuZGVlcEZyZWV6ZSgob2JqZWN0IGFzIGFueSlba2V5XSkpO1xyXG5cclxuICAgICAgICByZXR1cm4gb2JqZWN0IGFzIFJlYWRvbmx5PFM+O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
191
|
+
}] }] });
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2ltcGxlLXN0YXRlLWJhc2Utc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1zaW1wbGUtc3RhdGUvc3JjL2xpYi9uZy1zaW1wbGUtc3RhdGUtYmFzZS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWEsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBNEIsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFJaEYsOERBQThEO0FBQzlELE1BQU0sT0FBZ0Isc0JBQXNCO0lBY3hDOzs7T0FHRztJQUNILElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBOEIsUUFBa0I7UUFYeEMsWUFBTyxHQUFZLFNBQVMsRUFBRSxDQUFDO1FBYW5DLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLFdBQVcsRUFBRSxD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ciwgT25EZXN0cm95LCBEaXJlY3RpdmUsIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGFzeW5jU2NoZWR1bGVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG9ic2VydmVPbiB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTmdTaW1wbGVTdGF0ZUJyb3dzZXJTdG9yYWdlIH0gZnJvbSAnLi9uZy1zaW1wbGUtc3RhdGUtYnJvd3Nlci1zdG9yYWdlJztcclxuaW1wb3J0IHsgTmdTaW1wbGVTdGF0ZURldlRvb2wgfSBmcm9tICcuL25nLXNpbXBsZS1zdGF0ZS1kZXYtdG9vbCc7XHJcbmltcG9ydCB7IE5nU2ltcGxlU3RhdGVMb2NhbFN0b3JhZ2UgfSBmcm9tICcuL25nLXNpbXBsZS1zdGF0ZS1sb2NhbC1zdG9yYWdlJztcclxuaW1wb3J0IHsgTmdTaW1wbGVTdGF0ZVN0b3JlQ29uZmlnLCBOR19TSU1QTEVfU1RPUkVfQ09ORklHIH0gZnJvbSAnLi9uZy1zaW1wbGUtc3RhdGUtbW9kZWxzJztcclxuaW1wb3J0IHsgTmdTaW1wbGVTdGF0ZVNlc3Npb25TdG9yYWdlIH0gZnJvbSAnLi9uZy1zaW1wbGUtc3RhdGUtc2Vzc2lvbi1zdG9yYWdlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuQERpcmVjdGl2ZSgpXHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOZ1NpbXBsZVN0YXRlQmFzZVN0b3JlPFMgZXh0ZW5kcyBvYmplY3QgfCBBcnJheTxhbnk+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0ZSQ6IEJlaGF2aW9yU3ViamVjdDxTPjtcclxuICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlSXNFbmFibGVkOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBkZXZUb29sSXNFbmFibGVkOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBkZXZUb29sITogTmdTaW1wbGVTdGF0ZURldlRvb2w7XHJcbiAgICBwcml2YXRlIHBlcnNpc3RlbnRTdG9yYWdlITogTmdTaW1wbGVTdGF0ZUJyb3dzZXJTdG9yYWdlO1xyXG4gICAgcHJpdmF0ZSBsb2NhbFN0b3JlQ29uZmlnOiBOZ1NpbXBsZVN0YXRlU3RvcmVDb25maWc7XHJcbiAgICBwcml2YXRlIHN0b3JlTmFtZTogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBmaXJzdFN0YXRlITogUztcclxuICAgIHByaXZhdGUgaXNBcnJheTogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgZGV2TW9kZTogYm9vbGVhbiA9IGlzRGV2TW9kZSgpO1xyXG4gICAgcHJpdmF0ZSBjb21wYXJhdG9yITogPEs+KHByZXZpb3VzOiBLLCBjdXJyZW50OiBLKSA9PiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJuIHRoZSBvYnNlcnZhYmxlIG9mIHRoZSBzdGF0ZVxyXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgc3RhdGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBzdGF0ZSgpOiBCZWhhdmlvclN1YmplY3Q8Uz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlJDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEluamVjdG9yKSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuXHJcbiAgICAgICAgY29uc3QgZ2xvYmFsQ29uZmlnID0gaW5qZWN0b3IuZ2V0KE5HX1NJTVBMRV9TVE9SRV9DT05GSUcsIHt9KTtcclxuICAgICAgICBjb25zdCBzdG9yZUNvbmZpZyA9IHRoaXMuc3RvcmVDb25maWcoKSB8fCB7fTtcclxuICAgICAgICB0aGlzLmxvY2FsU3RvcmVDb25maWcgPSB7IC4uLmdsb2JhbENvbmZpZywgLi4uc3RvcmVDb25maWcgfTtcclxuXHJcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2VJc0VuYWJsZWQgPSB0eXBlb2YgdGhpcy5sb2NhbFN0b3JlQ29uZmlnLmVuYWJsZUxvY2FsU3RvcmFnZSA9PT0gJ2Jvb2xlYW4nID8gdGhpcy5sb2NhbFN0b3JlQ29uZmlnLmVuYWJsZUxvY2FsU3RvcmFnZSA6IGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5sb2NhbFN0b3JhZ2VJc0VuYWJsZWQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubG9jYWxTdG9yZUNvbmZpZy5wZXJzaXN0ZW50U3RvcmFnZSA9PT0gJ2xvY2FsJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wZXJzaXN0ZW50U3RvcmFnZSA9IGluamVjdG9yLmdldChOZ1NpbXBsZVN0YXRlTG9jYWxTdG9yYWdlKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxvY2FsU3RvcmVDb25maWcucGVyc2lzdGVudFN0b3JhZ2UgPT09ICdzZXNzaW9uJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wZXJzaXN0ZW50U3RvcmFnZSA9IGluamVjdG9yLmdldChOZ1NpbXBsZVN0YXRlU2Vzc2lvblN0b3JhZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRldlRvb2xJc0VuYWJsZWQgPSB0eXBlb2YgdGhpcy5sb2NhbFN0b3JlQ29uZmlnLmVuYWJsZURldlRvb2wgPT09ICdib29sZWFuJyA/IHRoaXMubG9jYWxTdG9yZUNvbmZpZy5lbmFibGVEZXZUb29sIDogZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMuZGV2VG9vbElzRW5hYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmRldlRvb2wgPSBpbmplY3Rvci5nZXQoTmdTaW1wbGVTdGF0ZURldlRvb2wpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zdG9yZU5hbWUgPSB0eXBlb2YgdGhpcy5sb2NhbFN0b3JlQ29uZmlnLnN0b3JlTmFtZSA9PT0gJ3N0cmluZycgPyB0aGlzLmxvY2FsU3RvcmVDb25maWcuc3RvcmVOYW1lIDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5sb2NhbFN0b3JlQ29uZmlnLmNvbXBhcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21wYXJhdG9yID0gdGhpcy5sb2NhbFN0b3JlQ29uZmlnLmNvbXBhcmF0b3I7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5sb2NhbFN0b3JhZ2VJc0VuYWJsZWQgJiYgdGhpcy5wZXJzaXN0ZW50U3RvcmFnZSkge1xyXG4gICAgICAgICAgICBjb25zdCBmaXJzdFN0YXRlID0gdGhpcy5wZXJzaXN0ZW50U3RvcmFnZS5nZXRJdGVtPFM+KHRoaXMuc3RvcmVOYW1lKTtcclxuICAgICAgICAgICAgaWYgKGZpcnN0U3RhdGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlyc3RTdGF0ZSA9IGZpcnN0U3RhdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCF0aGlzLmZpcnN0U3RhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5maXJzdFN0YXRlID0gdGhpcy5pbml0aWFsU3RhdGUoaW5qZWN0b3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kZXZUb29sU2VuZCh0aGlzLmZpcnN0U3RhdGUsIGBpbml0aWFsU3RhdGVgKTtcclxuXHJcbiAgICAgICAgdGhpcy5pc0FycmF5ID0gQXJyYXkuaXNBcnJheSh0aGlzLmZpcnN0U3RhdGUpO1xyXG4gICAgICAgIHRoaXMuc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTPihPYmplY3QuYXNzaWduKHRoaXMuaXNBcnJheSA/IFtdIDoge30sIHRoaXMuZmlyc3RTdGF0ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hlbiB5b3Ugb3ZlcnJpZGUgdGhpcyBtZXRob2QsIHlvdSBoYXZlIHRvIGNhbGwgdGhlIGBzdXBlci5uZ09uRGVzdHJveSgpYCBtZXRob2QgaW4geW91ciBgbmdPbkRlc3Ryb3koKWAgbWV0aG9kLlxyXG4gICAgICovXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRldlRvb2xTZW5kKHVuZGVmaW5lZCwgJ25nT25EZXN0cm95Jyk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZSQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc2V0IHN0b3JlIHRvIGZpcnN0IGxvYWRlZCBzdG9yZSBzdGF0ZTpcclxuICAgICAqICAtIHRoZSBsYXN0IHNhdmVkIHN0YXRlLCBpZiBgZW5hYmxlTG9jYWxTdG9yYWdlYCBjb25maWcgaXMgYHRydWVgXHJcbiAgICAgKiAgLSBvdGhlcndpc2UgdGhlIGluaXRpYWwgc3RhdGUgcHJvdmlkZWQgZnJvbSBgaW5pdGlhbFN0YXRlKClgIG1ldGhvZC5cclxuICAgICAqL1xyXG4gICAgcmVzZXRTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXRTdGF0ZSgoKSA9PiB0aGlzLmZpcnN0U3RhdGUsICdyZXNldFN0YXRlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXN0YXJ0IHRoZSBzdG9yZSB0byBpbml0aWFsIHN0YXRlIHByb3ZpZGVkIGZyb20gYGluaXRpYWxTdGF0ZSgpYCBtZXRob2RcclxuICAgICAqL1xyXG4gICAgcmVzdGFydFN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNldFN0YXRlKCgpID0+IHRoaXMuaW5pdGlhbFN0YXRlKCksICdyZXN0YXJ0U3RhdGUnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGZvciBzZXQgYSBzcGVjaWZpYyBjb25maWcgZm9yIHRoZSBzdG9yZVxyXG4gICAgICogQHJldHVybnMgTmdTaW1wbGVTdGF0ZVN0b3JlQ29uZmlnXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBzdG9yZUNvbmZpZygpOiBOZ1NpbXBsZVN0YXRlU3RvcmVDb25maWc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXQgaW50byB0aGUgc3RvcmUgdGhlIGluaXRpYWwgc3RhdGVcclxuICAgICAqIEBwYXJhbSBpbmplY3RvciBjdXJyZW50IEluamVjdG9yXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgc3RhdGUgb2JqZWN0XHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBpbml0aWFsU3RhdGUoaW5qZWN0b3I/OiBJbmplY3Rvcik6IFM7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZWxlY3QgYSBzdG9yZSBzdGF0ZVxyXG4gICAgICogQHBhcmFtIHNlbGVjdEZuIFN0YXRlIHNlbGVjdG9yIChpZiBub3QgcHJvdmlkZWQgcmV0dXJuIGZ1bGwgc3RhdGUpXHJcbiAgICAgKiBAcGFyYW0gY29tcGFyYXRvciBBIGZ1bmN0aW9uIHVzZWQgdG8gY29tcGFyZSB0aGUgcHJldmlvdXMgYW5kIGN1cnJlbnQgc3RhdGUgZm9yIGVxdWFsaXR5LiBEZWZhdWx0cyB0byBhIGA9PT1gIGNoZWNrLlxyXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgc2VsZWN0ZWQgc3RhdGVcclxuICAgICAqL1xyXG4gICAgc2VsZWN0U3RhdGU8Sz4oc2VsZWN0Rm4/OiAoc3RhdGU6IFJlYWRvbmx5PFM+KSA9PiBLLCBjb21wYXJhdG9yPzogKHByZXZpb3VzOiBLLCBjdXJyZW50OiBLKSA9PiBib29sZWFuKTogT2JzZXJ2YWJsZTxLPiB7XHJcbiAgICAgICAgaWYgKCFzZWxlY3RGbikge1xyXG4gICAgICAgICAgICBzZWxlY3RGbiA9ICh0bXBTdGF0ZTogUmVhZG9ubHk8Uz4pID0+IE9iamVjdC5hc3NpZ24odGhpcy5pc0FycmF5ID8gW10gOiB7fSwgdG1wU3RhdGUpIGFzIEs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghY29tcGFyYXRvciAmJiB0aGlzLmNvbXBhcmF0b3IpIHtcclxuICAgICAgICAgICAgY29tcGFyYXRvciA9IHRoaXMuY29tcGFyYXRvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChzdGF0ZSA9PiAoc2VsZWN0Rm4gYXMgKHN0YXRlOiBSZWFkb25seTxTPikgPT4gSykoc3RhdGUgYXMgUmVhZG9ubHk8Uz4pKSxcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoY29tcGFyYXRvciksXHJcbiAgICAgICAgICAgIG9ic2VydmVPbihhc3luY1NjaGVkdWxlcilcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJuIHRoZSBjdXJyZW50IHN0b3JlIHN0YXRlIChzbmFwc2hvdClcclxuICAgICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IHN0YXRlXHJcbiAgICAgKi9cclxuICAgIGdldEN1cnJlbnRTdGF0ZSgpOiBSZWFkb25seTxTPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVlcEZyZWV6ZSh0aGlzLnN0YXRlJC5nZXRWYWx1ZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybiB0aGUgZmlyc3QgbG9hZGVkIHN0b3JlIHN0YXRlOlxyXG4gICAgICogdGhlIGxhc3Qgc2F2ZWQgc3RhdGUsIGlmIGBlbmFibGVMb2NhbFN0b3JhZ2VgIGNvbmZpZyBpcyBgdHJ1ZWA7XHJcbiAgICAgKiBvdGhlcndpc2UgdGhlIGluaXRpYWwgc3RhdGUgcHJvdmlkZWQgZnJvbSBgaW5pdGlhbFN0YXRlKClgIG1ldGhvZC5cclxuICAgICAqIEByZXR1cm5zIFRoZSBmaXJzdCBzdGF0ZVxyXG4gICAgICovXHJcbiAgICBnZXRGaXJzdFN0YXRlKCk6IFJlYWRvbmx5PFM+IHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVlcEZyZWV6ZSh0aGlzLmZpcnN0U3RhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0IGEgbmV3IHN0YXRlXHJcbiAgICAgKiBAcGFyYW0gc2VsZWN0Rm4gU3RhdGUgcmVkdWNlclxyXG4gICAgICogQHBhcmFtIGFjdGlvbk5hbWUgVGhlIGFjdGlvbiBsYWJlbCBpbnRvIFJlZHV4IERldlRvb2xzIChkZWZhdWx0IGlzIHBhcmVudCBmdW5jdGlvbiBuYW1lKVxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc3RhdGUgaXMgY2hhbmdlZFxyXG4gICAgICovXHJcbiAgICBzZXRTdGF0ZShzdGF0ZUZuOiAoY3VycmVudFN0YXRlOiBSZWFkb25seTxTPikgPT4gUGFydGlhbDxTPiwgYWN0aW9uTmFtZT86IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGN1cnJTdGF0ZSA9IHRoaXMuZ2V0Q3VycmVudFN0YXRlKCk7XHJcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSBzdGF0ZUZuKGN1cnJTdGF0ZSk7XHJcbiAgICAgICAgaWYgKGN1cnJTdGF0ZSA9PT0gbmV3U3RhdGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgc3RhdGU6IFM7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNBcnJheSkge1xyXG4gICAgICAgICAgICBzdGF0ZSA9IE9iamVjdC5hc3NpZ24oW10gYXMgUywgbmV3U3RhdGUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHN0YXRlID0gT2JqZWN0LmFzc2lnbih7fSwgY3VyclN0YXRlLCBuZXdTdGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc3RhdGUkLm5leHQoc3RhdGUpO1xyXG4gICAgICAgIHRoaXMuZGV2VG9vbFNlbmQoc3RhdGUsIGFjdGlvbk5hbWUpO1xyXG4gICAgICAgIGlmICh0aGlzLmxvY2FsU3RvcmFnZUlzRW5hYmxlZCAmJiB0aGlzLnBlcnNpc3RlbnRTdG9yYWdlKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGVyc2lzdGVudFN0b3JhZ2Uuc2V0SXRlbTxTPih0aGlzLnN0b3JlTmFtZSwgc3RhdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlbmQgdG8gZGV2IHRvb2wgYSBuZXcgc3RhdGVcclxuICAgICAqIEBwYXJhbSBuZXdTdGF0ZSBuZXcgc3RhdGVcclxuICAgICAqIEBwYXJhbSBhY3Rpb25OYW1lIFRoZSBhY3Rpb24gbmFtZVxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBkZXYgdG9vbHMgYXJlIGVuYWJsZWRcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBkZXZUb29sU2VuZChuZXdTdGF0ZTogUyB8IHVuZGVmaW5lZCwgYWN0aW9uTmFtZT86IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghdGhpcy5kZXZUb29sSXNFbmFibGVkIHx8ICF0aGlzLmRldlRvb2wpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWFjdGlvbk5hbWUpIHtcclxuICAgICAgICAgICAgLy8gcmV0cmlldmUgdGhlIHBhcmVudCAob2YgcGFyZW50KSBtZXRob2QgaW50byB0aGUgc3RhY2sgdHJhY2VcclxuICAgICAgICAgICAgYWN0aW9uTmFtZSA9IG5ldyBFcnJvcigpLnN0YWNrXHJcbiAgICAgICAgICAgICAgICA/LnNwbGl0KCdcXG4nKVszXVxyXG4gICAgICAgICAgICAgICAgLnRyaW0oKVxyXG4gICAgICAgICAgICAgICAgLnNwbGl0KCcgJylbMV1cclxuICAgICAgICAgICAgICAgIC5zcGxpdCgnLicpWzFdIHx8ICd1bmtub3duJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCF0aGlzLmRldlRvb2wuc2VuZCh0aGlzLnN0b3JlTmFtZSwgYWN0aW9uTmFtZSwgbmV3U3RhdGUpKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc3RvcmVOYW1lICsgJy4nICsgYWN0aW9uTmFtZSwgbmV3U3RhdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlY3Vyc2l2ZWx5IE9iamVjdC5mcmVlemUgc2ltcGxlIEphdmFzY3JpcHQgc3RydWN0dXJlcyBjb25zaXN0aW5nIG9mIHBsYWluIG9iamVjdHMsIGFycmF5cywgYW5kIHByaW1pdGl2ZXMuXHJcbiAgICAgKiBNYWtlIHRoZSBkYXRhIGltbXV0YWJsZS5cclxuICAgICAqIEByZXR1cm5zIGltbXV0YWJsZSBvYmplY3RcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBkZWVwRnJlZXplKG9iamVjdDogUyk6IFJlYWRvbmx5PFM+IHtcclxuICAgICAgICAvLyBObyBmcmVlemluZyBpbiBwcm9kdWN0aW9uIChmb3IgYmV0dGVyIHBlcmZvcm1hbmNlKS5cclxuICAgICAgICBpZiAoIXRoaXMuZGV2TW9kZSB8fCAhb2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvYmplY3QgYXMgUmVhZG9ubHk8Uz47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBXaGVuIGFscmVhZHkgZnJvemVuLCB3ZSBhc3N1bWUgaXRzIGNoaWxkcmVuIGFyZSBmcm96ZW4gKGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UpLlxyXG4gICAgICAgIC8vIFRoaXMgc2hvdWxkIGJlIHRydWUgaWYgeW91IGFsd2F5cyB1c2UgYGRlZXBGcmVlemVgIHRvIGZyZWV6ZSBvYmplY3RzLlxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gTm90ZSB0aGF0IE9iamVjdC5pc0Zyb3plbiB3aWxsIGFsc28gcmV0dXJuIGB0cnVlYCBmb3IgcHJpbWl0aXZlcyAobnVtYmVycyxcclxuICAgICAgICAvLyBzdHJpbmdzLCBib29sZWFucywgdW5kZWZpbmVkLCBudWxsKSwgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBmb3JcclxuICAgICAgICAvLyB0aG9zZSBleHBsaWNpdGx5LlxyXG4gICAgICAgIGlmIChPYmplY3QuaXNGcm96ZW4ob2JqZWN0KSkge1xyXG4gICAgICAgICAgICByZXR1cm4gb2JqZWN0IGFzIFJlYWRvbmx5PFM+O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB3ZSBrbm93IHRoYXQgd2UncmUgZGVhbGluZyB3aXRoIGVpdGhlciBhbiBhcnJheSBvciBwbGFpbiBvYmplY3QsIHNvXHJcbiAgICAgICAgLy8ganVzdCBmcmVlemUgaXQgYW5kIHJlY3Vyc2Ugb24gaXRzIHZhbHVlcy5cclxuICAgICAgICBPYmplY3QuZnJlZXplKG9iamVjdCk7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBPYmplY3Qua2V5cyhvYmplY3QpLmZvckVhY2goa2V5ID0+IHRoaXMuZGVlcEZyZWV6ZSgob2JqZWN0IGFzIGFueSlba2V5XSkpO1xyXG5cclxuICAgICAgICByZXR1cm4gb2JqZWN0IGFzIFJlYWRvbmx5PFM+O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -15,7 +15,7 @@ export class NgSimpleStateBrowserStorage {
|
|
|
15
15
|
/**
|
|
16
16
|
* Set item into storage
|
|
17
17
|
* @param key key name
|
|
18
|
-
* @param state state
|
|
18
|
+
* @param state state value
|
|
19
19
|
* @returns True if item is stored into storage
|
|
20
20
|
*/
|
|
21
21
|
setItem(key, state) {
|
|
@@ -68,4 +68,4 @@ export class NgSimpleStateBrowserStorage {
|
|
|
68
68
|
return false;
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2ltcGxlLXN0YXRlLWJyb3dzZXItc3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXNpbXBsZS1zdGF0ZS9zcmMvbGliL25nLXNpbXBsZS1zdGF0ZS1icm93c2VyLXN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDO0FBRTFDLE1BQU0sT0FBZ0IsMkJBQTJCO0lBSTdDLFlBQW9CLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFGNUIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFHNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBSSxHQUFXLEVBQUUsS0FBUTtRQUM1QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDNUQsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTyxDQUFJLEdBQVc7UUFDbEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUNuRCxJQUFJLEtBQUssRUFBRTtnQkFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDNUI7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEdBQVc7UUFDbEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUN4QyxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUs7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDaEM7YUFDSjtZQUNELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQkFTRV9LRVkgPSAnTmdTaW1wbGVTdGF0ZTo6JztcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOZ1NpbXBsZVN0YXRlQnJvd3NlclN0b3JhZ2Uge1xyXG5cclxuICAgIHByaXZhdGUgaXNTdG9yYWdlQWN0aXZlID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlKSB7XHJcbiAgICAgICAgdGhpcy5pc1N0b3JhZ2VBY3RpdmUgPSAhIXN0b3JhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm4gdHJ1ZSBpZiBzdG9yYWdlIGlzIGFjdGl2ZVxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBzdG9yYWdlIGlzIGFjdGl2ZVxyXG4gICAgICovXHJcbiAgICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1N0b3JhZ2VBY3RpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXQgaXRlbSBpbnRvIHN0b3JhZ2VcclxuICAgICAqIEBwYXJhbSBrZXkga2V5IG5hbWVcclxuICAgICAqIEBwYXJhbSBzdGF0ZSBzdGF0ZSB2YWx1ZVxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBpdGVtIGlzIHN0b3JlZCBpbnRvIHN0b3JhZ2VcclxuICAgICAqL1xyXG4gICAgc2V0SXRlbTxLPihrZXk6IHN0cmluZywgc3RhdGU6IEspOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5pc1N0b3JhZ2VBY3RpdmUpIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oQkFTRV9LRVkgKyBrZXksIEpTT04uc3RyaW5naWZ5KHN0YXRlKSk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm4gaXRlbSBmcm9tIHN0b3JhZ2VcclxuICAgICAqIEBwYXJhbSBrZXkga2V5IG5hbWVcclxuICAgICAqIEByZXR1cm5zIHRoZSBpdGVtXHJcbiAgICAgKi9cclxuICAgIGdldEl0ZW08Sz4oa2V5OiBzdHJpbmcpOiBLIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNTdG9yYWdlQWN0aXZlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oQkFTRV9LRVkgKyBrZXkpO1xyXG4gICAgICAgICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHN0YXRlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZSBpdGVtIGZyb20gc3RvcmFnZVxyXG4gICAgICogQHBhcmFtIGtleSBrZXkgbmFtZVxyXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiBpdGVtIGlzIHJlbW92ZWRcclxuICAgICAqL1xyXG4gICAgcmVtb3ZlSXRlbShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLmlzU3RvcmFnZUFjdGl2ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlSXRlbShCQVNFX0tFWSArIGtleSk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmVzIGFsbCBrZXkvdmFsdWUgcGFpcnMsIGlmIHRoZXJlIGFyZSBhbnkuXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHN0b3JhZ2UgaXMgY2xlYXJlZFxyXG4gICAgICovXHJcbiAgICBjbGVhcigpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5pc1N0b3JhZ2VBY3RpdmUpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGUgPSB0aGlzLnN0b3JhZ2UubGVuZ3RoOyBpIDwgZTsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSB0aGlzLnN0b3JhZ2Uua2V5KGkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGtleSAmJiBrZXkuc3RhcnRzV2l0aChCQVNFX0tFWSkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
class NgSimpleStateDevTool {
|
|
3
|
+
export class NgSimpleStateDevTool {
|
|
4
4
|
constructor(ngZone) {
|
|
5
5
|
this.globalDevtools = window.__REDUX_DEVTOOLS_EXTENSION__ || window.devToolsExtension;
|
|
6
6
|
this.isActiveDevtool = false;
|
|
@@ -24,8 +24,8 @@ class NgSimpleStateDevTool {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
|
-
* Return true if dev tool is
|
|
28
|
-
* @returns True if dev tool is
|
|
27
|
+
* Return true if dev tool is active
|
|
28
|
+
* @returns True if dev tool is active
|
|
29
29
|
*/
|
|
30
30
|
isActive() {
|
|
31
31
|
return this.isActiveDevtool;
|
|
@@ -44,12 +44,11 @@ class NgSimpleStateDevTool {
|
|
|
44
44
|
}
|
|
45
45
|
return false;
|
|
46
46
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
48
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateDevTool, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
48
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateDevTool, providedIn: 'root' }); }
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgSimpleStateDevTool, decorators: [{
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateDevTool, decorators: [{
|
|
52
51
|
type: Injectable,
|
|
53
52
|
args: [{ providedIn: 'root' }]
|
|
54
|
-
}], ctorParameters:
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
}], ctorParameters: () => [{ type: i0.NgZone }] });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2ltcGxlLXN0YXRlLWRldi10b29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctc2ltcGxlLXN0YXRlL3NyYy9saWIvbmctc2ltcGxlLXN0YXRlLWRldi10b29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBcUJuRCxNQUFNLE9BQU8sb0JBQW9CO0lBUTdCLFlBQVksTUFBYztRQU5sQixtQkFBYyxHQUFhLE1BQU0sQ0FBQyw0QkFBNEIsSUFBSSxNQUFNLENBQUMsaUJBQWlCLENBQUM7UUFFM0Ysb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsZUFBVSxHQUFHLG1CQUFtQixJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUM3QyxjQUFTLEdBQTJCLEVBQUUsQ0FBQztRQUczQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsMkVBQTJFO1lBQzNFLHFFQUFxRTtZQUNyRSw2RUFBNkU7WUFDN0UsbUVBQW1FO1lBQ25FLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7b0JBQzVDLElBQUksRUFBRSxlQUFlO29CQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7aUJBQzlCLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUMzQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDMUM7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQUksQ0FBSSxTQUFpQixFQUFFLFVBQWtCLEVBQUUsS0FBUTtRQUNuRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUMzQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBSSxHQUFHLFNBQVMsSUFBSSxVQUFVLEVBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2SSxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs4R0FoRFEsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FEUCxNQUFNOzsyRkFDbkIsb0JBQW9CO2tCQURoQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcblxyXG5pbnRlcmZhY2UgRGV2dG9vbHNMb2NhbCB7XHJcbiAgICBpbml0OiAoc3RhdGU6IG9iamVjdCkgPT4gdm9pZDtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICBzZW5kOiA8VD4oYWN0aW9uOiBzdHJpbmcsIHN0YXRlOiBSZWNvcmQ8c3RyaW5nLCBUPiwgb3B0aW9uczogYW55LCBpbnN0YW5jZUlkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbn1cclxuaW50ZXJmYWNlIERldnRvb2xzIHtcclxuICAgIGNvbm5lY3Qob3B0aW9uczogeyBuYW1lOiBzdHJpbmcsIGluc3RhbmNlSWQ6IHN0cmluZyB9KTogRGV2dG9vbHNMb2NhbDtcclxufVxyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XHJcbiAgICAgICAgX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXzogRGV2dG9vbHM7XHJcbiAgICAgICAgZGV2VG9vbHNFeHRlbnNpb246IERldnRvb2xzO1xyXG4gICAgfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgTmdTaW1wbGVTdGF0ZURldlRvb2wge1xyXG5cclxuICAgIHByaXZhdGUgZ2xvYmFsRGV2dG9vbHM6IERldnRvb2xzID0gd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18gfHwgd2luZG93LmRldlRvb2xzRXh0ZW5zaW9uO1xyXG4gICAgcHJpdmF0ZSBsb2NhbERldlRvb2whOiBEZXZ0b29sc0xvY2FsO1xyXG4gICAgcHJpdmF0ZSBpc0FjdGl2ZURldnRvb2wgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgaW5zdGFuY2VJZCA9IGBuZy1zaW1wbGUtc3RhdGUtJHtEYXRlLm5vdygpfWA7XHJcbiAgICBwcml2YXRlIGJhc2VTdGF0ZTogUmVjb3JkPHN0cmluZywgb2JqZWN0PiA9IHt9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKG5nWm9uZTogTmdab25lKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ2xvYmFsRGV2dG9vbHMpIHtcclxuICAgICAgICAgICAgLy8gVGhlIGBjb25uZWN0YCBtZXRob2QgYWRkcyBgbWVzc2FnZWAgZXZlbnQgbGlzdGVuZXIgc2luY2UgaXQgY29tbXVuaWNhdGVzXHJcbiAgICAgICAgICAgIC8vIHdpdGggYW4gZXh0ZW5zaW9uIHRocm91Z2ggYHdpbmRvdy5wb3N0TWVzc2FnZWAgYW5kIG1lc3NhZ2UgZXZlbnRzLlxyXG4gICAgICAgICAgICAvLyBXZSBoYW5kbGUgb25seSAyIGV2ZW50czsgdGh1cywgd2UgZG9uJ3Qgd2FudCB0byBydW4gbWFueSBjaGFuZ2UgZGV0ZWN0aW9uc1xyXG4gICAgICAgICAgICAvLyBiZWNhdXNlIHRoZSBleHRlbnNpb24gc2VuZHMgZXZlbnRzIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byBoYW5kbGUuXHJcbiAgICAgICAgICAgIG5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsRGV2VG9vbCA9IHRoaXMuZ2xvYmFsRGV2dG9vbHMuY29ubmVjdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ05nU2ltcGxlU3RhdGUnLFxyXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlSWQ6IHRoaXMuaW5zdGFuY2VJZFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzQWN0aXZlRGV2dG9vbCA9ICEhdGhpcy5sb2NhbERldlRvb2w7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0FjdGl2ZURldnRvb2wpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2FsRGV2VG9vbC5pbml0KHRoaXMuYmFzZVN0YXRlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJuIHRydWUgaWYgZGV2IHRvb2wgaXMgYWN0aXZlXHJcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIGRldiB0b29sIGlzIGFjdGl2ZVxyXG4gICAgICovXHJcbiAgICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc0FjdGl2ZURldnRvb2w7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZW5kIHRvIGRldiB0b29sIGEgbmV3IHN0YXRlXHJcbiAgICAgKiBAcGFyYW0gc3RvcmVOYW1lIFRoZSBzdG9yZSBuYW1lXHJcbiAgICAgKiBAcGFyYW0gYWN0aW9uTmFtZSBUaGUgYWN0aW9uIG5hbWVcclxuICAgICAqIEBwYXJhbSBzdGF0ZSB0aGUgc3RhdGVcclxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgZGV2IHRvb2wgaXMgZW5hYmxlZCBhbmQgYWN0aW9uIGlzIHNlbmRcclxuICAgICAqL1xyXG4gICAgc2VuZDxUPihzdG9yZU5hbWU6IHN0cmluZywgYWN0aW9uTmFtZTogc3RyaW5nLCBzdGF0ZTogVCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLmlzQWN0aXZlRGV2dG9vbCAmJiB0aGlzLmxvY2FsRGV2VG9vbCkge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2FsRGV2VG9vbC5zZW5kPFQ+KGAke3N0b3JlTmFtZX0uJHthY3Rpb25OYW1lfWAsIE9iamVjdC5hc3NpZ24odGhpcy5iYXNlU3RhdGUsIHsgW3N0b3JlTmFtZV06IHN0YXRlIH0pLCBmYWxzZSwgdGhpcy5pbnN0YW5jZUlkKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { NgSimpleStateBrowserStorage } from './ng-simple-state-browser-storage';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
class NgSimpleStateLocalStorage extends NgSimpleStateBrowserStorage {
|
|
4
|
+
export class NgSimpleStateLocalStorage extends NgSimpleStateBrowserStorage {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(localStorage);
|
|
7
7
|
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateLocalStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateLocalStorage, providedIn: 'root' }); }
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgSimpleStateLocalStorage, decorators: [{
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateLocalStorage, decorators: [{
|
|
13
12
|
type: Injectable,
|
|
14
13
|
args: [{ providedIn: 'root' }]
|
|
15
|
-
}], ctorParameters:
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
}], ctorParameters: () => [] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2ltcGxlLXN0YXRlLWxvY2FsLXN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1zaW1wbGUtc3RhdGUvc3JjL2xpYi9uZy1zaW1wbGUtc3RhdGUtbG9jYWwtc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUdoRixNQUFNLE9BQU8seUJBQTBCLFNBQVEsMkJBQTJCO0lBQ3RFO1FBQ0ksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7OEdBSFEseUJBQXlCO2tIQUF6Qix5QkFBeUIsY0FEWixNQUFNOzsyRkFDbkIseUJBQXlCO2tCQURyQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdTaW1wbGVTdGF0ZUJyb3dzZXJTdG9yYWdlIH0gZnJvbSAnLi9uZy1zaW1wbGUtc3RhdGUtYnJvd3Nlci1zdG9yYWdlJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBOZ1NpbXBsZVN0YXRlTG9jYWxTdG9yYWdlIGV4dGVuZHMgTmdTaW1wbGVTdGF0ZUJyb3dzZXJTdG9yYWdlIHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKGxvY2FsU3RvcmFnZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { NgSimpleStateBrowserStorage } from './ng-simple-state-browser-storage';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
class NgSimpleStateSessionStorage extends NgSimpleStateBrowserStorage {
|
|
4
|
+
export class NgSimpleStateSessionStorage extends NgSimpleStateBrowserStorage {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(sessionStorage);
|
|
7
7
|
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateSessionStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateSessionStorage, providedIn: 'root' }); }
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgSimpleStateSessionStorage, decorators: [{
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateSessionStorage, decorators: [{
|
|
13
12
|
type: Injectable,
|
|
14
13
|
args: [{ providedIn: 'root' }]
|
|
15
|
-
}], ctorParameters:
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
}], ctorParameters: () => [] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2ltcGxlLXN0YXRlLXNlc3Npb24tc3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXNpbXBsZS1zdGF0ZS9zcmMvbGliL25nLXNpbXBsZS1zdGF0ZS1zZXNzaW9uLXN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFHaEYsTUFBTSxPQUFPLDJCQUE0QixTQUFRLDJCQUEyQjtJQUN4RTtRQUNJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxQixDQUFDOzhHQUhRLDJCQUEyQjtrSEFBM0IsMkJBQTJCLGNBRGQsTUFBTTs7MkZBQ25CLDJCQUEyQjtrQkFEdkMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nU2ltcGxlU3RhdGVCcm93c2VyU3RvcmFnZSB9IGZyb20gJy4vbmctc2ltcGxlLXN0YXRlLWJyb3dzZXItc3RvcmFnZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgTmdTaW1wbGVTdGF0ZVNlc3Npb25TdG9yYWdlIGV4dGVuZHMgTmdTaW1wbGVTdGF0ZUJyb3dzZXJTdG9yYWdlIHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKHNlc3Npb25TdG9yYWdlKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { NG_SIMPLE_STORE_CONFIG } from './ng-simple-state-models';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
class NgSimpleStateModule {
|
|
4
|
+
export class NgSimpleStateModule {
|
|
5
5
|
static forRoot(ngSimpleStateConfig) {
|
|
6
6
|
return {
|
|
7
7
|
ngModule: NgSimpleStateModule,
|
|
@@ -13,12 +13,11 @@ class NgSimpleStateModule {
|
|
|
13
13
|
],
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
17
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
18
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateModule }); }
|
|
18
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateModule }); }
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgSimpleStateModule, decorators: [{
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateModule, decorators: [{
|
|
22
21
|
type: NgModule
|
|
23
22
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2ltcGxlLXN0YXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXNpbXBsZS1zdGF0ZS9zcmMvbGliL25nLXNpbXBsZS1zdGF0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUF1QixzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUd2RixNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQ1YsbUJBQXlDO1FBRXpDLE9BQU87WUFDSCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsc0JBQXNCO29CQUMvQixRQUFRLEVBQUUsbUJBQW1CO2lCQUNoQzthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7OEdBYlEsbUJBQW1COytHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nU2ltcGxlU3RhdGVDb25maWcsIE5HX1NJTVBMRV9TVE9SRV9DT05GSUcgfSBmcm9tICcuL25nLXNpbXBsZS1zdGF0ZS1tb2RlbHMnO1xyXG5cclxuQE5nTW9kdWxlKClcclxuZXhwb3J0IGNsYXNzIE5nU2ltcGxlU3RhdGVNb2R1bGUge1xyXG4gICAgc3RhdGljIGZvclJvb3QoXHJcbiAgICAgICAgbmdTaW1wbGVTdGF0ZUNvbmZpZz86IE5nU2ltcGxlU3RhdGVDb25maWdcclxuICAgICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TmdTaW1wbGVTdGF0ZU1vZHVsZT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ1NpbXBsZVN0YXRlTW9kdWxlLFxyXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBOR19TSU1QTEVfU1RPUkVfQ09ORklHLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBuZ1NpbXBsZVN0YXRlQ29uZmlnLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -20,11 +20,11 @@ class NgSimpleStateModule {
|
|
|
20
20
|
],
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
25
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
24
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateModule }); }
|
|
25
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateModule }); }
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateModule, decorators: [{
|
|
28
28
|
type: NgModule
|
|
29
29
|
}] });
|
|
30
30
|
|
|
@@ -52,8 +52,8 @@ class NgSimpleStateDevTool {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
|
-
* Return true if dev tool is
|
|
56
|
-
* @returns True if dev tool is
|
|
55
|
+
* Return true if dev tool is active
|
|
56
|
+
* @returns True if dev tool is active
|
|
57
57
|
*/
|
|
58
58
|
isActive() {
|
|
59
59
|
return this.isActiveDevtool;
|
|
@@ -72,13 +72,13 @@ class NgSimpleStateDevTool {
|
|
|
72
72
|
}
|
|
73
73
|
return false;
|
|
74
74
|
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
76
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateDevTool, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
76
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateDevTool, providedIn: 'root' }); }
|
|
77
77
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateDevTool, decorators: [{
|
|
79
79
|
type: Injectable,
|
|
80
80
|
args: [{ providedIn: 'root' }]
|
|
81
|
-
}], ctorParameters:
|
|
81
|
+
}], ctorParameters: () => [{ type: i0.NgZone }] });
|
|
82
82
|
|
|
83
83
|
const BASE_KEY = 'NgSimpleState::';
|
|
84
84
|
class NgSimpleStateBrowserStorage {
|
|
@@ -97,7 +97,7 @@ class NgSimpleStateBrowserStorage {
|
|
|
97
97
|
/**
|
|
98
98
|
* Set item into storage
|
|
99
99
|
* @param key key name
|
|
100
|
-
* @param state state
|
|
100
|
+
* @param state state value
|
|
101
101
|
* @returns True if item is stored into storage
|
|
102
102
|
*/
|
|
103
103
|
setItem(key, state) {
|
|
@@ -155,26 +155,27 @@ class NgSimpleStateLocalStorage extends NgSimpleStateBrowserStorage {
|
|
|
155
155
|
constructor() {
|
|
156
156
|
super(localStorage);
|
|
157
157
|
}
|
|
158
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
159
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
158
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateLocalStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
159
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateLocalStorage, providedIn: 'root' }); }
|
|
160
160
|
}
|
|
161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateLocalStorage, decorators: [{
|
|
162
162
|
type: Injectable,
|
|
163
163
|
args: [{ providedIn: 'root' }]
|
|
164
|
-
}], ctorParameters:
|
|
164
|
+
}], ctorParameters: () => [] });
|
|
165
165
|
|
|
166
166
|
class NgSimpleStateSessionStorage extends NgSimpleStateBrowserStorage {
|
|
167
167
|
constructor() {
|
|
168
168
|
super(sessionStorage);
|
|
169
169
|
}
|
|
170
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
171
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
170
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateSessionStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
171
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateSessionStorage, providedIn: 'root' }); }
|
|
172
172
|
}
|
|
173
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateSessionStorage, decorators: [{
|
|
174
174
|
type: Injectable,
|
|
175
175
|
args: [{ providedIn: 'root' }]
|
|
176
|
-
}], ctorParameters:
|
|
176
|
+
}], ctorParameters: () => [] });
|
|
177
177
|
|
|
178
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
178
179
|
class NgSimpleStateBaseStore {
|
|
179
180
|
/**
|
|
180
181
|
* Return the observable of the state
|
|
@@ -300,14 +301,14 @@ class NgSimpleStateBaseStore {
|
|
|
300
301
|
* Send to dev tool a new state
|
|
301
302
|
* @param newState new state
|
|
302
303
|
* @param actionName The action name
|
|
303
|
-
* @returns True if
|
|
304
|
+
* @returns True if dev tools are enabled
|
|
304
305
|
*/
|
|
305
306
|
devToolSend(newState, actionName) {
|
|
306
307
|
if (!this.devToolIsEnabled || !this.devTool) {
|
|
307
308
|
return false;
|
|
308
309
|
}
|
|
309
310
|
if (!actionName) {
|
|
310
|
-
//
|
|
311
|
+
// retrieve the parent (of parent) method into the stack trace
|
|
311
312
|
actionName = new Error().stack
|
|
312
313
|
?.split('\n')[3]
|
|
313
314
|
.trim()
|
|
@@ -341,21 +342,22 @@ class NgSimpleStateBaseStore {
|
|
|
341
342
|
// At this point we know that we're dealing with either an array or plain object, so
|
|
342
343
|
// just freeze it and recurse on its values.
|
|
343
344
|
Object.freeze(object);
|
|
345
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
344
346
|
Object.keys(object).forEach(key => this.deepFreeze(object[key]));
|
|
345
347
|
return object;
|
|
346
348
|
}
|
|
347
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
348
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
349
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
349
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateBaseStore, deps: [{ token: Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
350
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: NgSimpleStateBaseStore, ngImport: i0 }); }
|
|
351
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateBaseStore }); }
|
|
350
352
|
}
|
|
351
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgSimpleStateBaseStore, decorators: [{
|
|
352
354
|
type: Injectable
|
|
353
355
|
}, {
|
|
354
356
|
type: Directive
|
|
355
|
-
}], ctorParameters:
|
|
357
|
+
}], ctorParameters: () => [{ type: i0.Injector, decorators: [{
|
|
356
358
|
type: Inject,
|
|
357
359
|
args: [Injector]
|
|
358
|
-
}] }]
|
|
360
|
+
}] }] });
|
|
359
361
|
|
|
360
362
|
/*
|
|
361
363
|
* Public API Surface of ng-simple-state
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-simple-state.mjs","sources":["../../../projects/ng-simple-state/src/lib/ng-simple-state-models.ts","../../../projects/ng-simple-state/src/lib/ng-simple-state.module.ts","../../../projects/ng-simple-state/src/lib/ng-simple-state-dev-tool.ts","../../../projects/ng-simple-state/src/lib/ng-simple-state-browser-storage.ts","../../../projects/ng-simple-state/src/lib/ng-simple-state-local-storage.ts","../../../projects/ng-simple-state/src/lib/ng-simple-state-session-storage.ts","../../../projects/ng-simple-state/src/lib/ng-simple-state-base-store.ts","../../../projects/ng-simple-state/src/public-api.ts","../../../projects/ng-simple-state/src/ng-simple-state.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\n/**\r\n * NgSimpleState config option\r\n */\r\nexport interface NgSimpleStateConfig {\r\n /**\r\n * if `true` enable `Redux DevTools` browser extension for inspect the state of the store.\r\n */\r\n enableDevTool?: boolean;\r\n /**\r\n * if `true` latest state of store is saved in local storage and reloaded on store initialization.\r\n */\r\n enableLocalStorage?: boolean;\r\n /**\r\n * Set the persistent storage `local` or `session`.\r\n */\r\n persistentStorage?: 'session' | 'local';\r\n /**\r\n * A function used to compare the previous and current state for equality. \r\n */\r\n comparator?: <K>(previous: K, current: K) => boolean;\r\n}\r\n\r\n/**\r\n * NgSimpleState config option for store\r\n */\r\nexport interface NgSimpleStateStoreConfig extends NgSimpleStateConfig {\r\n /** \r\n * The store name \r\n */\r\n storeName: string;\r\n}\r\n\r\n/**\r\n * NgSimpleState config InjectionToken\r\n */\r\nexport const NG_SIMPLE_STORE_CONFIG = new InjectionToken<NgSimpleStateConfig>(\r\n 'ng-simple-state.config'\r\n);\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { NgSimpleStateConfig, NG_SIMPLE_STORE_CONFIG } from './ng-simple-state-models';\r\n\r\n@NgModule()\r\nexport class NgSimpleStateModule {\r\n static forRoot(\r\n ngSimpleStateConfig?: NgSimpleStateConfig\r\n ): ModuleWithProviders<NgSimpleStateModule> {\r\n return {\r\n ngModule: NgSimpleStateModule,\r\n providers: [\r\n {\r\n provide: NG_SIMPLE_STORE_CONFIG,\r\n useValue: ngSimpleStateConfig,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\n\r\n\r\n\r\ninterface DevtoolsLocal {\r\n init: (state: object) => void;\r\n send: <T>(action: string, state: Record<string, T>, options: any, instanceId: string) => void;\r\n}\r\ninterface Devtools {\r\n connect(options: { name: string, instanceId: string }): DevtoolsLocal;\r\n}\r\n\r\ndeclare global {\r\n interface Window {\r\n __REDUX_DEVTOOLS_EXTENSION__: Devtools;\r\n devToolsExtension: Devtools;\r\n }\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NgSimpleStateDevTool {\r\n\r\n private globalDevtools: Devtools = window.__REDUX_DEVTOOLS_EXTENSION__ || window.devToolsExtension;\r\n private localDevTool!: DevtoolsLocal;\r\n private isActiveDevtool = false;\r\n private instanceId = `ng-simple-state-${Date.now()}`;\r\n private baseState: Record<string, object> = {};\r\n\r\n constructor(ngZone: NgZone) {\r\n if (this.globalDevtools) {\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 ngZone.runOutsideAngular(() => {\r\n this.localDevTool = this.globalDevtools.connect({\r\n name: 'NgSimpleState',\r\n instanceId: this.instanceId\r\n });\r\n this.isActiveDevtool = !!this.localDevTool;\r\n if (this.isActiveDevtool) {\r\n this.localDevTool.init(this.baseState);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Return true if dev tool is actvice\r\n * @returns True if dev tool is actvice\r\n */\r\n isActive(): boolean {\r\n return this.isActiveDevtool;\r\n }\r\n\r\n /**\r\n * Send to dev tool a new state\r\n * @param storeName The store name\r\n * @param actionName The action name\r\n * @param state the state\r\n * @returns True if dev tool is enabled and action is send\r\n */\r\n send<T>(storeName: string, actionName: string, state: T): boolean {\r\n if (this.isActiveDevtool && this.localDevTool) {\r\n this.localDevTool.send<T>(`${storeName}.${actionName}`, Object.assign(this.baseState, { [storeName]: state }), false, this.instanceId);\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","export const BASE_KEY = 'NgSimpleState::';\r\n\r\nexport abstract class NgSimpleStateBrowserStorage {\r\n\r\n private isStorageActive = false;\r\n\r\n constructor(private storage: Storage) {\r\n this.isStorageActive = !!storage;\r\n }\r\n\r\n /**\r\n * Return true if storage is active\r\n * @returns True if storage is active\r\n */\r\n isActive(): boolean {\r\n return this.isStorageActive;\r\n }\r\n\r\n /**\r\n * Set item into storage\r\n * @param key key name\r\n * @param state state valie\r\n * @returns True if item is stored into storage\r\n */\r\n setItem<K>(key: string, state: K): boolean {\r\n if (this.isStorageActive) {\r\n this.storage.setItem(BASE_KEY + key, JSON.stringify(state));\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Return item from storage\r\n * @param key key name\r\n * @returns the item\r\n */\r\n getItem<K>(key: string): K | null {\r\n if (this.isStorageActive) {\r\n const state = this.storage.getItem(BASE_KEY + key);\r\n if (state) {\r\n return JSON.parse(state);\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Remove item from storage\r\n * @param key key name\r\n * @returns True if item is removed\r\n */\r\n removeItem(key: string): boolean {\r\n if (this.isStorageActive) {\r\n this.storage.removeItem(BASE_KEY + key);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Removes all key/value pairs, if there are any.\r\n * @returns True if storage is cleared\r\n */\r\n clear(): boolean {\r\n if (this.isStorageActive) {\r\n for (let i = 0, e = this.storage.length; i < e; i++) {\r\n const key = this.storage.key(i);\r\n if (key && key.startsWith(BASE_KEY)) {\r\n this.storage.removeItem(key);\r\n }\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NgSimpleStateBrowserStorage } from './ng-simple-state-browser-storage';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NgSimpleStateLocalStorage extends NgSimpleStateBrowserStorage {\r\n constructor() {\r\n super(localStorage);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NgSimpleStateBrowserStorage } from './ng-simple-state-browser-storage';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NgSimpleStateSessionStorage extends NgSimpleStateBrowserStorage {\r\n constructor() {\r\n super(sessionStorage);\r\n }\r\n}\r\n","import { Inject, Injectable, Injector, OnDestroy, Directive, isDevMode } from '@angular/core';\r\nimport { BehaviorSubject, Observable, asyncScheduler } from 'rxjs';\r\nimport { map, distinctUntilChanged, observeOn } from 'rxjs/operators';\r\nimport { NgSimpleStateBrowserStorage } from './ng-simple-state-browser-storage';\r\nimport { NgSimpleStateDevTool } from './ng-simple-state-dev-tool';\r\nimport { NgSimpleStateLocalStorage } from './ng-simple-state-local-storage';\r\nimport { NgSimpleStateStoreConfig, NG_SIMPLE_STORE_CONFIG } from './ng-simple-state-models';\r\nimport { NgSimpleStateSessionStorage } from './ng-simple-state-session-storage';\r\n\r\n@Injectable()\r\n@Directive()\r\nexport abstract class NgSimpleStateBaseStore<S extends object | Array<any>> implements OnDestroy {\r\n\r\n private state$: BehaviorSubject<S>;\r\n private localStorageIsEnabled: boolean;\r\n private devToolIsEnabled: boolean;\r\n private devTool!: NgSimpleStateDevTool;\r\n private persistentStorage!: NgSimpleStateBrowserStorage;\r\n private localStoreConfig: NgSimpleStateStoreConfig;\r\n private storeName: string;\r\n private firstState!: S;\r\n private isArray: boolean;\r\n private devMode: boolean = isDevMode();\r\n private comparator!: <K>(previous: K, current: K) => boolean;\r\n\r\n /**\r\n * Return the observable of the state\r\n * @returns Observable of the state\r\n */\r\n public get state(): BehaviorSubject<S> {\r\n return this.state$;\r\n }\r\n\r\n constructor(@Inject(Injector) injector: Injector) {\r\n\r\n const globalConfig = injector.get(NG_SIMPLE_STORE_CONFIG, {});\r\n const storeConfig = this.storeConfig() || {};\r\n this.localStoreConfig = { ...globalConfig, ...storeConfig };\r\n\r\n this.localStorageIsEnabled = typeof this.localStoreConfig.enableLocalStorage === 'boolean' ? this.localStoreConfig.enableLocalStorage : false;\r\n\r\n if (this.localStorageIsEnabled) {\r\n if (this.localStoreConfig.persistentStorage === 'local') {\r\n this.persistentStorage = injector.get(NgSimpleStateLocalStorage);\r\n } else if (this.localStoreConfig.persistentStorage === 'session') {\r\n this.persistentStorage = injector.get(NgSimpleStateSessionStorage);\r\n }\r\n }\r\n\r\n this.devToolIsEnabled = typeof this.localStoreConfig.enableDevTool === 'boolean' ? this.localStoreConfig.enableDevTool : false;\r\n if (this.devToolIsEnabled) {\r\n this.devTool = injector.get(NgSimpleStateDevTool);\r\n }\r\n\r\n this.storeName = typeof this.localStoreConfig.storeName === 'string' ? this.localStoreConfig.storeName : this.constructor.name;\r\n if (typeof this.localStoreConfig.comparator === 'function') {\r\n this.comparator = this.localStoreConfig.comparator;\r\n }\r\n\r\n if (this.localStorageIsEnabled && this.persistentStorage) {\r\n const firstState = this.persistentStorage.getItem<S>(this.storeName);\r\n if (firstState) {\r\n this.firstState = firstState;\r\n }\r\n }\r\n if (!this.firstState) {\r\n this.firstState = this.initialState(injector);\r\n }\r\n\r\n this.devToolSend(this.firstState, `initialState`);\r\n\r\n this.isArray = Array.isArray(this.firstState);\r\n this.state$ = new BehaviorSubject<S>(Object.assign(this.isArray ? [] : {}, this.firstState));\r\n }\r\n\r\n /**\r\n * When you override this method, you have to call the `super.ngOnDestroy()` method in your `ngOnDestroy()` method.\r\n */\r\n ngOnDestroy(): void {\r\n this.devToolSend(undefined, 'ngOnDestroy');\r\n this.state$.complete();\r\n }\r\n\r\n /**\r\n * Reset store to first loaded store state:\r\n * - the last saved state, if `enableLocalStorage` config is `true`\r\n * - otherwise the initial state provided from `initialState()` method.\r\n */\r\n resetState(): boolean {\r\n return this.setState(() => this.firstState, 'resetState');\r\n }\r\n\r\n /**\r\n * Restart the store to initial state provided from `initialState()` method\r\n */\r\n restartState(): boolean {\r\n return this.setState(() => this.initialState(), 'restartState');\r\n }\r\n\r\n /**\r\n * Override this method for set a specific config for the store\r\n * @returns NgSimpleStateStoreConfig\r\n */\r\n protected abstract storeConfig(): NgSimpleStateStoreConfig;\r\n\r\n /**\r\n * Set into the store the initial state\r\n * @param injector current Injector\r\n * @returns The state object\r\n */\r\n protected abstract initialState(injector?: Injector): S;\r\n\r\n /**\r\n * Select a store state\r\n * @param selectFn State selector (if not provided return full state)\r\n * @param comparator A function used to compare the previous and current state for equality. Defaults to a `===` check.\r\n * @returns Observable of the selected state\r\n */\r\n selectState<K>(selectFn?: (state: Readonly<S>) => K, comparator?: (previous: K, current: K) => boolean): Observable<K> {\r\n if (!selectFn) {\r\n selectFn = (tmpState: Readonly<S>) => Object.assign(this.isArray ? [] : {}, tmpState) as K;\r\n }\r\n if (!comparator && this.comparator) {\r\n comparator = this.comparator;\r\n }\r\n return this.state$.pipe(\r\n map(state => (selectFn as (state: Readonly<S>) => K)(state as Readonly<S>)),\r\n distinctUntilChanged(comparator),\r\n observeOn(asyncScheduler)\r\n );\r\n }\r\n\r\n /**\r\n * Return the current store state (snapshot)\r\n * @returns The current state\r\n */\r\n getCurrentState(): Readonly<S> {\r\n return this.deepFreeze(this.state$.getValue());\r\n }\r\n\r\n /**\r\n * Return the first loaded store state:\r\n * the last saved state, if `enableLocalStorage` config is `true`;\r\n * otherwise the initial state provided from `initialState()` method.\r\n * @returns The first state\r\n */\r\n getFirstState(): Readonly<S> | null {\r\n return this.deepFreeze(this.firstState);\r\n }\r\n\r\n /**\r\n * Set a new state\r\n * @param selectFn State reducer\r\n * @param actionName The action label into Redux DevTools (default is parent function name)\r\n * @returns True if the state is changed\r\n */\r\n setState(stateFn: (currentState: Readonly<S>) => Partial<S>, actionName?: string): boolean {\r\n const currState = this.getCurrentState();\r\n const newState = stateFn(currState);\r\n if (currState === newState) {\r\n return false;\r\n }\r\n let state: S;\r\n if (this.isArray) {\r\n state = Object.assign([] as S, newState);\r\n } else {\r\n state = Object.assign({}, currState, newState);\r\n }\r\n this.state$.next(state);\r\n this.devToolSend(state, actionName);\r\n if (this.localStorageIsEnabled && this.persistentStorage) {\r\n this.persistentStorage.setItem<S>(this.storeName, state);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Send to dev tool a new state\r\n * @param newState new state\r\n * @param actionName The action name\r\n * @returns True if fìdev tools are enabled\r\n */\r\n private devToolSend(newState: S | undefined, actionName?: string): boolean {\r\n if (!this.devToolIsEnabled || !this.devTool) {\r\n return false;\r\n }\r\n if (!actionName) {\r\n // retrive the parent (of parent) method into the stack trace\r\n actionName = new Error().stack\r\n ?.split('\\n')[3]\r\n .trim()\r\n .split(' ')[1]\r\n .split('.')[1] || 'unknown';\r\n }\r\n if (!this.devTool.send(this.storeName, actionName, newState)) {\r\n console.log(this.storeName + '.' + actionName, newState);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Recursively Object.freeze simple Javascript structures consisting of plain objects, arrays, and primitives.\r\n * Make the data immutable.\r\n * @returns immutable object\r\n */\r\n private deepFreeze(object: S): Readonly<S> {\r\n // No freezing in production (for better performance).\r\n if (!this.devMode || !object) {\r\n return object as Readonly<S>;\r\n }\r\n\r\n // When already frozen, we assume its children are frozen (for better performance).\r\n // This should be true if you always use `deepFreeze` to freeze objects.\r\n //\r\n // Note that Object.isFrozen will also return `true` for primitives (numbers,\r\n // strings, booleans, undefined, null), so there is no need to check for\r\n // those explicitly.\r\n if (Object.isFrozen(object)) {\r\n return object as Readonly<S>;\r\n }\r\n\r\n // At this point we know that we're dealing with either an array or plain object, so\r\n // just freeze it and recurse on its values.\r\n Object.freeze(object);\r\n Object.keys(object).forEach(key => this.deepFreeze((object as any)[key]));\r\n\r\n return object as Readonly<S>;\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ng-simple-state\r\n */\r\nexport * from './lib/ng-simple-state.module';\r\nexport * from './lib/ng-simple-state-base-store';\r\nexport * from './lib/ng-simple-state-dev-tool';\r\nexport * from './lib/ng-simple-state-local-storage';\r\nexport * from './lib/ng-simple-state-session-storage';\r\nexport * from './lib/ng-simple-state-models';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-simple-state.mjs","sources":["../../../projects/ng-simple-state/src/lib/ng-simple-state-models.ts","../../../projects/ng-simple-state/src/lib/ng-simple-state.module.ts","../../../projects/ng-simple-state/src/lib/ng-simple-state-dev-tool.ts","../../../projects/ng-simple-state/src/lib/ng-simple-state-browser-storage.ts","../../../projects/ng-simple-state/src/lib/ng-simple-state-local-storage.ts","../../../projects/ng-simple-state/src/lib/ng-simple-state-session-storage.ts","../../../projects/ng-simple-state/src/lib/ng-simple-state-base-store.ts","../../../projects/ng-simple-state/src/public-api.ts","../../../projects/ng-simple-state/src/ng-simple-state.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\n/**\r\n * NgSimpleState config option\r\n */\r\nexport interface NgSimpleStateConfig {\r\n /**\r\n * if `true` enable `Redux DevTools` browser extension for inspect the state of the store.\r\n */\r\n enableDevTool?: boolean;\r\n /**\r\n * if `true` latest state of store is saved in local storage and reloaded on store initialization.\r\n */\r\n enableLocalStorage?: boolean;\r\n /**\r\n * Set the persistent storage `local` or `session`.\r\n */\r\n persistentStorage?: 'session' | 'local';\r\n /**\r\n * A function used to compare the previous and current state for equality. \r\n */\r\n comparator?: <K>(previous: K, current: K) => boolean;\r\n}\r\n\r\n/**\r\n * NgSimpleState config option for store\r\n */\r\nexport interface NgSimpleStateStoreConfig extends NgSimpleStateConfig {\r\n /** \r\n * The store name \r\n */\r\n storeName: string;\r\n}\r\n\r\n/**\r\n * NgSimpleState config InjectionToken\r\n */\r\nexport const NG_SIMPLE_STORE_CONFIG = new InjectionToken<NgSimpleStateConfig>(\r\n 'ng-simple-state.config'\r\n);\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { NgSimpleStateConfig, NG_SIMPLE_STORE_CONFIG } from './ng-simple-state-models';\r\n\r\n@NgModule()\r\nexport class NgSimpleStateModule {\r\n static forRoot(\r\n ngSimpleStateConfig?: NgSimpleStateConfig\r\n ): ModuleWithProviders<NgSimpleStateModule> {\r\n return {\r\n ngModule: NgSimpleStateModule,\r\n providers: [\r\n {\r\n provide: NG_SIMPLE_STORE_CONFIG,\r\n useValue: ngSimpleStateConfig,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\n\r\n\r\n\r\ninterface DevtoolsLocal {\r\n init: (state: object) => void;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n send: <T>(action: string, state: Record<string, T>, options: any, instanceId: string) => void;\r\n}\r\ninterface Devtools {\r\n connect(options: { name: string, instanceId: string }): DevtoolsLocal;\r\n}\r\n\r\ndeclare global {\r\n interface Window {\r\n __REDUX_DEVTOOLS_EXTENSION__: Devtools;\r\n devToolsExtension: Devtools;\r\n }\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NgSimpleStateDevTool {\r\n\r\n private globalDevtools: Devtools = window.__REDUX_DEVTOOLS_EXTENSION__ || window.devToolsExtension;\r\n private localDevTool!: DevtoolsLocal;\r\n private isActiveDevtool = false;\r\n private instanceId = `ng-simple-state-${Date.now()}`;\r\n private baseState: Record<string, object> = {};\r\n\r\n constructor(ngZone: NgZone) {\r\n if (this.globalDevtools) {\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 ngZone.runOutsideAngular(() => {\r\n this.localDevTool = this.globalDevtools.connect({\r\n name: 'NgSimpleState',\r\n instanceId: this.instanceId\r\n });\r\n this.isActiveDevtool = !!this.localDevTool;\r\n if (this.isActiveDevtool) {\r\n this.localDevTool.init(this.baseState);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Return true if dev tool is active\r\n * @returns True if dev tool is active\r\n */\r\n isActive(): boolean {\r\n return this.isActiveDevtool;\r\n }\r\n\r\n /**\r\n * Send to dev tool a new state\r\n * @param storeName The store name\r\n * @param actionName The action name\r\n * @param state the state\r\n * @returns True if dev tool is enabled and action is send\r\n */\r\n send<T>(storeName: string, actionName: string, state: T): boolean {\r\n if (this.isActiveDevtool && this.localDevTool) {\r\n this.localDevTool.send<T>(`${storeName}.${actionName}`, Object.assign(this.baseState, { [storeName]: state }), false, this.instanceId);\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","export const BASE_KEY = 'NgSimpleState::';\r\n\r\nexport abstract class NgSimpleStateBrowserStorage {\r\n\r\n private isStorageActive = false;\r\n\r\n constructor(private storage: Storage) {\r\n this.isStorageActive = !!storage;\r\n }\r\n\r\n /**\r\n * Return true if storage is active\r\n * @returns True if storage is active\r\n */\r\n isActive(): boolean {\r\n return this.isStorageActive;\r\n }\r\n\r\n /**\r\n * Set item into storage\r\n * @param key key name\r\n * @param state state value\r\n * @returns True if item is stored into storage\r\n */\r\n setItem<K>(key: string, state: K): boolean {\r\n if (this.isStorageActive) {\r\n this.storage.setItem(BASE_KEY + key, JSON.stringify(state));\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Return item from storage\r\n * @param key key name\r\n * @returns the item\r\n */\r\n getItem<K>(key: string): K | null {\r\n if (this.isStorageActive) {\r\n const state = this.storage.getItem(BASE_KEY + key);\r\n if (state) {\r\n return JSON.parse(state);\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Remove item from storage\r\n * @param key key name\r\n * @returns True if item is removed\r\n */\r\n removeItem(key: string): boolean {\r\n if (this.isStorageActive) {\r\n this.storage.removeItem(BASE_KEY + key);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Removes all key/value pairs, if there are any.\r\n * @returns True if storage is cleared\r\n */\r\n clear(): boolean {\r\n if (this.isStorageActive) {\r\n for (let i = 0, e = this.storage.length; i < e; i++) {\r\n const key = this.storage.key(i);\r\n if (key && key.startsWith(BASE_KEY)) {\r\n this.storage.removeItem(key);\r\n }\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NgSimpleStateBrowserStorage } from './ng-simple-state-browser-storage';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NgSimpleStateLocalStorage extends NgSimpleStateBrowserStorage {\r\n constructor() {\r\n super(localStorage);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NgSimpleStateBrowserStorage } from './ng-simple-state-browser-storage';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NgSimpleStateSessionStorage extends NgSimpleStateBrowserStorage {\r\n constructor() {\r\n super(sessionStorage);\r\n }\r\n}\r\n","import { Inject, Injectable, Injector, OnDestroy, Directive, isDevMode } from '@angular/core';\r\nimport { BehaviorSubject, Observable, asyncScheduler } from 'rxjs';\r\nimport { map, distinctUntilChanged, observeOn } from 'rxjs/operators';\r\nimport { NgSimpleStateBrowserStorage } from './ng-simple-state-browser-storage';\r\nimport { NgSimpleStateDevTool } from './ng-simple-state-dev-tool';\r\nimport { NgSimpleStateLocalStorage } from './ng-simple-state-local-storage';\r\nimport { NgSimpleStateStoreConfig, NG_SIMPLE_STORE_CONFIG } from './ng-simple-state-models';\r\nimport { NgSimpleStateSessionStorage } from './ng-simple-state-session-storage';\r\n\r\n@Injectable()\r\n@Directive()\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport abstract class NgSimpleStateBaseStore<S extends object | Array<any>> implements OnDestroy {\r\n\r\n private state$: BehaviorSubject<S>;\r\n private localStorageIsEnabled: boolean;\r\n private devToolIsEnabled: boolean;\r\n private devTool!: NgSimpleStateDevTool;\r\n private persistentStorage!: NgSimpleStateBrowserStorage;\r\n private localStoreConfig: NgSimpleStateStoreConfig;\r\n private storeName: string;\r\n private firstState!: S;\r\n private isArray: boolean;\r\n private devMode: boolean = isDevMode();\r\n private comparator!: <K>(previous: K, current: K) => boolean;\r\n\r\n /**\r\n * Return the observable of the state\r\n * @returns Observable of the state\r\n */\r\n public get state(): BehaviorSubject<S> {\r\n return this.state$;\r\n }\r\n\r\n constructor(@Inject(Injector) injector: Injector) {\r\n\r\n const globalConfig = injector.get(NG_SIMPLE_STORE_CONFIG, {});\r\n const storeConfig = this.storeConfig() || {};\r\n this.localStoreConfig = { ...globalConfig, ...storeConfig };\r\n\r\n this.localStorageIsEnabled = typeof this.localStoreConfig.enableLocalStorage === 'boolean' ? this.localStoreConfig.enableLocalStorage : false;\r\n\r\n if (this.localStorageIsEnabled) {\r\n if (this.localStoreConfig.persistentStorage === 'local') {\r\n this.persistentStorage = injector.get(NgSimpleStateLocalStorage);\r\n } else if (this.localStoreConfig.persistentStorage === 'session') {\r\n this.persistentStorage = injector.get(NgSimpleStateSessionStorage);\r\n }\r\n }\r\n\r\n this.devToolIsEnabled = typeof this.localStoreConfig.enableDevTool === 'boolean' ? this.localStoreConfig.enableDevTool : false;\r\n if (this.devToolIsEnabled) {\r\n this.devTool = injector.get(NgSimpleStateDevTool);\r\n }\r\n\r\n this.storeName = typeof this.localStoreConfig.storeName === 'string' ? this.localStoreConfig.storeName : this.constructor.name;\r\n if (typeof this.localStoreConfig.comparator === 'function') {\r\n this.comparator = this.localStoreConfig.comparator;\r\n }\r\n\r\n if (this.localStorageIsEnabled && this.persistentStorage) {\r\n const firstState = this.persistentStorage.getItem<S>(this.storeName);\r\n if (firstState) {\r\n this.firstState = firstState;\r\n }\r\n }\r\n if (!this.firstState) {\r\n this.firstState = this.initialState(injector);\r\n }\r\n\r\n this.devToolSend(this.firstState, `initialState`);\r\n\r\n this.isArray = Array.isArray(this.firstState);\r\n this.state$ = new BehaviorSubject<S>(Object.assign(this.isArray ? [] : {}, this.firstState));\r\n }\r\n\r\n /**\r\n * When you override this method, you have to call the `super.ngOnDestroy()` method in your `ngOnDestroy()` method.\r\n */\r\n ngOnDestroy(): void {\r\n this.devToolSend(undefined, 'ngOnDestroy');\r\n this.state$.complete();\r\n }\r\n\r\n /**\r\n * Reset store to first loaded store state:\r\n * - the last saved state, if `enableLocalStorage` config is `true`\r\n * - otherwise the initial state provided from `initialState()` method.\r\n */\r\n resetState(): boolean {\r\n return this.setState(() => this.firstState, 'resetState');\r\n }\r\n\r\n /**\r\n * Restart the store to initial state provided from `initialState()` method\r\n */\r\n restartState(): boolean {\r\n return this.setState(() => this.initialState(), 'restartState');\r\n }\r\n\r\n /**\r\n * Override this method for set a specific config for the store\r\n * @returns NgSimpleStateStoreConfig\r\n */\r\n protected abstract storeConfig(): NgSimpleStateStoreConfig;\r\n\r\n /**\r\n * Set into the store the initial state\r\n * @param injector current Injector\r\n * @returns The state object\r\n */\r\n protected abstract initialState(injector?: Injector): S;\r\n\r\n /**\r\n * Select a store state\r\n * @param selectFn State selector (if not provided return full state)\r\n * @param comparator A function used to compare the previous and current state for equality. Defaults to a `===` check.\r\n * @returns Observable of the selected state\r\n */\r\n selectState<K>(selectFn?: (state: Readonly<S>) => K, comparator?: (previous: K, current: K) => boolean): Observable<K> {\r\n if (!selectFn) {\r\n selectFn = (tmpState: Readonly<S>) => Object.assign(this.isArray ? [] : {}, tmpState) as K;\r\n }\r\n if (!comparator && this.comparator) {\r\n comparator = this.comparator;\r\n }\r\n return this.state$.pipe(\r\n map(state => (selectFn as (state: Readonly<S>) => K)(state as Readonly<S>)),\r\n distinctUntilChanged(comparator),\r\n observeOn(asyncScheduler)\r\n );\r\n }\r\n\r\n /**\r\n * Return the current store state (snapshot)\r\n * @returns The current state\r\n */\r\n getCurrentState(): Readonly<S> {\r\n return this.deepFreeze(this.state$.getValue());\r\n }\r\n\r\n /**\r\n * Return the first loaded store state:\r\n * the last saved state, if `enableLocalStorage` config is `true`;\r\n * otherwise the initial state provided from `initialState()` method.\r\n * @returns The first state\r\n */\r\n getFirstState(): Readonly<S> | null {\r\n return this.deepFreeze(this.firstState);\r\n }\r\n\r\n /**\r\n * Set a new state\r\n * @param selectFn State reducer\r\n * @param actionName The action label into Redux DevTools (default is parent function name)\r\n * @returns True if the state is changed\r\n */\r\n setState(stateFn: (currentState: Readonly<S>) => Partial<S>, actionName?: string): boolean {\r\n const currState = this.getCurrentState();\r\n const newState = stateFn(currState);\r\n if (currState === newState) {\r\n return false;\r\n }\r\n let state: S;\r\n if (this.isArray) {\r\n state = Object.assign([] as S, newState);\r\n } else {\r\n state = Object.assign({}, currState, newState);\r\n }\r\n this.state$.next(state);\r\n this.devToolSend(state, actionName);\r\n if (this.localStorageIsEnabled && this.persistentStorage) {\r\n this.persistentStorage.setItem<S>(this.storeName, state);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Send to dev tool a new state\r\n * @param newState new state\r\n * @param actionName The action name\r\n * @returns True if dev tools are enabled\r\n */\r\n private devToolSend(newState: S | undefined, actionName?: string): boolean {\r\n if (!this.devToolIsEnabled || !this.devTool) {\r\n return false;\r\n }\r\n if (!actionName) {\r\n // retrieve the parent (of parent) method into the stack trace\r\n actionName = new Error().stack\r\n ?.split('\\n')[3]\r\n .trim()\r\n .split(' ')[1]\r\n .split('.')[1] || 'unknown';\r\n }\r\n if (!this.devTool.send(this.storeName, actionName, newState)) {\r\n console.log(this.storeName + '.' + actionName, newState);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Recursively Object.freeze simple Javascript structures consisting of plain objects, arrays, and primitives.\r\n * Make the data immutable.\r\n * @returns immutable object\r\n */\r\n private deepFreeze(object: S): Readonly<S> {\r\n // No freezing in production (for better performance).\r\n if (!this.devMode || !object) {\r\n return object as Readonly<S>;\r\n }\r\n\r\n // When already frozen, we assume its children are frozen (for better performance).\r\n // This should be true if you always use `deepFreeze` to freeze objects.\r\n //\r\n // Note that Object.isFrozen will also return `true` for primitives (numbers,\r\n // strings, booleans, undefined, null), so there is no need to check for\r\n // those explicitly.\r\n if (Object.isFrozen(object)) {\r\n return object as Readonly<S>;\r\n }\r\n\r\n // At this point we know that we're dealing with either an array or plain object, so\r\n // just freeze it and recurse on its values.\r\n Object.freeze(object);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Object.keys(object).forEach(key => this.deepFreeze((object as any)[key]));\r\n\r\n return object as Readonly<S>;\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ng-simple-state\r\n */\r\nexport * from './lib/ng-simple-state.module';\r\nexport * from './lib/ng-simple-state-base-store';\r\nexport * from './lib/ng-simple-state-dev-tool';\r\nexport * from './lib/ng-simple-state-local-storage';\r\nexport * from './lib/ng-simple-state-session-storage';\r\nexport * from './lib/ng-simple-state-models';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -75,7 +75,7 @@ export declare abstract class NgSimpleStateBaseStore<S extends object | Array<an
|
|
|
75
75
|
* Send to dev tool a new state
|
|
76
76
|
* @param newState new state
|
|
77
77
|
* @param actionName The action name
|
|
78
|
-
* @returns True if
|
|
78
|
+
* @returns True if dev tools are enabled
|
|
79
79
|
*/
|
|
80
80
|
private devToolSend;
|
|
81
81
|
/**
|
|
@@ -11,7 +11,7 @@ export declare abstract class NgSimpleStateBrowserStorage {
|
|
|
11
11
|
/**
|
|
12
12
|
* Set item into storage
|
|
13
13
|
* @param key key name
|
|
14
|
-
* @param state state
|
|
14
|
+
* @param state state value
|
|
15
15
|
* @returns True if item is stored into storage
|
|
16
16
|
*/
|
|
17
17
|
setItem<K>(key: string, state: K): boolean;
|
|
@@ -24,8 +24,8 @@ export declare class NgSimpleStateDevTool {
|
|
|
24
24
|
private baseState;
|
|
25
25
|
constructor(ngZone: NgZone);
|
|
26
26
|
/**
|
|
27
|
-
* Return true if dev tool is
|
|
28
|
-
* @returns True if dev tool is
|
|
27
|
+
* Return true if dev tool is active
|
|
28
|
+
* @returns True if dev tool is active
|
|
29
29
|
*/
|
|
30
30
|
isActive(): boolean;
|
|
31
31
|
/**
|