http-request-manager 18.3.1 → 18.3.2
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/services/index.mjs +2 -1
- package/esm2022/lib/services/store-state-manager-service/index.mjs +3 -0
- package/esm2022/lib/services/store-state-manager-service/models/index.mjs +2 -0
- package/esm2022/lib/services/store-state-manager-service/models/state-storage-options.model.mjs +12 -0
- package/esm2022/lib/services/store-state-manager-service/store-state-manager.service.mjs +71 -0
- package/fesm2022/http-request-manager.mjs +77 -2
- package/fesm2022/http-request-manager.mjs.map +1 -1
- package/http-request-manager-18.3.2.tgz +0 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/services/store-state-manager-service/index.d.ts +2 -0
- package/lib/services/store-state-manager-service/models/index.d.ts +1 -0
- package/lib/services/store-state-manager-service/models/state-storage-options.model.d.ts +13 -0
- package/lib/services/store-state-manager-service/store-state-manager.service.d.ts +22 -0
- package/package.json +1 -1
- package/http-request-manager-18.3.1.tgz +0 -0
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
export * from "./local-storage-manager-service/index";
|
|
3
3
|
export * from "./request-manager-services/index";
|
|
4
4
|
export * from "./request-manager-state-service/index";
|
|
5
|
+
export * from "./store-state-manager-service/index";
|
|
5
6
|
export * from "./ws-manager-service/index";
|
|
6
7
|
export * from "./utils/index";
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLHFEQUFxRDtBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vIGV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlLW1hbmFnZXItc2VydmljZXMvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvY2FsLXN0b3JhZ2UtbWFuYWdlci1zZXJ2aWNlL2luZGV4XCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL3JlcXVlc3QtbWFuYWdlci1zZXJ2aWNlcy9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVxdWVzdC1tYW5hZ2VyLXN0YXRlLXNlcnZpY2UvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0b3JlLXN0YXRlLW1hbmFnZXItc2VydmljZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd3MtbWFuYWdlci1zZXJ2aWNlL2luZGV4XCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzL2luZGV4XCI7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./store-state-manager.service";
|
|
2
|
+
export * from "./models/index";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3N0b3JlLXN0YXRlLW1hbmFnZXItc2VydmljZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9zdG9yZS1zdGF0ZS1tYW5hZ2VyLnNlcnZpY2VcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxzL2luZGV4XCI7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./state-storage-options.model";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3N0b3JlLXN0YXRlLW1hbmFnZXItc2VydmljZS9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3N0YXRlLXN0b3JhZ2Utb3B0aW9ucy5tb2RlbFwiO1xuXG4iXX0=
|
package/esm2022/lib/services/store-state-manager-service/models/state-storage-options.model.mjs
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SettingOptions } from "../../local-storage-manager-service";
|
|
2
|
+
export class StateStorageOptions {
|
|
3
|
+
constructor(store, options, model) {
|
|
4
|
+
this.store = store;
|
|
5
|
+
this.options = options;
|
|
6
|
+
this.model = model;
|
|
7
|
+
}
|
|
8
|
+
static adapt(item) {
|
|
9
|
+
return new StateStorageOptions(item?.store ?? 'temp', item?.options ? SettingOptions.adapt(item.options) : SettingOptions.adapt(), item?.model);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtc3RvcmFnZS1vcHRpb25zLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9zdG9yZS1zdGF0ZS1tYW5hZ2VyLXNlcnZpY2UvbW9kZWxzL3N0YXRlLXN0b3JhZ2Utb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFRckUsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUNTLEtBQWMsRUFDZCxPQUF3QixFQUN4QixLQUEyQjtRQUYzQixVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBc0I7SUFDakMsQ0FBQztJQUVKLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBVTtRQUNyQixPQUFPLElBQUksbUJBQW1CLENBQzVCLElBQUksRUFBRSxLQUFLLElBQUksTUFBTSxFQUNyQixJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxFQUMzRSxJQUFJLEVBQUUsS0FBSyxDQUNaLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXR0aW5nT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9sb2NhbC1zdG9yYWdlLW1hbmFnZXItc2VydmljZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlU3RvcmFnZU9wdGlvbnNJbnRlcmZhY2Uge1xuICBzdG9yZT86IHN0cmluZztcbiAgb3B0aW9ucz86IFNldHRpbmdPcHRpb25zO1xuICBtb2RlbD86IChzdGF0ZTogYW55KSA9PiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBTdGF0ZVN0b3JhZ2VPcHRpb25zIGltcGxlbWVudHMgU3RhdGVTdG9yYWdlT3B0aW9uc0ludGVyZmFjZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHN0b3JlPzogc3RyaW5nLFxuICAgIHB1YmxpYyBvcHRpb25zPzogU2V0dGluZ09wdGlvbnMsXG4gICAgcHVibGljIG1vZGVsPzogKHN0YXRlOiBhbnkpID0+IGFueVxuICApIHt9XG5cbiAgc3RhdGljIGFkYXB0KGl0ZW0/OiBhbnkpOiBTdGF0ZVN0b3JhZ2VPcHRpb25zIHtcbiAgICByZXR1cm4gbmV3IFN0YXRlU3RvcmFnZU9wdGlvbnMoXG4gICAgICBpdGVtPy5zdG9yZSA/PyAndGVtcCcsXG4gICAgICBpdGVtPy5vcHRpb25zID8gU2V0dGluZ09wdGlvbnMuYWRhcHQoaXRlbS5vcHRpb25zKSA6IFNldHRpbmdPcHRpb25zLmFkYXB0KCksXG4gICAgICBpdGVtPy5tb2RlbFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { ComponentStore } from '@ngrx/component-store';
|
|
3
|
+
import { take } from 'rxjs';
|
|
4
|
+
import { LocalStorageManagerService } from './../local-storage-manager-service/local-storage-manager.service';
|
|
5
|
+
import { StateStorageOptions } from './models/state-storage-options.model';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./models/state-storage-options.model";
|
|
8
|
+
export class StoreStateManagerService extends ComponentStore {
|
|
9
|
+
constructor(options = StateStorageOptions.adapt()) {
|
|
10
|
+
super(StoreStateManagerService.init(options));
|
|
11
|
+
this.options = options;
|
|
12
|
+
this.localStorageManagerService = inject(LocalStorageManagerService);
|
|
13
|
+
this.settings = null;
|
|
14
|
+
this.isRestoring = false;
|
|
15
|
+
// Selectors
|
|
16
|
+
this.data$ = this.select((state) => {
|
|
17
|
+
const model = this.options.model;
|
|
18
|
+
return (typeof model === 'function' && !model.prototype) ? model(state) : state;
|
|
19
|
+
});
|
|
20
|
+
// Updaters
|
|
21
|
+
this.updateData = this.updater((state, data) => {
|
|
22
|
+
const key = Object.keys(data)[0];
|
|
23
|
+
const hasKey = Object.keys(state).includes(key);
|
|
24
|
+
if (!hasKey)
|
|
25
|
+
return state;
|
|
26
|
+
const newState = { ...state, [key]: data[key] };
|
|
27
|
+
this.updateState(newState);
|
|
28
|
+
return { ...state, ...newState };
|
|
29
|
+
});
|
|
30
|
+
this.init(options);
|
|
31
|
+
}
|
|
32
|
+
static init(options) {
|
|
33
|
+
const model = options?.model;
|
|
34
|
+
return (model) ? model() : {};
|
|
35
|
+
}
|
|
36
|
+
init(options) {
|
|
37
|
+
this.settings = options;
|
|
38
|
+
this.localStorageManagerService.createStore({
|
|
39
|
+
name: this.settings?.store,
|
|
40
|
+
data: this.settings?.model(),
|
|
41
|
+
options: this.settings?.options,
|
|
42
|
+
});
|
|
43
|
+
this.localStorageManagerService.store$(this.settings?.store)
|
|
44
|
+
.pipe(take(1))
|
|
45
|
+
.subscribe(data => this.setState(data));
|
|
46
|
+
}
|
|
47
|
+
restoreState() {
|
|
48
|
+
return this.localStorageManagerService.store$(this.settings?.store)
|
|
49
|
+
.pipe(take(1))
|
|
50
|
+
.subscribe(data => {
|
|
51
|
+
this.updateData(data);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
updateState(state) {
|
|
55
|
+
if (this.isRestoring)
|
|
56
|
+
return;
|
|
57
|
+
this.localStorageManagerService.updateStore({
|
|
58
|
+
name: this.settings?.store,
|
|
59
|
+
data: state
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StoreStateManagerService, deps: [{ token: i1.StateStorageOptions }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
63
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StoreStateManagerService, providedIn: 'root' }); }
|
|
64
|
+
}
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StoreStateManagerService, decorators: [{
|
|
66
|
+
type: Injectable,
|
|
67
|
+
args: [{
|
|
68
|
+
providedIn: 'root'
|
|
69
|
+
}]
|
|
70
|
+
}], ctorParameters: () => [{ type: i1.StateStorageOptions }] });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtc3RhdGUtbWFuYWdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9zdG9yZS1zdGF0ZS1tYW5hZ2VyLXNlcnZpY2Uvc3RvcmUtc3RhdGUtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQWdCLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM5RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7O0FBTzNFLE1BQU0sT0FBTyx3QkFBd0UsU0FBUSxjQUFpQjtJQVE1RyxZQUNVLFVBQStCLG1CQUFtQixDQUFDLEtBQUssRUFBRTtRQUVsRSxLQUFLLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFGckMsWUFBTyxHQUFQLE9BQU8sQ0FBbUQ7UUFQcEUsK0JBQTBCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFFL0QsYUFBUSxHQUFRLElBQUksQ0FBQTtRQUVaLGdCQUFXLEdBQUcsS0FBSyxDQUFBO1FBaUQzQixZQUFZO1FBQ0gsVUFBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUMxQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNqQyxPQUFPLENBQUMsT0FBTyxLQUFLLEtBQUssVUFBVSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtRQUNqRixDQUFDLENBQUMsQ0FBQztRQUVILFdBQVc7UUFDRixlQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFTLEVBQUUsRUFBRTtZQUV0RCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBRS9DLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU8sS0FBSyxDQUFBO1lBQ3pCLE1BQU0sUUFBUSxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQTtZQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQzFCLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLFFBQVEsRUFBRSxDQUFBO1FBRWxDLENBQUMsQ0FBQyxDQUFBO1FBNURBLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBNEI7UUFDOUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLEtBQUssQ0FBQTtRQUM1QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFFLEtBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQzlDLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBNkI7UUFFaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7UUFFdkIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsQ0FBQztZQUMxQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLO1lBQzFCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUM1QixPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPO1NBQ2hDLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7YUFDM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUV6QyxDQUFDO0lBRUQsWUFBWTtRQUVWLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQzthQUNsRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdkIsQ0FBQyxDQUFDLENBQUE7SUFFSixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBRyxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU07UUFDM0IsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsQ0FBQztZQUMxQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLO1lBQzFCLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFBO0lBRUosQ0FBQzsrR0FyRFUsd0JBQXdCO21IQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTs7NEZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IExvY2FsU3RvcmFnZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi8uLi9sb2NhbC1zdG9yYWdlLW1hbmFnZXItc2VydmljZS9sb2NhbC1zdG9yYWdlLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0ZVN0b3JhZ2VPcHRpb25zIH0gZnJvbSAnLi9tb2RlbHMvc3RhdGUtc3RvcmFnZS1vcHRpb25zLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZVN0b3JlTWFuYWdlckRhdGE8VD4ge31cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RvcmVTdGF0ZU1hbmFnZXJTZXJ2aWNlPFQgZXh0ZW5kcyBvYmplY3QgPSBTdGF0ZVN0b3JlTWFuYWdlckRhdGE8YW55Pj4gZXh0ZW5kcyBDb21wb25lbnRTdG9yZTxUPiB7XG5cbiAgbG9jYWxTdG9yYWdlTWFuYWdlclNlcnZpY2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlTWFuYWdlclNlcnZpY2UpXG5cbiAgc2V0dGluZ3M6IGFueSA9IG51bGxcblxuICBwcml2YXRlIGlzUmVzdG9yaW5nID0gZmFsc2VcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG9wdGlvbnM6IFN0YXRlU3RvcmFnZU9wdGlvbnMgPSBTdGF0ZVN0b3JhZ2VPcHRpb25zLmFkYXB0KClcbiAgKSB7XG4gICAgc3VwZXIoU3RvcmVTdGF0ZU1hbmFnZXJTZXJ2aWNlLmluaXQob3B0aW9ucykpXG4gICAgdGhpcy5pbml0KG9wdGlvbnMpXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBpbml0KG9wdGlvbnM6IFN0YXRlU3RvcmFnZU9wdGlvbnMpOiBhbnkge1xuICAgIGNvbnN0IG1vZGVsID0gb3B0aW9ucz8ubW9kZWxcbiAgICByZXR1cm4gKG1vZGVsKSA/IChtb2RlbCBhcyAoKSA9PiBhbnkpKCkgOiB7fVxuICB9XG5cbiAgaW5pdChvcHRpb25zPzogU3RhdGVTdG9yYWdlT3B0aW9ucykge1xuXG4gICAgdGhpcy5zZXR0aW5ncyA9IG9wdGlvbnNcblxuICAgIHRoaXMubG9jYWxTdG9yYWdlTWFuYWdlclNlcnZpY2UuY3JlYXRlU3RvcmUoe1xuICAgICAgbmFtZTogdGhpcy5zZXR0aW5ncz8uc3RvcmUsXG4gICAgICBkYXRhOiB0aGlzLnNldHRpbmdzPy5tb2RlbCgpLFxuICAgICAgb3B0aW9uczogdGhpcy5zZXR0aW5ncz8ub3B0aW9ucyxcbiAgICB9KVxuXG4gICAgdGhpcy5sb2NhbFN0b3JhZ2VNYW5hZ2VyU2VydmljZS5zdG9yZSQodGhpcy5zZXR0aW5ncz8uc3RvcmUpXG4gICAgLnBpcGUodGFrZSgxKSlcbiAgICAuc3Vic2NyaWJlKGRhdGEgPT4gdGhpcy5zZXRTdGF0ZShkYXRhKSlcblxuICB9XG5cbiAgcmVzdG9yZVN0YXRlKCk6IFN1YnNjcmlwdGlvbiB7XG5cbiAgICByZXR1cm4gdGhpcy5sb2NhbFN0b3JhZ2VNYW5hZ2VyU2VydmljZS5zdG9yZSQodGhpcy5zZXR0aW5ncz8uc3RvcmUpXG4gICAgLnBpcGUodGFrZSgxKSlcbiAgICAuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgdGhpcy51cGRhdGVEYXRhKGRhdGEpXG4gICAgfSlcblxuICB9XG5cbiAgdXBkYXRlU3RhdGUoc3RhdGU6IGFueSkge1xuICAgIGlmKHRoaXMuaXNSZXN0b3JpbmcpIHJldHVyblxuICAgIHRoaXMubG9jYWxTdG9yYWdlTWFuYWdlclNlcnZpY2UudXBkYXRlU3RvcmUoe1xuICAgICAgbmFtZTogdGhpcy5zZXR0aW5ncz8uc3RvcmUsXG4gICAgICBkYXRhOiBzdGF0ZVxuICAgIH0pXG5cbiAgfVxuXG4gIC8vIFNlbGVjdG9yc1xuICByZWFkb25seSBkYXRhJCA9IHRoaXMuc2VsZWN0KChzdGF0ZTogYW55KSA9PiB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzLm9wdGlvbnMubW9kZWw7XG4gICAgcmV0dXJuICh0eXBlb2YgbW9kZWwgPT09ICdmdW5jdGlvbicgJiYgIW1vZGVsLnByb3RvdHlwZSkgPyBtb2RlbChzdGF0ZSkgOiBzdGF0ZVxuICB9KTtcblxuICAvLyBVcGRhdGVyc1xuICByZWFkb25seSB1cGRhdGVEYXRhID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZGF0YTogYW55KSA9PiB7XG5cbiAgICBjb25zdCBrZXkgPSBPYmplY3Qua2V5cyhkYXRhKVswXVxuICAgIGNvbnN0IGhhc0tleSA9IE9iamVjdC5rZXlzKHN0YXRlKS5pbmNsdWRlcyhrZXkpXG5cbiAgICBpZiAoIWhhc0tleSkgcmV0dXJuIHN0YXRlXG4gICAgY29uc3QgbmV3U3RhdGUgPSB7IC4uLnN0YXRlLCBba2V5XTogZGF0YVtrZXldIH1cbiAgICB0aGlzLnVwZGF0ZVN0YXRlKG5ld1N0YXRlKVxuICAgIHJldHVybiB7IC4uLnN0YXRlLCAuLi5uZXdTdGF0ZSB9XG5cbiAgfSlcblxufVxuIl19
|
|
@@ -4,7 +4,7 @@ import { ComponentStore } from '@ngrx/component-store';
|
|
|
4
4
|
import { map, catchError, filter, delay, finalize, takeWhile, retry, startWith, tap, mergeMap, takeUntil, withLatestFrom, switchMap, concatMap, scan, distinctUntilChanged } from 'rxjs/operators';
|
|
5
5
|
import { HttpClient, HttpHeaders, HttpEventType, HttpHeaderResponse, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
6
6
|
import * as CryptoJS from 'crypto-js';
|
|
7
|
-
import { from, BehaviorSubject, EMPTY, throwError, defer, interval, timer, Subject, of, Subscription, catchError as catchError$1, map as map$1, tap as tap$1 } from 'rxjs';
|
|
7
|
+
import { from, BehaviorSubject, EMPTY, throwError, defer, interval, timer, Subject, of, take, Subscription, catchError as catchError$1, map as map$1, tap as tap$1 } from 'rxjs';
|
|
8
8
|
import { ToastMessageDisplayService, ToastDisplay, ToastColors, ToastMessageDisplayModule } from 'toast-message-display';
|
|
9
9
|
import * as i1 from '@ngx-translate/core';
|
|
10
10
|
import { TranslateModule } from '@ngx-translate/core';
|
|
@@ -2788,6 +2788,81 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2788
2788
|
args: ["database"]
|
|
2789
2789
|
}] }] });
|
|
2790
2790
|
|
|
2791
|
+
class StateStorageOptions {
|
|
2792
|
+
constructor(store, options, model) {
|
|
2793
|
+
this.store = store;
|
|
2794
|
+
this.options = options;
|
|
2795
|
+
this.model = model;
|
|
2796
|
+
}
|
|
2797
|
+
static adapt(item) {
|
|
2798
|
+
return new StateStorageOptions(item?.store ?? 'temp', item?.options ? SettingOptions.adapt(item.options) : SettingOptions.adapt(), item?.model);
|
|
2799
|
+
}
|
|
2800
|
+
}
|
|
2801
|
+
|
|
2802
|
+
class StoreStateManagerService extends ComponentStore {
|
|
2803
|
+
constructor(options = StateStorageOptions.adapt()) {
|
|
2804
|
+
super(StoreStateManagerService.init(options));
|
|
2805
|
+
this.options = options;
|
|
2806
|
+
this.localStorageManagerService = inject(LocalStorageManagerService);
|
|
2807
|
+
this.settings = null;
|
|
2808
|
+
this.isRestoring = false;
|
|
2809
|
+
// Selectors
|
|
2810
|
+
this.data$ = this.select((state) => {
|
|
2811
|
+
const model = this.options.model;
|
|
2812
|
+
return (typeof model === 'function' && !model.prototype) ? model(state) : state;
|
|
2813
|
+
});
|
|
2814
|
+
// Updaters
|
|
2815
|
+
this.updateData = this.updater((state, data) => {
|
|
2816
|
+
const key = Object.keys(data)[0];
|
|
2817
|
+
const hasKey = Object.keys(state).includes(key);
|
|
2818
|
+
if (!hasKey)
|
|
2819
|
+
return state;
|
|
2820
|
+
const newState = { ...state, [key]: data[key] };
|
|
2821
|
+
this.updateState(newState);
|
|
2822
|
+
return { ...state, ...newState };
|
|
2823
|
+
});
|
|
2824
|
+
this.init(options);
|
|
2825
|
+
}
|
|
2826
|
+
static init(options) {
|
|
2827
|
+
const model = options?.model;
|
|
2828
|
+
return (model) ? model() : {};
|
|
2829
|
+
}
|
|
2830
|
+
init(options) {
|
|
2831
|
+
this.settings = options;
|
|
2832
|
+
this.localStorageManagerService.createStore({
|
|
2833
|
+
name: this.settings?.store,
|
|
2834
|
+
data: this.settings?.model(),
|
|
2835
|
+
options: this.settings?.options,
|
|
2836
|
+
});
|
|
2837
|
+
this.localStorageManagerService.store$(this.settings?.store)
|
|
2838
|
+
.pipe(take(1))
|
|
2839
|
+
.subscribe(data => this.setState(data));
|
|
2840
|
+
}
|
|
2841
|
+
restoreState() {
|
|
2842
|
+
return this.localStorageManagerService.store$(this.settings?.store)
|
|
2843
|
+
.pipe(take(1))
|
|
2844
|
+
.subscribe(data => {
|
|
2845
|
+
this.updateData(data);
|
|
2846
|
+
});
|
|
2847
|
+
}
|
|
2848
|
+
updateState(state) {
|
|
2849
|
+
if (this.isRestoring)
|
|
2850
|
+
return;
|
|
2851
|
+
this.localStorageManagerService.updateStore({
|
|
2852
|
+
name: this.settings?.store,
|
|
2853
|
+
data: state
|
|
2854
|
+
});
|
|
2855
|
+
}
|
|
2856
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StoreStateManagerService, deps: [{ token: StateStorageOptions }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2857
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StoreStateManagerService, providedIn: 'root' }); }
|
|
2858
|
+
}
|
|
2859
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StoreStateManagerService, decorators: [{
|
|
2860
|
+
type: Injectable,
|
|
2861
|
+
args: [{
|
|
2862
|
+
providedIn: 'root'
|
|
2863
|
+
}]
|
|
2864
|
+
}], ctorParameters: () => [{ type: StateStorageOptions }] });
|
|
2865
|
+
|
|
2791
2866
|
// export * from "./database-manager-services/index";
|
|
2792
2867
|
|
|
2793
2868
|
class ErrorDisplaySettings {
|
|
@@ -4988,5 +5063,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4988
5063
|
* Generated bundle index. Do not edit.
|
|
4989
5064
|
*/
|
|
4990
5065
|
|
|
4991
|
-
export { ApiRequest, AppService, AsymmetricalEncryptionService, ChannelInfo, ChannelMessage, ConfigHTTPOptions, ConfigOptions, DataType, DatabaseDataDemoComponent, DatabaseStorage, ErrorDisplaySettings, GlobalStoreOptions, HTTPManagerService, HTTPManagerSignalsService, HTTPManagerStateService, HeadersService, HttpRequestManagerModule, HttpRequestServicesDemoComponent, LocalStorageDemoComponent, LocalStorageManagerService, LocalStorageOptions, LocalStorageSignalsManagerService, PathQueryService, Random, RandomNumber, RandomNumbers, RandomNumbersUnique, RandomSignature, RandomStr, RequestErrorInterceptor, RequestHeadersInterceptor, RequestManagerDemoComponent, RequestManagerStateDemoComponent, RequestOptions, RetryOptions, SettingOptions, StorageData, StorageOption, StorageType, SymmetricalEncryptionService, UUID, UserInfo, UserMessage, UserNameInfo, UtilsService, WSOptions, WebsocketService, WithCredentialsInterceptor, countdown, delayedRetry, requestPolling, requestStreaming };
|
|
5066
|
+
export { ApiRequest, AppService, AsymmetricalEncryptionService, ChannelInfo, ChannelMessage, ConfigHTTPOptions, ConfigOptions, DataType, DatabaseDataDemoComponent, DatabaseStorage, ErrorDisplaySettings, GlobalStoreOptions, HTTPManagerService, HTTPManagerSignalsService, HTTPManagerStateService, HeadersService, HttpRequestManagerModule, HttpRequestServicesDemoComponent, LocalStorageDemoComponent, LocalStorageManagerService, LocalStorageOptions, LocalStorageSignalsManagerService, PathQueryService, Random, RandomNumber, RandomNumbers, RandomNumbersUnique, RandomSignature, RandomStr, RequestErrorInterceptor, RequestHeadersInterceptor, RequestManagerDemoComponent, RequestManagerStateDemoComponent, RequestOptions, RetryOptions, SettingOptions, StateStorageOptions, StorageData, StorageOption, StorageType, StoreStateManagerService, SymmetricalEncryptionService, UUID, UserInfo, UserMessage, UserNameInfo, UtilsService, WSOptions, WebsocketService, WithCredentialsInterceptor, countdown, delayedRetry, requestPolling, requestStreaming };
|
|
4992
5067
|
//# sourceMappingURL=http-request-manager.mjs.map
|