@ngx-pwa/local-storage 18.0.0 → 19.0.0
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/fesm2022/ngx-pwa-local-storage.mjs +48 -35
- package/fesm2022/ngx-pwa-local-storage.mjs.map +1 -1
- package/package.json +3 -5
- package/schematics/ng-add/index.js +7 -7
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-update/index.js +14 -24
- package/schematics/ng-update/index.js.map +1 -1
- package/schematics/utility/config.js +24 -34
- package/schematics/utility/config.js.map +1 -1
- package/schematics/utility/module.js +3 -3
- package/schematics/utility/module.js.map +1 -1
- package/esm2022/lib/databases/exceptions.mjs +0 -28
- package/esm2022/lib/databases/indexeddb-database.mjs +0 -308
- package/esm2022/lib/databases/local-database.mjs +0 -66
- package/esm2022/lib/databases/localstorage-database.mjs +0 -158
- package/esm2022/lib/databases/memory-database.mjs +0 -84
- package/esm2022/lib/providers.mjs +0 -66
- package/esm2022/lib/storage.module.mjs +0 -34
- package/esm2022/lib/storages/exceptions.mjs +0 -15
- package/esm2022/lib/storages/storage-map.service.mjs +0 -340
- package/esm2022/lib/tokens.mjs +0 -59
- package/esm2022/lib/validation/json-schema.mjs +0 -5
- package/esm2022/lib/validation/json-validator.mjs +0 -244
- package/esm2022/ngx-pwa-local-storage.mjs +0 -5
- package/esm2022/public-api.mjs +0 -9
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import { Injectable, inject } from "@angular/core";
|
|
2
|
-
import { Observable, asyncScheduler, of, throwError } from "rxjs";
|
|
3
|
-
import { observeOn } from "rxjs/operators";
|
|
4
|
-
import { LS_PREFIX } from "../tokens";
|
|
5
|
-
import { SerializationError } from "./exceptions";
|
|
6
|
-
import { LocalDatabase } from "./local-database";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class LocalStorageDatabase {
|
|
9
|
-
constructor() {
|
|
10
|
-
/* Prefix if asked, or no prefix otherwise */
|
|
11
|
-
this.prefix = inject(LS_PREFIX) || "";
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Number of items in `localStorage`
|
|
15
|
-
*/
|
|
16
|
-
get size() {
|
|
17
|
-
/* Wrap in a RxJS `Observable` to be consistent with other storages */
|
|
18
|
-
return of(localStorage.length);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Gets an item value in `localStorage`
|
|
22
|
-
* @param key The item's key
|
|
23
|
-
* @returns The item's value if the key exists, `undefined` otherwise, wrapped in a RxJS `Observable`
|
|
24
|
-
*/
|
|
25
|
-
get(key) {
|
|
26
|
-
/* Get raw data */
|
|
27
|
-
const unparsedData = localStorage.getItem(this.prefixKey(key));
|
|
28
|
-
/* No need to parse if data is `null` or `undefined` */
|
|
29
|
-
if (unparsedData !== null) {
|
|
30
|
-
/* Try to parse */
|
|
31
|
-
try {
|
|
32
|
-
const parsedData = JSON.parse(unparsedData);
|
|
33
|
-
/* Wrap in a RxJS `Observable` to be consistent with other storages */
|
|
34
|
-
return of(parsedData);
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
return throwError(() => error);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return of(undefined);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Store an item in `localStorage`
|
|
44
|
-
* @param key The item's key
|
|
45
|
-
* @param data The item's value
|
|
46
|
-
* @returns A RxJS `Observable` to wait the end of the operation
|
|
47
|
-
*/
|
|
48
|
-
set(key, data) {
|
|
49
|
-
let serializedData = null;
|
|
50
|
-
/* Check if data can be serialized */
|
|
51
|
-
const dataPrototype = Object.getPrototypeOf(data);
|
|
52
|
-
if ((typeof data === "object") && (data !== null) && !Array.isArray(data) &&
|
|
53
|
-
!((dataPrototype === Object.prototype) || (dataPrototype === null))) {
|
|
54
|
-
return throwError(() => new SerializationError());
|
|
55
|
-
}
|
|
56
|
-
/* Try to stringify (can fail on circular references) */
|
|
57
|
-
try {
|
|
58
|
-
serializedData = JSON.stringify(data);
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
return throwError(() => error);
|
|
62
|
-
}
|
|
63
|
-
/* Can fail if storage quota is exceeded */
|
|
64
|
-
try {
|
|
65
|
-
localStorage.setItem(this.prefixKey(key), serializedData);
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
return throwError(() => error);
|
|
69
|
-
}
|
|
70
|
-
/* Wrap in a RxJS `Observable` to be consistent with other storages */
|
|
71
|
-
return of(undefined);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Deletes an item in `localStorage`
|
|
75
|
-
* @param key The item's key
|
|
76
|
-
* @returns A RxJS `Observable` to wait the end of the operation
|
|
77
|
-
*/
|
|
78
|
-
delete(key) {
|
|
79
|
-
localStorage.removeItem(this.prefixKey(key));
|
|
80
|
-
/* Wrap in a RxJS `Observable` to be consistent with other storages */
|
|
81
|
-
return of(undefined);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Deletes all items in `localStorage`
|
|
85
|
-
* @returns A RxJS `Observable` to wait the end of the operation
|
|
86
|
-
*/
|
|
87
|
-
clear() {
|
|
88
|
-
localStorage.clear();
|
|
89
|
-
/* Wrap in a RxJS `Observable` to be consistent with other storages */
|
|
90
|
-
return of(undefined);
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Get all keys in `localStorage`
|
|
94
|
-
* Note the order of the keys may be inconsistent in Firefox
|
|
95
|
-
* @returns A RxJS `Observable` iterating on keys
|
|
96
|
-
*/
|
|
97
|
-
keys() {
|
|
98
|
-
/* Create an `Observable` from keys */
|
|
99
|
-
return new Observable((subscriber) => {
|
|
100
|
-
/* Iteretate over all the indexes */
|
|
101
|
-
for (let index = 0; index < localStorage.length; index += 1) {
|
|
102
|
-
/* Cast as we are sure in this case the key is not `null` */
|
|
103
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- Ensured by the logic
|
|
104
|
-
subscriber.next(this.getUnprefixedKey(index));
|
|
105
|
-
}
|
|
106
|
-
subscriber.complete();
|
|
107
|
-
}).pipe(
|
|
108
|
-
/* Required to work like other databases which are asynchronous */
|
|
109
|
-
observeOn(asyncScheduler));
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Check if a key exists in `localStorage`
|
|
113
|
-
* @param key The item's key
|
|
114
|
-
* @returns A RxJS `Observable` telling if the key exists or not
|
|
115
|
-
*/
|
|
116
|
-
has(key) {
|
|
117
|
-
/* Itérate over all indexes in storage */
|
|
118
|
-
for (let index = 0; index < localStorage.length; index += 1) {
|
|
119
|
-
if (key === this.getUnprefixedKey(index)) {
|
|
120
|
-
/* Wrap in a RxJS `Observable` to be consistent with other storages */
|
|
121
|
-
return of(true);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
/* Wrap in a RxJS `Observable` to be consistent with other storages */
|
|
125
|
-
return of(false);
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Get an unprefixed key
|
|
129
|
-
* @param index Index of the key
|
|
130
|
-
* @returns The unprefixed key name if exists, `null` otherwise
|
|
131
|
-
*/
|
|
132
|
-
getUnprefixedKey(index) {
|
|
133
|
-
/* Get the key in storage: may have a prefix */
|
|
134
|
-
const prefixedKey = localStorage.key(index);
|
|
135
|
-
if (prefixedKey !== null) {
|
|
136
|
-
/* If no prefix, the key is already good, otherwrite strip the prefix */
|
|
137
|
-
return !this.prefix ? prefixedKey : prefixedKey.substring(this.prefix.length);
|
|
138
|
-
}
|
|
139
|
-
return null;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Add the prefix to a key
|
|
143
|
-
* @param key The key name
|
|
144
|
-
* @returns The prefixed key name
|
|
145
|
-
*/
|
|
146
|
-
prefixKey(key) {
|
|
147
|
-
return `${this.prefix}${key}`;
|
|
148
|
-
}
|
|
149
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: LocalStorageDatabase, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
150
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: LocalStorageDatabase, providedIn: "root" }); }
|
|
151
|
-
}
|
|
152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: LocalStorageDatabase, decorators: [{
|
|
153
|
-
type: Injectable,
|
|
154
|
-
args: [{
|
|
155
|
-
providedIn: "root"
|
|
156
|
-
}]
|
|
157
|
-
}], ctorParameters: () => [] });
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxzdG9yYWdlLWRhdGFiYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9saWIvZGF0YWJhc2VzL2xvY2Fsc3RvcmFnZS1kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBS2pELE1BQU0sT0FBTyxvQkFBb0I7SUFPL0I7UUFFRSw2Q0FBNkM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRXhDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksSUFBSTtRQUVOLHNFQUFzRTtRQUN0RSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFakMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsR0FBVztRQUViLGtCQUFrQjtRQUNsQixNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUvRCx1REFBdUQ7UUFDdkQsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFLENBQUM7WUFFMUIsa0JBQWtCO1lBQ2xCLElBQUksQ0FBQztnQkFFSCxNQUFNLFVBQVUsR0FBWSxJQUFJLENBQUMsS0FB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VztRQUViLHlDQUF5QztRQUN6QyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7WUFFNUQsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBRXpDLHNFQUFzRTtnQkFDdEUsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFbEIsQ0FBQztRQUVILENBQUM7UUFFRCxzRUFBc0U7UUFDdEUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFbkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxnQkFBZ0IsQ0FBQyxLQUFhO1FBRXBDLCtDQUErQztRQUMvQyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVDLElBQUksV0FBVyxLQUFLLElBQUksRUFBRSxDQUFDO1lBRXpCLHdFQUF3RTtZQUN4RSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEYsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBRWQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxTQUFTLENBQUMsR0FBVztRQUUzQixPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUVoQyxDQUFDOzhHQXhNVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIGFzeW5jU2NoZWR1bGVyLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBvYnNlcnZlT24gfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IExTX1BSRUZJWCB9IGZyb20gXCIuLi90b2tlbnNcIjtcbmltcG9ydCB7IFNlcmlhbGl6YXRpb25FcnJvciB9IGZyb20gXCIuL2V4Y2VwdGlvbnNcIjtcbmltcG9ydCB7IExvY2FsRGF0YWJhc2UgfSBmcm9tIFwiLi9sb2NhbC1kYXRhYmFzZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXG59KVxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZURhdGFiYXNlIGltcGxlbWVudHMgTG9jYWxEYXRhYmFzZSB7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgcHJlZml4IHRvIGF2b2lkIGNvbGxpc2lvbiBmb3IgbXVsdGlwbGUgYXBwcyBvbiB0aGUgc2FtZSBzdWJkb21haW5cbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuXG4gICAgLyogUHJlZml4IGlmIGFza2VkLCBvciBubyBwcmVmaXggb3RoZXJ3aXNlICovXG4gICAgdGhpcy5wcmVmaXggPSBpbmplY3QoTFNfUFJFRklYKSB8fCBcIlwiO1xuXG4gIH1cblxuICAvKipcbiAgICogTnVtYmVyIG9mIGl0ZW1zIGluIGBsb2NhbFN0b3JhZ2VgXG4gICAqL1xuICBnZXQgc2l6ZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuXG4gICAgLyogV3JhcCBpbiBhIFJ4SlMgYE9ic2VydmFibGVgIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBzdG9yYWdlcyAqL1xuICAgIHJldHVybiBvZihsb2NhbFN0b3JhZ2UubGVuZ3RoKTtcblxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYW4gaXRlbSB2YWx1ZSBpbiBgbG9jYWxTdG9yYWdlYFxuICAgKiBAcGFyYW0ga2V5IFRoZSBpdGVtJ3Mga2V5XG4gICAqIEByZXR1cm5zIFRoZSBpdGVtJ3MgdmFsdWUgaWYgdGhlIGtleSBleGlzdHMsIGB1bmRlZmluZWRgIG90aGVyd2lzZSwgd3JhcHBlZCBpbiBhIFJ4SlMgYE9ic2VydmFibGVgXG4gICAqL1xuICBnZXQoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcblxuICAgIC8qIEdldCByYXcgZGF0YSAqL1xuICAgIGNvbnN0IHVucGFyc2VkRGF0YSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMucHJlZml4S2V5KGtleSkpO1xuXG4gICAgLyogTm8gbmVlZCB0byBwYXJzZSBpZiBkYXRhIGlzIGBudWxsYCBvciBgdW5kZWZpbmVkYCAqL1xuICAgIGlmICh1bnBhcnNlZERhdGEgIT09IG51bGwpIHtcblxuICAgICAgLyogVHJ5IHRvIHBhcnNlICovXG4gICAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHBhcnNlZERhdGE6IHVua25vd24gPSBKU09OLnBhcnNlKHVucGFyc2VkRGF0YSk7XG5cbiAgICAgICAgLyogV3JhcCBpbiBhIFJ4SlMgYE9ic2VydmFibGVgIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBzdG9yYWdlcyAqL1xuICAgICAgICByZXR1cm4gb2YocGFyc2VkRGF0YSk7XG5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yIGFzIFN5bnRheEVycm9yKTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuXG4gIH1cblxuICAvKipcbiAgICogU3RvcmUgYW4gaXRlbSBpbiBgbG9jYWxTdG9yYWdlYFxuICAgKiBAcGFyYW0ga2V5IFRoZSBpdGVtJ3Mga2V5XG4gICAqIEBwYXJhbSBkYXRhIFRoZSBpdGVtJ3MgdmFsdWVcbiAgICogQHJldHVybnMgQSBSeEpTIGBPYnNlcnZhYmxlYCB0byB3YWl0IHRoZSBlbmQgb2YgdGhlIG9wZXJhdGlvblxuICAgKi9cbiAgc2V0KGtleTogc3RyaW5nLCBkYXRhOiB1bmtub3duKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcblxuICAgIGxldCBzZXJpYWxpemVkRGF0YTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiBDaGVjayBpZiBkYXRhIGNhbiBiZSBzZXJpYWxpemVkICovXG4gICAgY29uc3QgZGF0YVByb3RvdHlwZTogdW5rbm93biA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihkYXRhKTtcbiAgICBpZiAoKHR5cGVvZiBkYXRhID09PSBcIm9iamVjdFwiKSAmJiAoZGF0YSAhPT0gbnVsbCkgJiYgIUFycmF5LmlzQXJyYXkoZGF0YSkgJiZcbiAgICAgICEoKGRhdGFQcm90b3R5cGUgPT09IE9iamVjdC5wcm90b3R5cGUpIHx8IChkYXRhUHJvdG90eXBlID09PSBudWxsKSkpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBTZXJpYWxpemF0aW9uRXJyb3IoKSk7XG4gICAgfVxuXG4gICAgLyogVHJ5IHRvIHN0cmluZ2lmeSAoY2FuIGZhaWwgb24gY2lyY3VsYXIgcmVmZXJlbmNlcykgKi9cbiAgICB0cnkge1xuICAgICAgc2VyaWFsaXplZERhdGEgPSBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IgYXMgVHlwZUVycm9yKTtcbiAgICB9XG5cbiAgICAvKiBDYW4gZmFpbCBpZiBzdG9yYWdlIHF1b3RhIGlzIGV4Y2VlZGVkICovXG4gICAgdHJ5IHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMucHJlZml4S2V5KGtleSksIHNlcmlhbGl6ZWREYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IgYXMgRE9NRXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICAvKiBXcmFwIGluIGEgUnhKUyBgT2JzZXJ2YWJsZWAgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHN0b3JhZ2VzICovXG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGFuIGl0ZW0gaW4gYGxvY2FsU3RvcmFnZWBcbiAgICogQHBhcmFtIGtleSBUaGUgaXRlbSdzIGtleVxuICAgKiBAcmV0dXJucyBBIFJ4SlMgYE9ic2VydmFibGVgIHRvIHdhaXQgdGhlIGVuZCBvZiB0aGUgb3BlcmF0aW9uXG4gICAqL1xuICBkZWxldGUoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHVuZGVmaW5lZD4ge1xuXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5wcmVmaXhLZXkoa2V5KSk7XG5cbiAgICAvKiBXcmFwIGluIGEgUnhKUyBgT2JzZXJ2YWJsZWAgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHN0b3JhZ2VzICovXG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGFsbCBpdGVtcyBpbiBgbG9jYWxTdG9yYWdlYFxuICAgKiBAcmV0dXJucyBBIFJ4SlMgYE9ic2VydmFibGVgIHRvIHdhaXQgdGhlIGVuZCBvZiB0aGUgb3BlcmF0aW9uXG4gICAqL1xuICBjbGVhcigpOiBPYnNlcnZhYmxlPHVuZGVmaW5lZD4ge1xuXG4gICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XG5cbiAgICAvKiBXcmFwIGluIGEgUnhKUyBgT2JzZXJ2YWJsZWAgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHN0b3JhZ2VzICovXG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGtleXMgaW4gYGxvY2FsU3RvcmFnZWBcbiAgICogTm90ZSB0aGUgb3JkZXIgb2YgdGhlIGtleXMgbWF5IGJlIGluY29uc2lzdGVudCBpbiBGaXJlZm94XG4gICAqIEByZXR1cm5zIEEgUnhKUyBgT2JzZXJ2YWJsZWAgaXRlcmF0aW5nIG9uIGtleXNcbiAgICovXG4gIGtleXMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcblxuICAgIC8qIENyZWF0ZSBhbiBgT2JzZXJ2YWJsZWAgZnJvbSBrZXlzICovXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZz4oKHN1YnNjcmliZXIpID0+IHtcblxuICAgICAgLyogSXRlcmV0YXRlIG92ZXIgYWxsIHRoZSBpbmRleGVzICovXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbG9jYWxTdG9yYWdlLmxlbmd0aDsgaW5kZXggKz0gMSkge1xuXG4gICAgICAgIC8qIENhc3QgYXMgd2UgYXJlIHN1cmUgaW4gdGhpcyBjYXNlIHRoZSBrZXkgaXMgbm90IGBudWxsYCAqL1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvbiAtLSBFbnN1cmVkIGJ5IHRoZSBsb2dpY1xuICAgICAgICBzdWJzY3JpYmVyLm5leHQodGhpcy5nZXRVbnByZWZpeGVkS2V5KGluZGV4KSEpO1xuXG4gICAgICB9XG5cbiAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcblxuICAgIH0pLnBpcGUoXG4gICAgICAvKiBSZXF1aXJlZCB0byB3b3JrIGxpa2Ugb3RoZXIgZGF0YWJhc2VzIHdoaWNoIGFyZSBhc3luY2hyb25vdXMgKi9cbiAgICAgIG9ic2VydmVPbihhc3luY1NjaGVkdWxlciksXG4gICAgKTtcblxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGEga2V5IGV4aXN0cyBpbiBgbG9jYWxTdG9yYWdlYFxuICAgKiBAcGFyYW0ga2V5IFRoZSBpdGVtJ3Mga2V5XG4gICAqIEByZXR1cm5zIEEgUnhKUyBgT2JzZXJ2YWJsZWAgdGVsbGluZyBpZiB0aGUga2V5IGV4aXN0cyBvciBub3RcbiAgICovXG4gIGhhcyhrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuXG4gICAgLyogSXTDqXJhdGUgb3ZlciBhbGwgaW5kZXhlcyBpbiBzdG9yYWdlICovXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxvY2FsU3RvcmFnZS5sZW5ndGg7IGluZGV4ICs9IDEpIHtcblxuICAgICAgaWYgKGtleSA9PT0gdGhpcy5nZXRVbnByZWZpeGVkS2V5KGluZGV4KSkge1xuXG4gICAgICAgIC8qIFdyYXAgaW4gYSBSeEpTIGBPYnNlcnZhYmxlYCB0byBiZSBjb25zaXN0ZW50IHdpdGggb3RoZXIgc3RvcmFnZXMgKi9cbiAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAvKiBXcmFwIGluIGEgUnhKUyBgT2JzZXJ2YWJsZWAgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHN0b3JhZ2VzICovXG4gICAgcmV0dXJuIG9mKGZhbHNlKTtcblxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbiB1bnByZWZpeGVkIGtleVxuICAgKiBAcGFyYW0gaW5kZXggSW5kZXggb2YgdGhlIGtleVxuICAgKiBAcmV0dXJucyBUaGUgdW5wcmVmaXhlZCBrZXkgbmFtZSBpZiBleGlzdHMsIGBudWxsYCBvdGhlcndpc2VcbiAgICovXG4gIHByaXZhdGUgZ2V0VW5wcmVmaXhlZEtleShpbmRleDogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XG5cbiAgICAvKiBHZXQgdGhlIGtleSBpbiBzdG9yYWdlOiBtYXkgaGF2ZSBhIHByZWZpeCAqL1xuICAgIGNvbnN0IHByZWZpeGVkS2V5ID0gbG9jYWxTdG9yYWdlLmtleShpbmRleCk7XG5cbiAgICBpZiAocHJlZml4ZWRLZXkgIT09IG51bGwpIHtcblxuICAgICAgLyogSWYgbm8gcHJlZml4LCB0aGUga2V5IGlzIGFscmVhZHkgZ29vZCwgb3RoZXJ3cml0ZSBzdHJpcCB0aGUgcHJlZml4ICovXG4gICAgICByZXR1cm4gIXRoaXMucHJlZml4ID8gcHJlZml4ZWRLZXkgOiBwcmVmaXhlZEtleS5zdWJzdHJpbmcodGhpcy5wcmVmaXgubGVuZ3RoKTtcblxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuXG4gIH1cblxuICAvKipcbiAgICogQWRkIHRoZSBwcmVmaXggdG8gYSBrZXlcbiAgICogQHBhcmFtIGtleSBUaGUga2V5IG5hbWVcbiAgICogQHJldHVybnMgVGhlIHByZWZpeGVkIGtleSBuYW1lXG4gICAqL1xuICBwcml2YXRlIHByZWZpeEtleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG5cbiAgICByZXR1cm4gYCR7dGhpcy5wcmVmaXh9JHtrZXl9YDtcblxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import { Observable, from, of } from "rxjs";
|
|
3
|
-
import { LocalDatabase } from "./local-database";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class MemoryDatabase {
|
|
6
|
-
constructor() {
|
|
7
|
-
/**
|
|
8
|
-
* Memory storage
|
|
9
|
-
*/
|
|
10
|
-
this.memoryStorage = new Map();
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Number of items in memory
|
|
14
|
-
*/
|
|
15
|
-
get size() {
|
|
16
|
-
/* Wrap in a RxJS `Observable` to be consistent with other storages */
|
|
17
|
-
return of(this.memoryStorage.size);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Gets an item value in memory
|
|
21
|
-
* @param key The item's key
|
|
22
|
-
* @returns The item's value if the key exists, `undefined` otherwise, wrapped in a RxJS `Observable`
|
|
23
|
-
*/
|
|
24
|
-
get(key) {
|
|
25
|
-
/* Wrap in a RxJS `Observable` to be consistent with other storages */
|
|
26
|
-
return of(this.memoryStorage.get(key));
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Sets an item in memory
|
|
30
|
-
* @param key The item's key
|
|
31
|
-
* @param data The item's value
|
|
32
|
-
* @returns A RxJS `Observable` to wait the end of the operation
|
|
33
|
-
*/
|
|
34
|
-
set(key, data) {
|
|
35
|
-
this.memoryStorage.set(key, data);
|
|
36
|
-
/* Wrap in a RxJS `Observable` to be consistent with other storages */
|
|
37
|
-
return of(undefined);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Deletes an item in memory
|
|
41
|
-
* @param key The item's key
|
|
42
|
-
* @returns A RxJS `Observable` to wait the end of the operation
|
|
43
|
-
*/
|
|
44
|
-
delete(key) {
|
|
45
|
-
this.memoryStorage.delete(key);
|
|
46
|
-
/* Wrap in a RxJS `Observable` to be consistent with other storages */
|
|
47
|
-
return of(undefined);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Deletes all items in memory
|
|
51
|
-
* @returns A RxJS `Observable` to wait the end of the operation
|
|
52
|
-
*/
|
|
53
|
-
clear() {
|
|
54
|
-
this.memoryStorage.clear();
|
|
55
|
-
/* Wrap in a RxJS `Observable` to be consistent with other storages */
|
|
56
|
-
return of(undefined);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Get all keys in memory
|
|
60
|
-
* @returns A RxJS `Observable` iterating on keys
|
|
61
|
-
*/
|
|
62
|
-
keys() {
|
|
63
|
-
/* Create an `Observable` from keys */
|
|
64
|
-
return from(this.memoryStorage.keys());
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Check if a key exists in memory
|
|
68
|
-
* @param key Key name
|
|
69
|
-
* @returns a RxJS `Observable` telling if the key exists or not
|
|
70
|
-
*/
|
|
71
|
-
has(key) {
|
|
72
|
-
/* Wrap in a RxJS `Observable` to be consistent with other storages */
|
|
73
|
-
return of(this.memoryStorage.has(key));
|
|
74
|
-
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: MemoryDatabase, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
76
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: MemoryDatabase, providedIn: "root" }); }
|
|
77
|
-
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: MemoryDatabase, decorators: [{
|
|
79
|
-
type: Injectable,
|
|
80
|
-
args: [{
|
|
81
|
-
providedIn: "root"
|
|
82
|
-
}]
|
|
83
|
-
}] });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5LWRhdGFiYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9saWIvZGF0YWJhc2VzL21lbW9yeS1kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBS2pELE1BQU0sT0FBTyxjQUFjO0lBSDNCO1FBS0U7O1dBRUc7UUFDYyxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO0tBeUY3RDtJQXZGQzs7T0FFRztJQUNILElBQUksSUFBSTtRQUVOLHNFQUFzRTtRQUN0RSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXJDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsR0FBRyxDQUFDLEdBQVc7UUFFYixzRUFBc0U7UUFDdEUsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUV6QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxHQUFHLENBQUMsR0FBVyxFQUFFLElBQWE7UUFFNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWxDLHNFQUFzRTtRQUN0RSxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxHQUFXO1FBRWhCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRS9CLHNFQUFzRTtRQUN0RSxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSztRQUVILElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFM0Isc0VBQXNFO1FBQ3RFLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXZCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJO1FBRUYsc0NBQXNDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUV6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxHQUFXO1FBRWIsc0VBQXNFO1FBQ3RFLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFekMsQ0FBQzs4R0E1RlUsY0FBYztrSEFBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IExvY2FsRGF0YWJhc2UgfSBmcm9tIFwiLi9sb2NhbC1kYXRhYmFzZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXG59KVxuZXhwb3J0IGNsYXNzIE1lbW9yeURhdGFiYXNlIGltcGxlbWVudHMgTG9jYWxEYXRhYmFzZSB7XG5cbiAgLyoqXG4gICAqIE1lbW9yeSBzdG9yYWdlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IG1lbW9yeVN0b3JhZ2UgPSBuZXcgTWFwPHN0cmluZywgdW5rbm93bj4oKTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGl0ZW1zIGluIG1lbW9yeVxuICAgKi9cbiAgZ2V0IHNpemUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcblxuICAgIC8qIFdyYXAgaW4gYSBSeEpTIGBPYnNlcnZhYmxlYCB0byBiZSBjb25zaXN0ZW50IHdpdGggb3RoZXIgc3RvcmFnZXMgKi9cbiAgICByZXR1cm4gb2YodGhpcy5tZW1vcnlTdG9yYWdlLnNpemUpO1xuXG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbiBpdGVtIHZhbHVlIGluIG1lbW9yeVxuICAgKiBAcGFyYW0ga2V5IFRoZSBpdGVtJ3Mga2V5XG4gICAqIEByZXR1cm5zIFRoZSBpdGVtJ3MgdmFsdWUgaWYgdGhlIGtleSBleGlzdHMsIGB1bmRlZmluZWRgIG90aGVyd2lzZSwgd3JhcHBlZCBpbiBhIFJ4SlMgYE9ic2VydmFibGVgXG4gICAqL1xuICBnZXQoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcblxuICAgIC8qIFdyYXAgaW4gYSBSeEpTIGBPYnNlcnZhYmxlYCB0byBiZSBjb25zaXN0ZW50IHdpdGggb3RoZXIgc3RvcmFnZXMgKi9cbiAgICByZXR1cm4gb2YodGhpcy5tZW1vcnlTdG9yYWdlLmdldChrZXkpKTtcblxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgYW4gaXRlbSBpbiBtZW1vcnlcbiAgICogQHBhcmFtIGtleSBUaGUgaXRlbSdzIGtleVxuICAgKiBAcGFyYW0gZGF0YSBUaGUgaXRlbSdzIHZhbHVlXG4gICAqIEByZXR1cm5zIEEgUnhKUyBgT2JzZXJ2YWJsZWAgdG8gd2FpdCB0aGUgZW5kIG9mIHRoZSBvcGVyYXRpb25cbiAgICovXG4gIHNldChrZXk6IHN0cmluZywgZGF0YTogdW5rbm93bik6IE9ic2VydmFibGU8dW5kZWZpbmVkPiB7XG5cbiAgICB0aGlzLm1lbW9yeVN0b3JhZ2Uuc2V0KGtleSwgZGF0YSk7XG5cbiAgICAvKiBXcmFwIGluIGEgUnhKUyBgT2JzZXJ2YWJsZWAgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHN0b3JhZ2VzICovXG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGFuIGl0ZW0gaW4gbWVtb3J5XG4gICAqIEBwYXJhbSBrZXkgVGhlIGl0ZW0ncyBrZXlcbiAgICogQHJldHVybnMgQSBSeEpTIGBPYnNlcnZhYmxlYCB0byB3YWl0IHRoZSBlbmQgb2YgdGhlIG9wZXJhdGlvblxuICAgKi9cbiAgZGVsZXRlKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcblxuICAgIHRoaXMubWVtb3J5U3RvcmFnZS5kZWxldGUoa2V5KTtcblxuICAgIC8qIFdyYXAgaW4gYSBSeEpTIGBPYnNlcnZhYmxlYCB0byBiZSBjb25zaXN0ZW50IHdpdGggb3RoZXIgc3RvcmFnZXMgKi9cbiAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcblxuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYWxsIGl0ZW1zIGluIG1lbW9yeVxuICAgKiBAcmV0dXJucyBBIFJ4SlMgYE9ic2VydmFibGVgIHRvIHdhaXQgdGhlIGVuZCBvZiB0aGUgb3BlcmF0aW9uXG4gICAqL1xuICBjbGVhcigpOiBPYnNlcnZhYmxlPHVuZGVmaW5lZD4ge1xuXG4gICAgdGhpcy5tZW1vcnlTdG9yYWdlLmNsZWFyKCk7XG5cbiAgICAvKiBXcmFwIGluIGEgUnhKUyBgT2JzZXJ2YWJsZWAgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHN0b3JhZ2VzICovXG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGtleXMgaW4gbWVtb3J5XG4gICAqIEByZXR1cm5zIEEgUnhKUyBgT2JzZXJ2YWJsZWAgaXRlcmF0aW5nIG9uIGtleXNcbiAgICovXG4gIGtleXMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcblxuICAgIC8qIENyZWF0ZSBhbiBgT2JzZXJ2YWJsZWAgZnJvbSBrZXlzICovXG4gICAgcmV0dXJuIGZyb20odGhpcy5tZW1vcnlTdG9yYWdlLmtleXMoKSk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIGtleSBleGlzdHMgaW4gbWVtb3J5XG4gICAqIEBwYXJhbSBrZXkgS2V5IG5hbWVcbiAgICogQHJldHVybnMgYSBSeEpTIGBPYnNlcnZhYmxlYCB0ZWxsaW5nIGlmIHRoZSBrZXkgZXhpc3RzIG9yIG5vdFxuICAgKi9cbiAgaGFzKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG5cbiAgICAvKiBXcmFwIGluIGEgUnhKUyBgT2JzZXJ2YWJsZWAgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHN0b3JhZ2VzICovXG4gICAgcmV0dXJuIG9mKHRoaXMubWVtb3J5U3RvcmFnZS5oYXMoa2V5KSk7XG5cbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { makeEnvironmentProviders } from "@angular/core";
|
|
2
|
-
import { IDB_DB_NAME, IDB_DB_VERSION, IDB_STORE_NAME, LS_PREFIX } from "./tokens";
|
|
3
|
-
/**
|
|
4
|
-
* Allows to add a prefix before `localStorage` keys.
|
|
5
|
-
*
|
|
6
|
-
* *Use only* for interoperability with other APIs or to avoid collision for multiple applications on the same subdomain.
|
|
7
|
-
*
|
|
8
|
-
* **WARNING: do not change this option in an application already deployed in production, as previously stored data would be lost.**
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* export const appConfig: ApplicationConfig = {
|
|
12
|
-
* providers: [provideLocalStoragePrefix('custom_')]
|
|
13
|
-
* };
|
|
14
|
-
*/
|
|
15
|
-
export function provideLocalStoragePrefix(prefix) {
|
|
16
|
-
return makeEnvironmentProviders([{ provide: LS_PREFIX, useValue: prefix }]);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Allows to change the name used for `indexedDB` database.
|
|
20
|
-
*
|
|
21
|
-
* *Use only* for interoperability with other APIs or to avoid collision for multiple applications on the same subdomain.
|
|
22
|
-
*
|
|
23
|
-
* **WARNING: do not change this option in an application already deployed in production, as previously stored data would be lost.**
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* export const appConfig: ApplicationConfig = {
|
|
27
|
-
* providers: [provideIndexedDBDataBaseName('custom')]
|
|
28
|
-
* };
|
|
29
|
-
*/
|
|
30
|
-
export function provideIndexedDBDataBaseName(name) {
|
|
31
|
-
return makeEnvironmentProviders([{ provide: IDB_DB_NAME, useValue: name }]);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Allows to change the database version used for `indexedDB` database.
|
|
35
|
-
* Must be an unsigned **integer**.
|
|
36
|
-
*
|
|
37
|
-
* **Use with caution as the creation of the store depends on the version.**
|
|
38
|
-
*
|
|
39
|
-
* *Use only* for interoperability with other APIs or to avoid collision for multiple applications on the same subdomain.
|
|
40
|
-
*
|
|
41
|
-
* **WARNING: do not change this option in an applicattion already deployed in production, as previously stored data would be lost.**
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* export const appConfig: ApplicationConfig = {
|
|
45
|
-
* providers: [provideIndexedDBDataBaseVersion(2)]
|
|
46
|
-
* };
|
|
47
|
-
*/
|
|
48
|
-
export function provideIndexedDBDataBaseVersion(version) {
|
|
49
|
-
return makeEnvironmentProviders([{ provide: IDB_DB_VERSION, useValue: version }]);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Allows to change the name used for `indexedDB` object store.
|
|
53
|
-
*
|
|
54
|
-
* *Use only* for interoperability with other APIs.
|
|
55
|
-
*
|
|
56
|
-
* **WARNING: do not change this option in an application already deployed in production, as previously stored data would be lost.**
|
|
57
|
-
*
|
|
58
|
-
* @example
|
|
59
|
-
* export const appConfig: ApplicationConfig = {
|
|
60
|
-
* providers: [provideIndexedDBStoreName('custom')]
|
|
61
|
-
* };
|
|
62
|
-
*/
|
|
63
|
-
export function provideIndexedDBStoreName(name) {
|
|
64
|
-
return makeEnvironmentProviders([{ provide: IDB_STORE_NAME, useValue: name }]);
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL3NyYy9saWIvcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBNkIsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsRjs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxNQUFjO0lBRXRELE9BQU8sd0JBQXdCLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztBQUU5RSxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQUMsSUFBWTtJQUV2RCxPQUFPLHdCQUF3QixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFOUUsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxVQUFVLCtCQUErQixDQUFDLE9BQWU7SUFFN0QsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRXBGLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxJQUFZO0lBRXBELE9BQU8sd0JBQXdCLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVqRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLCB0eXBlIEVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElEQl9EQl9OQU1FLCBJREJfREJfVkVSU0lPTiwgSURCX1NUT1JFX05BTUUsIExTX1BSRUZJWCB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuXG4vKipcbiAqIEFsbG93cyB0byBhZGQgYSBwcmVmaXggYmVmb3JlIGBsb2NhbFN0b3JhZ2VgIGtleXMuXG4gKiBcbiAqICpVc2Ugb25seSogZm9yIGludGVyb3BlcmFiaWxpdHkgd2l0aCBvdGhlciBBUElzIG9yIHRvIGF2b2lkIGNvbGxpc2lvbiBmb3IgbXVsdGlwbGUgYXBwbGljYXRpb25zIG9uIHRoZSBzYW1lIHN1YmRvbWFpbi5cbiAqIFxuICogKipXQVJOSU5HOiBkbyBub3QgY2hhbmdlIHRoaXMgb3B0aW9uIGluIGFuIGFwcGxpY2F0aW9uIGFscmVhZHkgZGVwbG95ZWQgaW4gcHJvZHVjdGlvbiwgYXMgcHJldmlvdXNseSBzdG9yZWQgZGF0YSB3b3VsZCBiZSBsb3N0LioqXG4gKlxuICogQGV4YW1wbGVcbiAqIGV4cG9ydCBjb25zdCBhcHBDb25maWc6IEFwcGxpY2F0aW9uQ29uZmlnID0ge1xuICogICBwcm92aWRlcnM6IFtwcm92aWRlTG9jYWxTdG9yYWdlUHJlZml4KCdjdXN0b21fJyldXG4gKiB9O1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUxvY2FsU3RvcmFnZVByZWZpeChwcmVmaXg6IHN0cmluZyk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcblxuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFt7IHByb3ZpZGU6IExTX1BSRUZJWCwgdXNlVmFsdWU6IHByZWZpeCB9XSk7XG5cbn1cblxuLyoqXG4gKiBBbGxvd3MgdG8gY2hhbmdlIHRoZSBuYW1lIHVzZWQgZm9yIGBpbmRleGVkREJgIGRhdGFiYXNlLlxuICogXG4gKiAqVXNlIG9ubHkqIGZvciBpbnRlcm9wZXJhYmlsaXR5IHdpdGggb3RoZXIgQVBJcyBvciB0byBhdm9pZCBjb2xsaXNpb24gZm9yIG11bHRpcGxlIGFwcGxpY2F0aW9ucyBvbiB0aGUgc2FtZSBzdWJkb21haW4uXG4gKiBcbiAqICoqV0FSTklORzogZG8gbm90IGNoYW5nZSB0aGlzIG9wdGlvbiBpbiBhbiBhcHBsaWNhdGlvbiBhbHJlYWR5IGRlcGxveWVkIGluIHByb2R1Y3Rpb24sIGFzIHByZXZpb3VzbHkgc3RvcmVkIGRhdGEgd291bGQgYmUgbG9zdC4qKlxuICpcbiAqIEBleGFtcGxlXG4gKiBleHBvcnQgY29uc3QgYXBwQ29uZmlnOiBBcHBsaWNhdGlvbkNvbmZpZyA9IHtcbiAqICAgcHJvdmlkZXJzOiBbcHJvdmlkZUluZGV4ZWREQkRhdGFCYXNlTmFtZSgnY3VzdG9tJyldXG4gKiB9O1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUluZGV4ZWREQkRhdGFCYXNlTmFtZShuYW1lOiBzdHJpbmcpOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG5cbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbeyBwcm92aWRlOiBJREJfREJfTkFNRSwgdXNlVmFsdWU6IG5hbWUgfV0pO1xuXG59XG5cbi8qKlxuICogQWxsb3dzIHRvIGNoYW5nZSB0aGUgZGF0YWJhc2UgdmVyc2lvbiB1c2VkIGZvciBgaW5kZXhlZERCYCBkYXRhYmFzZS5cbiAqIE11c3QgYmUgYW4gdW5zaWduZWQgKippbnRlZ2VyKiouXG4gKiBcbiAqICoqVXNlIHdpdGggY2F1dGlvbiBhcyB0aGUgY3JlYXRpb24gb2YgdGhlIHN0b3JlIGRlcGVuZHMgb24gdGhlIHZlcnNpb24uKipcbiAqIFxuICogKlVzZSBvbmx5KiBmb3IgaW50ZXJvcGVyYWJpbGl0eSB3aXRoIG90aGVyIEFQSXMgb3IgdG8gYXZvaWQgY29sbGlzaW9uIGZvciBtdWx0aXBsZSBhcHBsaWNhdGlvbnMgb24gdGhlIHNhbWUgc3ViZG9tYWluLlxuICogXG4gKiAqKldBUk5JTkc6IGRvIG5vdCBjaGFuZ2UgdGhpcyBvcHRpb24gaW4gYW4gYXBwbGljYXR0aW9uIGFscmVhZHkgZGVwbG95ZWQgaW4gcHJvZHVjdGlvbiwgYXMgcHJldmlvdXNseSBzdG9yZWQgZGF0YSB3b3VsZCBiZSBsb3N0LioqXG4gKlxuICogQGV4YW1wbGVcbiAqIGV4cG9ydCBjb25zdCBhcHBDb25maWc6IEFwcGxpY2F0aW9uQ29uZmlnID0ge1xuICogICBwcm92aWRlcnM6IFtwcm92aWRlSW5kZXhlZERCRGF0YUJhc2VWZXJzaW9uKDIpXVxuICogfTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVJbmRleGVkREJEYXRhQmFzZVZlcnNpb24odmVyc2lvbjogbnVtYmVyKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuXG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW3sgcHJvdmlkZTogSURCX0RCX1ZFUlNJT04sIHVzZVZhbHVlOiB2ZXJzaW9uIH1dKTtcblxufVxuXG4vKipcbiAqIEFsbG93cyB0byBjaGFuZ2UgdGhlIG5hbWUgdXNlZCBmb3IgYGluZGV4ZWREQmAgb2JqZWN0IHN0b3JlLlxuICogXG4gKiAqVXNlIG9ubHkqIGZvciBpbnRlcm9wZXJhYmlsaXR5IHdpdGggb3RoZXIgQVBJcy5cbiAqIFxuICogKipXQVJOSU5HOiBkbyBub3QgY2hhbmdlIHRoaXMgb3B0aW9uIGluIGFuIGFwcGxpY2F0aW9uIGFscmVhZHkgZGVwbG95ZWQgaW4gcHJvZHVjdGlvbiwgYXMgcHJldmlvdXNseSBzdG9yZWQgZGF0YSB3b3VsZCBiZSBsb3N0LioqXG4gKlxuICogQGV4YW1wbGVcbiAqIGV4cG9ydCBjb25zdCBhcHBDb25maWc6IEFwcGxpY2F0aW9uQ29uZmlnID0ge1xuICogICBwcm92aWRlcnM6IFtwcm92aWRlSW5kZXhlZERCU3RvcmVOYW1lKCdjdXN0b20nKV1cbiAqIH07XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlSW5kZXhlZERCU3RvcmVOYW1lKG5hbWU6IHN0cmluZyk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcblxuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFt7IHByb3ZpZGU6IElEQl9TVE9SRV9OQU1FLCB1c2VWYWx1ZTogbmFtZSB9XSk7XG5cbn1cbiJdfQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { NgModule } from "@angular/core";
|
|
2
|
-
import { IDB_DB_NAME, IDB_DB_VERSION, IDB_NO_WRAP, IDB_STORE_NAME, LS_PREFIX } from "./tokens";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* This module is only here for backward compatibility, **do not add it by yourself**
|
|
6
|
-
*
|
|
7
|
-
* @ignore
|
|
8
|
-
*/
|
|
9
|
-
export class StorageModule {
|
|
10
|
-
/**
|
|
11
|
-
* Only useful to provide options, otherwise it does nothing.
|
|
12
|
-
*
|
|
13
|
-
* **Must be used at initialization, ie. in `AppModule`, and must not be loaded again in another module.**
|
|
14
|
-
*/
|
|
15
|
-
static forRoot(config) {
|
|
16
|
-
return {
|
|
17
|
-
ngModule: StorageModule,
|
|
18
|
-
providers: [
|
|
19
|
-
config.LSPrefix ? { provide: LS_PREFIX, useValue: config.LSPrefix } : [],
|
|
20
|
-
config.IDBDBName ? { provide: IDB_DB_NAME, useValue: config.IDBDBName } : [],
|
|
21
|
-
config.IDBStoreName ? { provide: IDB_STORE_NAME, useValue: config.IDBStoreName } : [],
|
|
22
|
-
config.IDBDBVersion ? { provide: IDB_DB_VERSION, useValue: config.IDBDBVersion } : [],
|
|
23
|
-
(config.IDBNoWrap === false) ? { provide: IDB_NO_WRAP, useValue: config.IDBNoWrap } : [],
|
|
24
|
-
],
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: StorageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
28
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: StorageModule }); }
|
|
29
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: StorageModule }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: StorageModule, decorators: [{
|
|
32
|
-
type: NgModule
|
|
33
|
-
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvc3JjL2xpYi9zdG9yYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxVQUFVLENBQUM7O0FBRW5IOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sYUFBYTtJQUV4Qjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFxQjtRQUNsQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGFBQWE7WUFDdkIsU0FBUyxFQUFFO2dCQUNULE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN4RSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDNUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3JGLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNyRixDQUFDLE1BQU0sQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO2FBQ3pGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OEdBbEJVLGFBQWE7K0dBQWIsYUFBYTsrR0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIHR5cGUgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJREJfREJfTkFNRSwgSURCX0RCX1ZFUlNJT04sIElEQl9OT19XUkFQLCBJREJfU1RPUkVfTkFNRSwgTFNfUFJFRklYLCB0eXBlIFN0b3JhZ2VDb25maWcgfSBmcm9tIFwiLi90b2tlbnNcIjtcblxuLyoqXG4gKiBUaGlzIG1vZHVsZSBpcyBvbmx5IGhlcmUgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksICoqZG8gbm90IGFkZCBpdCBieSB5b3Vyc2VsZioqXG4gKiBcbiAqIEBpZ25vcmVcbiAqL1xuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBTdG9yYWdlTW9kdWxlIHtcblxuICAvKipcbiAgICogT25seSB1c2VmdWwgdG8gcHJvdmlkZSBvcHRpb25zLCBvdGhlcndpc2UgaXQgZG9lcyBub3RoaW5nLlxuICAgKiBcbiAgICogKipNdXN0IGJlIHVzZWQgYXQgaW5pdGlhbGl6YXRpb24sIGllLiBpbiBgQXBwTW9kdWxlYCwgYW5kIG11c3Qgbm90IGJlIGxvYWRlZCBhZ2FpbiBpbiBhbm90aGVyIG1vZHVsZS4qKlxuICAgKi9cbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBTdG9yYWdlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTdG9yYWdlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBTdG9yYWdlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIGNvbmZpZy5MU1ByZWZpeCA/IHsgcHJvdmlkZTogTFNfUFJFRklYLCB1c2VWYWx1ZTogY29uZmlnLkxTUHJlZml4IH0gOiBbXSxcbiAgICAgICAgY29uZmlnLklEQkRCTmFtZSA/IHsgcHJvdmlkZTogSURCX0RCX05BTUUsIHVzZVZhbHVlOiBjb25maWcuSURCREJOYW1lIH0gOiBbXSxcbiAgICAgICAgY29uZmlnLklEQlN0b3JlTmFtZSA/IHsgcHJvdmlkZTogSURCX1NUT1JFX05BTUUsIHVzZVZhbHVlOiBjb25maWcuSURCU3RvcmVOYW1lIH0gOiBbXSxcbiAgICAgICAgY29uZmlnLklEQkRCVmVyc2lvbiA/IHsgcHJvdmlkZTogSURCX0RCX1ZFUlNJT04sIHVzZVZhbHVlOiBjb25maWcuSURCREJWZXJzaW9uIH0gOiBbXSxcbiAgICAgICAgKGNvbmZpZy5JREJOb1dyYXAgPT09IGZhbHNlKSA/IHsgcHJvdmlkZTogSURCX05PX1dSQVAsIHVzZVZhbHVlOiBjb25maWcuSURCTm9XcmFwIH0gOiBbXSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Exception message when a value is not valid against the JSON schema
|
|
3
|
-
*/
|
|
4
|
-
export const VALIDATION_ERROR = `Data stored is not valid against the provided JSON schema.
|
|
5
|
-
Check your JSON schema, otherwise it means data has been corrupted.`;
|
|
6
|
-
/**
|
|
7
|
-
* Exception throwned when a value is not valid against the JSON schema
|
|
8
|
-
*/
|
|
9
|
-
export class ValidationError extends Error {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.message = VALIDATION_ERROR;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvbGliL3N0b3JhZ2VzL2V4Y2VwdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztvRUFDb0MsQ0FBQztBQUVyRTs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLEtBQUs7SUFBMUM7O1FBQ1csWUFBTyxHQUFHLGdCQUFnQixDQUFDO0lBQ3RDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXhjZXB0aW9uIG1lc3NhZ2Ugd2hlbiBhIHZhbHVlIGlzIG5vdCB2YWxpZCBhZ2FpbnN0IHRoZSBKU09OIHNjaGVtYVxuICovXG5leHBvcnQgY29uc3QgVkFMSURBVElPTl9FUlJPUiA9IGBEYXRhIHN0b3JlZCBpcyBub3QgdmFsaWQgYWdhaW5zdCB0aGUgcHJvdmlkZWQgSlNPTiBzY2hlbWEuXG5DaGVjayB5b3VyIEpTT04gc2NoZW1hLCBvdGhlcndpc2UgaXQgbWVhbnMgZGF0YSBoYXMgYmVlbiBjb3JydXB0ZWQuYDtcblxuLyoqXG4gKiBFeGNlcHRpb24gdGhyb3duZWQgd2hlbiBhIHZhbHVlIGlzIG5vdCB2YWxpZCBhZ2FpbnN0IHRoZSBKU09OIHNjaGVtYVxuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBvdmVycmlkZSBtZXNzYWdlID0gVkFMSURBVElPTl9FUlJPUjtcbn1cbiJdfQ==
|