@ngx-pwa/local-storage 16.2.0 → 17.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/esm2022/lib/databases/indexeddb-database.mjs +7 -8
- package/esm2022/lib/databases/local-database.mjs +7 -6
- package/esm2022/lib/databases/localstorage-database.mjs +7 -8
- package/esm2022/lib/databases/memory-database.mjs +5 -6
- package/esm2022/lib/providers.mjs +1 -25
- package/esm2022/lib/storage.module.mjs +6 -7
- package/esm2022/lib/storages/storage-map.service.mjs +12 -9
- package/esm2022/lib/validation/json-schema.mjs +1 -1
- package/esm2022/lib/validation/json-validator.mjs +5 -6
- package/esm2022/public-api.mjs +1 -4
- package/fesm2022/ngx-pwa-local-storage.mjs +192 -290
- package/fesm2022/ngx-pwa-local-storage.mjs.map +1 -1
- package/lib/databases/indexeddb-database.d.ts +1 -1
- package/lib/databases/local-database.d.ts +1 -1
- package/lib/databases/localstorage-database.d.ts +1 -1
- package/lib/databases/memory-database.d.ts +1 -1
- package/lib/providers.d.ts +0 -24
- package/lib/validation/json-schema.d.ts +1 -3
- package/package.json +3 -3
- package/public-api.d.ts +1 -4
- package/schematics/ng-add/index.js +4 -9
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/utility/module.js +1 -0
- package/schematics/utility/module.js.map +1 -1
- package/esm2022/lib/storages/local-storage.service.mjs +0 -85
- package/lib/storages/local-storage.service.d.ts +0 -99
|
@@ -8,24 +8,19 @@ function default_1() {
|
|
|
8
8
|
/* Get config */
|
|
9
9
|
const angularMajorVersion = (0, config_1.getDependencyMajorVersion)("@angular/core", host);
|
|
10
10
|
if (!angularMajorVersion) {
|
|
11
|
-
context.logger.warn(`Not able to detect @angular/core version. Be aware that Angular versions <=
|
|
11
|
+
context.logger.warn(`Not able to detect @angular/core version. Be aware that Angular versions <= 14 are no longer supported.`);
|
|
12
12
|
}
|
|
13
|
-
if (angularMajorVersion && (angularMajorVersion <=
|
|
14
|
-
throw new schematics_1.SchematicsException("Angular versions <=
|
|
13
|
+
if (angularMajorVersion && (angularMajorVersion <= 14)) {
|
|
14
|
+
throw new schematics_1.SchematicsException("Angular versions <= 14 are no longer supported.");
|
|
15
15
|
}
|
|
16
16
|
const rxjsMajorVersion = (0, config_1.getDependencyMajorVersion)("rxjs", host);
|
|
17
17
|
if (!rxjsMajorVersion) {
|
|
18
18
|
// eslint-disable-next-line max-len
|
|
19
19
|
context.logger.warn(`Not able to detect rxjs version. Be aware that rxjs version >= 7.4 is recommended for Angular 14 and required for Angular >= 15.`);
|
|
20
20
|
}
|
|
21
|
-
if (
|
|
22
|
-
&& (angularMajorVersion >= 15) && (rxjsMajorVersion < 7)) {
|
|
21
|
+
if (rxjsMajorVersion && (rxjsMajorVersion < 7)) {
|
|
23
22
|
throw new schematics_1.SchematicsException("rxjs >= 7.4 is required for this lib, rxjs 6 is not supported.");
|
|
24
23
|
}
|
|
25
|
-
if (angularMajorVersion && rxjsMajorVersion
|
|
26
|
-
&& (angularMajorVersion >= 13) && (rxjsMajorVersion < 7)) {
|
|
27
|
-
context.logger.warn(`rxjs should be updated to version >= 7.4. Support for rxjs version 6 is not guaranteed.`);
|
|
28
|
-
}
|
|
29
24
|
/* Task to run `npm install` (or user package manager) */
|
|
30
25
|
context.addTask(new tasks_1.NodePackageInstallTask());
|
|
31
26
|
return (0, schematics_1.chain)([]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/ngx-pwa/local-storage/schematics/ng-add/index.ts"],"names":[],"mappings":";;AAAA,2DAAsG;AACtG,4DAA0E;AAC1E,8CAA8D;AAE9D;IACE,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAE/C,gBAAgB;QAChB,MAAM,mBAAmB,GAAG,IAAA,kCAAyB,EAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAE7E,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;SAChI;QAED,IAAI,mBAAmB,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,EAAE;YACtD,MAAM,IAAI,gCAAmB,CAAC,iDAAiD,CAAC,CAAC;SAClF;QAED,MAAM,gBAAgB,GAAG,IAAA,kCAAyB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEjE,IAAI,CAAC,gBAAgB,EAAE;YACrB,mCAAmC;YACnC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,kIAAkI,CAAC,CAAC;SACzJ;QAED,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/ngx-pwa/local-storage/schematics/ng-add/index.ts"],"names":[],"mappings":";;AAAA,2DAAsG;AACtG,4DAA0E;AAC1E,8CAA8D;AAE9D;IACE,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAE/C,gBAAgB;QAChB,MAAM,mBAAmB,GAAG,IAAA,kCAAyB,EAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAE7E,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;SAChI;QAED,IAAI,mBAAmB,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,EAAE;YACtD,MAAM,IAAI,gCAAmB,CAAC,iDAAiD,CAAC,CAAC;SAClF;QAED,MAAM,gBAAgB,GAAG,IAAA,kCAAyB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEjE,IAAI,CAAC,gBAAgB,EAAE;YACrB,mCAAmC;YACnC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,kIAAkI,CAAC,CAAC;SACzJ;QAED,IAAI,gBAAgB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE;YAC9C,MAAM,IAAI,gCAAmB,CAAC,gEAAgE,CAAC,CAAC;SACjG;QAED,yDAAyD;QACzD,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;QAE9C,OAAO,IAAA,kBAAK,EAAC,EAAE,CAAC,CAAC;IAEnB,CAAC,CAAC;AACJ,CAAC;AA/BD,4BA+BC"}
|
|
@@ -15,6 +15,7 @@ function getAppModule(host, mainPath) {
|
|
|
15
15
|
if (!host.exists(appModulePath)) {
|
|
16
16
|
throw new schematics_1.SchematicsException(`Can't find AppModule`);
|
|
17
17
|
}
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- Existence checked above
|
|
18
19
|
const appModuleFile = host.read(appModulePath).toString("utf-8");
|
|
19
20
|
return { appModulePath, appModuleFile };
|
|
20
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../projects/ngx-pwa/local-storage/schematics/utility/module.ts"],"names":[],"mappings":";;;AAAA,2DAA6E;AAC7E,+GAAgI;AAChI,qEAA0E;AAE1E,2EAA4E;AAC5E,qCAAuC;AAEvC;;;GAGG;AACH,SAAS,YAAY,CAAC,IAAU,EAAE,QAAgB;IAEhD,MAAM,aAAa,GAAG,IAAA,+BAAgB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEvD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;QAC/B,MAAM,IAAI,gCAAmB,CAAC,sBAAsB,CAAC,CAAC;KACvD;IAED,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../projects/ngx-pwa/local-storage/schematics/utility/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import { map } from "rxjs/operators";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./storage-map.service";
|
|
5
|
-
/**
|
|
6
|
-
* @deprecated Will be removed in v17
|
|
7
|
-
* @see {@link https://github.com/cyrilletuzi/angular-async-local-storage/blob/main/docs/MIGRATION_TO_V16.md}
|
|
8
|
-
*/
|
|
9
|
-
class LocalStorage {
|
|
10
|
-
/**
|
|
11
|
-
* Number of items in storage wrapped in an `Observable`
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* this.localStorage.length.subscribe((length) => {
|
|
15
|
-
* console.log(length);
|
|
16
|
-
* });
|
|
17
|
-
*/
|
|
18
|
-
get length() {
|
|
19
|
-
return this.storageMap.size;
|
|
20
|
-
}
|
|
21
|
-
/* Use the `StorageMap` service to avoid code duplication */
|
|
22
|
-
constructor(storageMap) {
|
|
23
|
-
this.storageMap = storageMap;
|
|
24
|
-
}
|
|
25
|
-
getItem(key, schema) {
|
|
26
|
-
if (schema) {
|
|
27
|
-
/* Backward compatibility with version <= 7 */
|
|
28
|
-
schema = ("schema" in schema) ? schema.schema : schema;
|
|
29
|
-
}
|
|
30
|
-
return (schema ? this.storageMap.get(key, schema) : this.storageMap.get(key)).pipe(
|
|
31
|
-
/* Transform `undefined` into `null` to align with `localStorage` API */
|
|
32
|
-
map((value) => (value !== undefined) ? value : null));
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Set an item in storage.
|
|
36
|
-
* Note that setting `null` or `undefined` will remove the item to avoid some browsers issues.
|
|
37
|
-
* @param key The item's key
|
|
38
|
-
* @param data The item's value
|
|
39
|
-
* @param schema Optional JSON schema to validate the data
|
|
40
|
-
* @returns A RxJS `Observable` to wait the end of the operation
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* this.localStorage.set('key', 'value').subscribe(() => {});
|
|
44
|
-
*/
|
|
45
|
-
setItem(key, data, schema) {
|
|
46
|
-
return this.storageMap.set(key, data, schema).pipe(
|
|
47
|
-
/* Transform `undefined` into `true` for backward compatibility with v7 */
|
|
48
|
-
map(() => true));
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Delete an item in storage
|
|
52
|
-
* @param key The item's key
|
|
53
|
-
* @returns A RxJS `Observable` to wait the end of the operation
|
|
54
|
-
*
|
|
55
|
-
* @example
|
|
56
|
-
* this.localStorage.delete('key').subscribe(() => {});
|
|
57
|
-
*/
|
|
58
|
-
removeItem(key) {
|
|
59
|
-
return this.storageMap.delete(key).pipe(
|
|
60
|
-
/* Transform `undefined` into `true` for backward compatibility with v7 */
|
|
61
|
-
map(() => true));
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Delete all items in storage
|
|
65
|
-
* @returns A RxJS `Observable` to wait the end of the operation
|
|
66
|
-
*
|
|
67
|
-
* @example
|
|
68
|
-
* this.localStorage.clear().subscribe(() => {});
|
|
69
|
-
*/
|
|
70
|
-
clear() {
|
|
71
|
-
return this.storageMap.clear().pipe(
|
|
72
|
-
/* Transform `undefined` into `true` for backward compatibility with v7 */
|
|
73
|
-
map(() => true));
|
|
74
|
-
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LocalStorage, deps: [{ token: i1.StorageMap }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
76
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LocalStorage, providedIn: "root" }); }
|
|
77
|
-
}
|
|
78
|
-
export { LocalStorage };
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LocalStorage, decorators: [{
|
|
80
|
-
type: Injectable,
|
|
81
|
-
args: [{
|
|
82
|
-
providedIn: "root"
|
|
83
|
-
}]
|
|
84
|
-
}], ctorParameters: function () { return [{ type: i1.StorageMap }]; } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXB3YS9sb2NhbC1zdG9yYWdlL3NyYy9saWIvc3RvcmFnZXMvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFTckM7OztHQUdHO0FBQ0gsTUFHYSxZQUFZO0lBRXZCOzs7Ozs7O09BT0c7SUFDSCxJQUFJLE1BQU07UUFFUixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBRTlCLENBQUM7SUFFRCw0REFBNEQ7SUFDNUQsWUFBK0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7SUErQ3pELE9BQU8sQ0FBYyxHQUFXLEVBQUUsTUFBeUQ7UUFFekYsSUFBSSxNQUFNLEVBQUU7WUFFViw4Q0FBOEM7WUFDOUMsTUFBTSxHQUFHLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7U0FFeEQ7UUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUNuRix3RUFBd0U7UUFDeEUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDckQsQ0FBQztJQUVKLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsT0FBTyxDQUFDLEdBQVcsRUFBRSxJQUFhLEVBQUUsTUFBbUI7UUFFckQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUk7UUFDaEQsMEVBQTBFO1FBQzFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDaEIsQ0FBQztJQUVKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsVUFBVSxDQUFDLEdBQVc7UUFFcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJO1FBQ3JDLDBFQUEwRTtRQUMxRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ2hCLENBQUM7SUFFSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSztRQUVILE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJO1FBQ2pDLDBFQUEwRTtRQUMxRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ2hCLENBQUM7SUFFSixDQUFDOzhHQW5JVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOztTQUVQLFlBQVk7MkZBQVosWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQge1xuICBKU09OU2NoZW1hLFxuICBKU09OU2NoZW1hQXJyYXlPZixcbiAgSlNPTlNjaGVtYUJvb2xlYW4sIEpTT05TY2hlbWFJbnRlZ2VyLFxuICBKU09OU2NoZW1hTnVtYmVyLCBKU09OU2NoZW1hU3RyaW5nXG59IGZyb20gXCIuLi92YWxpZGF0aW9uL2pzb24tc2NoZW1hXCI7XG5pbXBvcnQgeyBTdG9yYWdlTWFwIH0gZnJvbSBcIi4vc3RvcmFnZS1tYXAuc2VydmljZVwiO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiB2MTdcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9jeXJpbGxldHV6aS9hbmd1bGFyLWFzeW5jLWxvY2FsLXN0b3JhZ2UvYmxvYi9tYWluL2RvY3MvTUlHUkFUSU9OX1RPX1YxNi5tZH1cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIlxufSlcbmV4cG9ydCBjbGFzcyBMb2NhbFN0b3JhZ2Uge1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgaXRlbXMgaW4gc3RvcmFnZSB3cmFwcGVkIGluIGFuIGBPYnNlcnZhYmxlYFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiB0aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGguc3Vic2NyaWJlKChsZW5ndGgpID0+IHtcbiAgICogICBjb25zb2xlLmxvZyhsZW5ndGgpO1xuICAgKiB9KTtcbiAgICovXG4gIGdldCBsZW5ndGgoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcblxuICAgIHJldHVybiB0aGlzLnN0b3JhZ2VNYXAuc2l6ZTtcblxuICB9XG5cbiAgLyogVXNlIHRoZSBgU3RvcmFnZU1hcGAgc2VydmljZSB0byBhdm9pZCBjb2RlIGR1cGxpY2F0aW9uICovXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBzdG9yYWdlTWFwOiBTdG9yYWdlTWFwKSB7fVxuXG4gIC8qKlxuICAgKiBHZXQgYW4gaXRlbSB2YWx1ZSBpbiBzdG9yYWdlLlxuICAgKiBUaGUgc2lnbmF0dXJlIGhhcyBtYW55IG92ZXJsb2FkcyBkdWUgdG8gdmFsaWRhdGlvbiwgKipwbGVhc2UgcmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24uKipcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2N5cmlsbGV0dXppL2FuZ3VsYXItYXN5bmMtbG9jYWwtc3RvcmFnZS9ibG9iL21haW4vZG9jcy9WQUxJREFUSU9OLm1kfVxuICAgKiBAcGFyYW0ga2V5IFRoZSBpdGVtJ3Mga2V5XG4gICAqIEBwYXJhbSBzY2hlbWEgT3B0aW9uYWwgSlNPTiBzY2hlbWEgdG8gdmFsaWRhdGUgdGhlIGRhdGEuXG4gICAqICoqTm90ZSB5b3UgbXVzdCBwYXNzIHRoZSBzY2hlbWEgZGlyZWN0bHkgYXMgdGhlIHNlY29uZCBhcmd1bWVudC4qKlxuICAgKiAqKlBhc3NpbmcgdGhlIHNjaGVtYSBpbiBhbiBvYmplY3QgYHsgc2NoZW1hIH1gIGlzIGRlcHJlY2F0ZWQgYW5kIG9ubHkgaGVyZSoqXG4gICAqICoqZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHk6IGl0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLioqXG4gICAqIEByZXR1cm5zIFRoZSBpdGVtJ3MgdmFsdWUgaWYgdGhlIGtleSBleGlzdHMsIGBudWxsYCBvdGhlcndpc2UsIHdyYXBwZWQgaW4gYSBSeEpTIGBPYnNlcnZhYmxlYFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiB0aGlzLmxvY2FsU3RvcmFnZS5nZXQoJ2tleScsIHsgdHlwZTogJ3N0cmluZycgfSkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICogICByZXN1bHQ7IC8vIHN0cmluZyBvciBudWxsXG4gICAqIH0pO1xuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBpbnRlcmZhY2UgVXNlciB7XG4gICAqICAgZmlyc3ROYW1lOiBzdHJpbmc7XG4gICAqICAgbGFzdE5hbWU/OiBzdHJpbmc7XG4gICAqIH1cbiAgICpcbiAgICogY29uc3Qgc2NoZW1hID0ge1xuICAgKiAgIHR5cGU6ICdvYmplY3QnLFxuICAgKiAgIHByb3BlcnRpZXM6IHtcbiAgICogICAgIGZpcnN0TmFtZTogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgKiAgICAgbGFzdE5hbWU6IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICogICB9LFxuICAgKiAgIHJlcXVpcmVkOiBbJ2ZpcnN0TmFtZSddXG4gICAqIH07XG4gICAqXG4gICAqIHRoaXMubG9jYWxTdG9yYWdlLmdldDxVc2VyPigndXNlcicsIHNjaGVtYSkuc3Vic2NyaWJlKCh1c2VyKSA9PiB7XG4gICAqICAgaWYgKHVzZXIpIHtcbiAgICogICAgIHVzZXIuZmlyc3ROYW1lO1xuICAgKiAgIH1cbiAgICogfSk7XG4gICAqL1xuICBnZXRJdGVtPFQgPSBzdHJpbmc+KGtleTogc3RyaW5nLCBzY2hlbWE6IEpTT05TY2hlbWFTdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+OyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBnZXRJdGVtPFQgPSBudW1iZXI+KGtleTogc3RyaW5nLCBzY2hlbWE6IEpTT05TY2hlbWFJbnRlZ2VyIHwgSlNPTlNjaGVtYU51bWJlcik6IE9ic2VydmFibGU8bnVtYmVyIHwgbnVsbD47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGdldEl0ZW08VCA9IGJvb2xlYW4+KGtleTogc3RyaW5nLCBzY2hlbWE6IEpTT05TY2hlbWFCb29sZWFuKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGdldEl0ZW08VCA9IHN0cmluZ1tdPihrZXk6IHN0cmluZywgc2NoZW1hOiBKU09OU2NoZW1hQXJyYXlPZjxKU09OU2NoZW1hU3RyaW5nPik6IE9ic2VydmFibGU8c3RyaW5nW10gfCBudWxsPjsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgZ2V0SXRlbTxUID0gbnVtYmVyW10+KGtleTogc3RyaW5nLCBzY2hlbWE6IEpTT05TY2hlbWFBcnJheU9mPEpTT05TY2hlbWFJbnRlZ2VyIHwgSlNPTlNjaGVtYU51bWJlcj4pOiBPYnNlcnZhYmxlPG51bWJlcltdIHwgbnVsbD47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGdldEl0ZW08VCA9IGJvb2xlYW5bXT4oa2V5OiBzdHJpbmcsIHNjaGVtYTogSlNPTlNjaGVtYUFycmF5T2Y8SlNPTlNjaGVtYUJvb2xlYW4+KTogT2JzZXJ2YWJsZTxib29sZWFuW10gfCBudWxsPjsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgZ2V0SXRlbTxUID0gdW5rbm93bj4oa2V5OiBzdHJpbmcsIHNjaGVtYTogSlNPTlNjaGVtYSB8IHsgc2NoZW1hOiBKU09OU2NoZW1hOyB9KTogT2JzZXJ2YWJsZTxUIHwgbnVsbD47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGdldEl0ZW08VCA9IHVua25vd24+KGtleTogc3RyaW5nLCBzY2hlbWE/OiBKU09OU2NoZW1hKTogT2JzZXJ2YWJsZTx1bmtub3duPjsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgZ2V0SXRlbTxUID0gdW5rbm93bj4oa2V5OiBzdHJpbmcsIHNjaGVtYT86IEpTT05TY2hlbWEgfCB7IHNjaGVtYTogSlNPTlNjaGVtYTsgfSB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuXG4gICAgaWYgKHNjaGVtYSkge1xuXG4gICAgICAvKiBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggdmVyc2lvbiA8PSA3ICovXG4gICAgICBzY2hlbWEgPSAoXCJzY2hlbWFcIiBpbiBzY2hlbWEpID8gc2NoZW1hLnNjaGVtYSA6IHNjaGVtYTtcblxuICAgIH1cblxuICAgIHJldHVybiAoc2NoZW1hID8gdGhpcy5zdG9yYWdlTWFwLmdldDxUPihrZXksIHNjaGVtYSkgOiB0aGlzLnN0b3JhZ2VNYXAuZ2V0KGtleSkpLnBpcGUoXG4gICAgICAvKiBUcmFuc2Zvcm0gYHVuZGVmaW5lZGAgaW50byBgbnVsbGAgdG8gYWxpZ24gd2l0aCBgbG9jYWxTdG9yYWdlYCBBUEkgKi9cbiAgICAgIG1hcCgodmFsdWUpID0+ICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSA/IHZhbHVlIDogbnVsbCksXG4gICAgKTtcblxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhbiBpdGVtIGluIHN0b3JhZ2UuXG4gICAqIE5vdGUgdGhhdCBzZXR0aW5nIGBudWxsYCBvciBgdW5kZWZpbmVkYCB3aWxsIHJlbW92ZSB0aGUgaXRlbSB0byBhdm9pZCBzb21lIGJyb3dzZXJzIGlzc3Vlcy5cbiAgICogQHBhcmFtIGtleSBUaGUgaXRlbSdzIGtleVxuICAgKiBAcGFyYW0gZGF0YSBUaGUgaXRlbSdzIHZhbHVlXG4gICAqIEBwYXJhbSBzY2hlbWEgT3B0aW9uYWwgSlNPTiBzY2hlbWEgdG8gdmFsaWRhdGUgdGhlIGRhdGFcbiAgICogQHJldHVybnMgQSBSeEpTIGBPYnNlcnZhYmxlYCB0byB3YWl0IHRoZSBlbmQgb2YgdGhlIG9wZXJhdGlvblxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiB0aGlzLmxvY2FsU3RvcmFnZS5zZXQoJ2tleScsICd2YWx1ZScpLnN1YnNjcmliZSgoKSA9PiB7fSk7XG4gICAqL1xuICBzZXRJdGVtKGtleTogc3RyaW5nLCBkYXRhOiB1bmtub3duLCBzY2hlbWE/OiBKU09OU2NoZW1hKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG5cbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlTWFwLnNldChrZXksIGRhdGEsIHNjaGVtYSkucGlwZShcbiAgICAgIC8qIFRyYW5zZm9ybSBgdW5kZWZpbmVkYCBpbnRvIGB0cnVlYCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIHY3ICovXG4gICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgKTtcblxuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhbiBpdGVtIGluIHN0b3JhZ2VcbiAgICogQHBhcmFtIGtleSBUaGUgaXRlbSdzIGtleVxuICAgKiBAcmV0dXJucyBBIFJ4SlMgYE9ic2VydmFibGVgIHRvIHdhaXQgdGhlIGVuZCBvZiB0aGUgb3BlcmF0aW9uXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIHRoaXMubG9jYWxTdG9yYWdlLmRlbGV0ZSgna2V5Jykuc3Vic2NyaWJlKCgpID0+IHt9KTtcbiAgICovXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcblxuICAgIHJldHVybiB0aGlzLnN0b3JhZ2VNYXAuZGVsZXRlKGtleSkucGlwZShcbiAgICAgIC8qIFRyYW5zZm9ybSBgdW5kZWZpbmVkYCBpbnRvIGB0cnVlYCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIHY3ICovXG4gICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgKTtcblxuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhbGwgaXRlbXMgaW4gc3RvcmFnZVxuICAgKiBAcmV0dXJucyBBIFJ4SlMgYE9ic2VydmFibGVgIHRvIHdhaXQgdGhlIGVuZCBvZiB0aGUgb3BlcmF0aW9uXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIHRoaXMubG9jYWxTdG9yYWdlLmNsZWFyKCkuc3Vic2NyaWJlKCgpID0+IHt9KTtcbiAgICovXG4gIGNsZWFyKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuXG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZU1hcC5jbGVhcigpLnBpcGUoXG4gICAgICAvKiBUcmFuc2Zvcm0gYHVuZGVmaW5lZGAgaW50byBgdHJ1ZWAgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCB2NyAqL1xuICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICk7XG5cbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Observable } from "rxjs";
|
|
2
|
-
import { JSONSchema, JSONSchemaArrayOf, JSONSchemaBoolean, JSONSchemaInteger, JSONSchemaNumber, JSONSchemaString } from "../validation/json-schema";
|
|
3
|
-
import { StorageMap } from "./storage-map.service";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* @deprecated Will be removed in v17
|
|
7
|
-
* @see {@link https://github.com/cyrilletuzi/angular-async-local-storage/blob/main/docs/MIGRATION_TO_V16.md}
|
|
8
|
-
*/
|
|
9
|
-
export declare class LocalStorage {
|
|
10
|
-
protected readonly storageMap: StorageMap;
|
|
11
|
-
/**
|
|
12
|
-
* Number of items in storage wrapped in an `Observable`
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* this.localStorage.length.subscribe((length) => {
|
|
16
|
-
* console.log(length);
|
|
17
|
-
* });
|
|
18
|
-
*/
|
|
19
|
-
get length(): Observable<number>;
|
|
20
|
-
constructor(storageMap: StorageMap);
|
|
21
|
-
/**
|
|
22
|
-
* Get an item value in storage.
|
|
23
|
-
* The signature has many overloads due to validation, **please refer to the documentation.**
|
|
24
|
-
* @see {@link https://github.com/cyrilletuzi/angular-async-local-storage/blob/main/docs/VALIDATION.md}
|
|
25
|
-
* @param key The item's key
|
|
26
|
-
* @param schema Optional JSON schema to validate the data.
|
|
27
|
-
* **Note you must pass the schema directly as the second argument.**
|
|
28
|
-
* **Passing the schema in an object `{ schema }` is deprecated and only here**
|
|
29
|
-
* **for backward compatibility: it will be removed in a future version.**
|
|
30
|
-
* @returns The item's value if the key exists, `null` otherwise, wrapped in a RxJS `Observable`
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* this.localStorage.get('key', { type: 'string' }).subscribe((result) => {
|
|
34
|
-
* result; // string or null
|
|
35
|
-
* });
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* interface User {
|
|
39
|
-
* firstName: string;
|
|
40
|
-
* lastName?: string;
|
|
41
|
-
* }
|
|
42
|
-
*
|
|
43
|
-
* const schema = {
|
|
44
|
-
* type: 'object',
|
|
45
|
-
* properties: {
|
|
46
|
-
* firstName: { type: 'string' },
|
|
47
|
-
* lastName: { type: 'string' },
|
|
48
|
-
* },
|
|
49
|
-
* required: ['firstName']
|
|
50
|
-
* };
|
|
51
|
-
*
|
|
52
|
-
* this.localStorage.get<User>('user', schema).subscribe((user) => {
|
|
53
|
-
* if (user) {
|
|
54
|
-
* user.firstName;
|
|
55
|
-
* }
|
|
56
|
-
* });
|
|
57
|
-
*/
|
|
58
|
-
getItem<T = string>(key: string, schema: JSONSchemaString): Observable<string | null>;
|
|
59
|
-
getItem<T = number>(key: string, schema: JSONSchemaInteger | JSONSchemaNumber): Observable<number | null>;
|
|
60
|
-
getItem<T = boolean>(key: string, schema: JSONSchemaBoolean): Observable<boolean | null>;
|
|
61
|
-
getItem<T = string[]>(key: string, schema: JSONSchemaArrayOf<JSONSchemaString>): Observable<string[] | null>;
|
|
62
|
-
getItem<T = number[]>(key: string, schema: JSONSchemaArrayOf<JSONSchemaInteger | JSONSchemaNumber>): Observable<number[] | null>;
|
|
63
|
-
getItem<T = boolean[]>(key: string, schema: JSONSchemaArrayOf<JSONSchemaBoolean>): Observable<boolean[] | null>;
|
|
64
|
-
getItem<T = unknown>(key: string, schema: JSONSchema | {
|
|
65
|
-
schema: JSONSchema;
|
|
66
|
-
}): Observable<T | null>;
|
|
67
|
-
getItem<T = unknown>(key: string, schema?: JSONSchema): Observable<unknown>;
|
|
68
|
-
/**
|
|
69
|
-
* Set an item in storage.
|
|
70
|
-
* Note that setting `null` or `undefined` will remove the item to avoid some browsers issues.
|
|
71
|
-
* @param key The item's key
|
|
72
|
-
* @param data The item's value
|
|
73
|
-
* @param schema Optional JSON schema to validate the data
|
|
74
|
-
* @returns A RxJS `Observable` to wait the end of the operation
|
|
75
|
-
*
|
|
76
|
-
* @example
|
|
77
|
-
* this.localStorage.set('key', 'value').subscribe(() => {});
|
|
78
|
-
*/
|
|
79
|
-
setItem(key: string, data: unknown, schema?: JSONSchema): Observable<boolean>;
|
|
80
|
-
/**
|
|
81
|
-
* Delete an item in storage
|
|
82
|
-
* @param key The item's key
|
|
83
|
-
* @returns A RxJS `Observable` to wait the end of the operation
|
|
84
|
-
*
|
|
85
|
-
* @example
|
|
86
|
-
* this.localStorage.delete('key').subscribe(() => {});
|
|
87
|
-
*/
|
|
88
|
-
removeItem(key: string): Observable<boolean>;
|
|
89
|
-
/**
|
|
90
|
-
* Delete all items in storage
|
|
91
|
-
* @returns A RxJS `Observable` to wait the end of the operation
|
|
92
|
-
*
|
|
93
|
-
* @example
|
|
94
|
-
* this.localStorage.clear().subscribe(() => {});
|
|
95
|
-
*/
|
|
96
|
-
clear(): Observable<boolean>;
|
|
97
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LocalStorage, never>;
|
|
98
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<LocalStorage>;
|
|
99
|
-
}
|