@nlabs/arkhamjs-storage-browser 3.30.4 → 3.30.6
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/lib/BrowserStorage/BrowserStorage.d.ts +2 -1
- package/lib/BrowserStorage/BrowserStorage.d.ts.map +1 -0
- package/lib/BrowserStorage/BrowserStorage.js +311 -2
- package/lib/index.d.ts +3 -2
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +9 -2
- package/lib/types/main.d.ts +1 -0
- package/lib/types/main.d.ts.map +1 -0
- package/lib/types/main.js +3 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright (c) 2018-Present, Nitrogen Labs, Inc.
|
|
3
3
|
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
4
|
*/
|
|
5
|
-
import type { BrowserStorageOptions } from '../types/main';
|
|
5
|
+
import type { BrowserStorageOptions } from '../types/main.js';
|
|
6
6
|
export declare class BrowserStorage {
|
|
7
7
|
private static readonly window;
|
|
8
8
|
private readonly options;
|
|
@@ -32,3 +32,4 @@ export declare class BrowserStorage {
|
|
|
32
32
|
private validateSize;
|
|
33
33
|
private cleanExpiredData;
|
|
34
34
|
}
|
|
35
|
+
//# sourceMappingURL=BrowserStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserStorage.d.ts","sourceRoot":"","sources":["../../src/BrowserStorage/BrowserStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACV,qBAAqB,EAGtB,MAAM,kBAAkB,CAAC;AA+B1B,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CACuB;IAErD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;gBAEtC,OAAO,GAAE,qBAA0B;IAa/C,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAazC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAa3C,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAarC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAavC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAarD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAavD,MAAM,CAAC,eAAe,IAAI,OAAO,GAAG,IAAI;IAQxC,MAAM,CAAC,iBAAiB,IAAI,OAAO,GAAG,IAAI;IAQpC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAmCzC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAyCzD,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBhD,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAyB1C,eAAe,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IA0BrE,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,gBAAgB;CA6BzB"}
|
|
@@ -1,2 +1,311 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL0Jyb3dzZXJTdG9yYWdlL0Jyb3dzZXJTdG9yYWdlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHR5cGUge1xuICBCcm93c2VyU3RvcmFnZU9wdGlvbnMsXG4gIFN0b3JhZ2VEYXRhLFxuICBTdG9yYWdlSW50ZXJmYWNlXG59IGZyb20gJy4uL3R5cGVzL21haW4nO1xuXG4vLyBDb25zdGFudHMgZm9yIG9wdGltaXphdGlvblxuY29uc3QgREVGQVVMVF9QUkVGSVggPSAnYXJraGFtanNfJztcbmNvbnN0IERFRkFVTFRfTUFYX1NJWkUgPSA1ICogMTAyNCAqIDEwMjQ7IC8vIDVNQlxuY29uc3QgREVGQVVMVF9UVEwgPSAyNCAqIDYwICogNjAgKiAxMDAwOyAvLyAyNCBob3Vyc1xuXG4vLyBVdGlsaXR5IGZ1bmN0aW9uc1xuY29uc3QgaXNFeHBpcmVkID0gKGRhdGE6IFN0b3JhZ2VEYXRhKTogYm9vbGVhbiA9PiB7XG4gIGlmKCFkYXRhLnR0bCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gRGF0ZS5ub3coKSAtIGRhdGEudGltZXN0YW1wID4gZGF0YS50dGw7XG59O1xuXG5jb25zdCBnZXRTdG9yYWdlU2l6ZSA9IChkYXRhOiBzdHJpbmcpOiBudW1iZXIgPT4gbmV3IEJsb2IoW2RhdGFdKS5zaXplO1xuXG5jb25zdCBjb21wcmVzc0RhdGEgPSAoZGF0YTogYW55KTogc3RyaW5nID0+IHtcbiAgLy8gU2ltcGxlIGNvbXByZXNzaW9uIGZvciBsYXJnZSBvYmplY3RzXG4gIGNvbnN0IGpzb25TdHJpbmcgPSBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgaWYoanNvblN0cmluZy5sZW5ndGggPiAxMDAwKSB7XG4gICAgLy8gRm9yIGxhcmdlIGRhdGEsIHdlIGNvdWxkIGltcGxlbWVudCBhY3R1YWwgY29tcHJlc3Npb24gaGVyZVxuICAgIC8vIEZvciBub3csIHdlJ2xsIHVzZSBhIHNpbXBsZSBhcHByb2FjaFxuICAgIHJldHVybiBqc29uU3RyaW5nO1xuICB9XG4gIHJldHVybiBqc29uU3RyaW5nO1xufTtcblxuY29uc3QgZGVjb21wcmVzc0RhdGEgPSAoZGF0YTogc3RyaW5nKTogYW55ID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShkYXRhKTtcbiAgfSBjYXRjaHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuZXhwb3J0IGNsYXNzIEJyb3dzZXJTdG9yYWdlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgd2luZG93OiBXaW5kb3cgJiB0eXBlb2YgZ2xvYmFsVGhpcyA9XG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB7fSBhcyBhbnk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBSZXF1aXJlZDxCcm93c2VyU3RvcmFnZU9wdGlvbnM+O1xuICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZTogU3RvcmFnZUludGVyZmFjZSB8IG51bGw7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQnJvd3NlclN0b3JhZ2VPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICBjb21wcmVzc2lvbjogZmFsc2UsXG4gICAgICBtYXhTaXplOiBERUZBVUxUX01BWF9TSVpFLFxuICAgICAgcHJlZml4OiBERUZBVUxUX1BSRUZJWCxcbiAgICAgIHR0bDogREVGQVVMVF9UVEwsXG4gICAgICB0eXBlOiAnc2Vzc2lvbicsXG4gICAgICAuLi5vcHRpb25zXG4gICAgfTtcblxuICAgIHRoaXMuc3RvcmFnZSA9IHRoaXMuZ2V0U3RvcmFnZSgpO1xuICB9XG5cbiAgLy8gU3RhdGljIG1ldGhvZHMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgc3RhdGljIGRlbExvY2FsRGF0YShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdG9yYWdlID0gQnJvd3NlclN0b3JhZ2Uud2luZG93LmxvY2FsU3RvcmFnZTtcbiAgICAgIGlmKHN0b3JhZ2UpIHtcbiAgICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0gY2F0Y2h7XG4gICAgICAvLyBTdG9yYWdlIG5vdCBhdmFpbGFibGVcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3RhdGljIGRlbFNlc3Npb25EYXRhKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0b3JhZ2UgPSBCcm93c2VyU3RvcmFnZS53aW5kb3cuc2Vzc2lvblN0b3JhZ2U7XG4gICAgICBpZihzdG9yYWdlKSB7XG4gICAgICAgIHN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGNhdGNoe1xuICAgICAgLy8gU3RvcmFnZSBub3QgYXZhaWxhYmxlXG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRMb2NhbERhdGEoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdG9yYWdlID0gQnJvd3NlclN0b3JhZ2Uud2luZG93LmxvY2FsU3RvcmFnZTtcbiAgICAgIGlmKHN0b3JhZ2UpIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICByZXR1cm4gaXRlbSA/IEpTT04ucGFyc2UoaXRlbSkgOiBudWxsO1xuICAgICAgfVxuICAgIH0gY2F0Y2h7XG4gICAgICAvLyBTdG9yYWdlIG5vdCBhdmFpbGFibGUgb3IgaW52YWxpZCBKU09OXG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3RhdGljIGdldFNlc3Npb25EYXRhKGtleTogc3RyaW5nKTogYW55IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RvcmFnZSA9IEJyb3dzZXJTdG9yYWdlLndpbmRvdy5zZXNzaW9uU3RvcmFnZTtcbiAgICAgIGlmKHN0b3JhZ2UpIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICByZXR1cm4gaXRlbSA/IEpTT04ucGFyc2UoaXRlbSkgOiBudWxsO1xuICAgICAgfVxuICAgIH0gY2F0Y2h7XG4gICAgICAvLyBTdG9yYWdlIG5vdCBhdmFpbGFibGUgb3IgaW52YWxpZCBKU09OXG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3RhdGljIHNldExvY2FsRGF0YShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdG9yYWdlID0gQnJvd3NlclN0b3JhZ2Uud2luZG93LmxvY2FsU3RvcmFnZTtcbiAgICAgIGlmKHN0b3JhZ2UpIHtcbiAgICAgICAgc3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBjYXRjaHtcbiAgICAgIC8vIFN0b3JhZ2Ugbm90IGF2YWlsYWJsZSBvciBxdW90YSBleGNlZWRlZFxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzdGF0aWMgc2V0U2Vzc2lvbkRhdGEoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RvcmFnZSA9IEJyb3dzZXJTdG9yYWdlLndpbmRvdy5zZXNzaW9uU3RvcmFnZTtcbiAgICAgIGlmKHN0b3JhZ2UpIHtcbiAgICAgICAgc3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBjYXRjaHtcbiAgICAgIC8vIFN0b3JhZ2Ugbm90IGF2YWlsYWJsZSBvciBxdW90YSBleGNlZWRlZFxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzdGF0aWMgZ2V0TG9jYWxTdG9yYWdlKCk6IFN0b3JhZ2UgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEJyb3dzZXJTdG9yYWdlLndpbmRvdy5sb2NhbFN0b3JhZ2UgfHwgbnVsbDtcbiAgICB9IGNhdGNoe1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldFNlc3Npb25TdG9yYWdlKCk6IFN0b3JhZ2UgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEJyb3dzZXJTdG9yYWdlLndpbmRvdy5zZXNzaW9uU3RvcmFnZSB8fCBudWxsO1xuICAgIH0gY2F0Y2h7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvLyBQdWJsaWMgaW5zdGFuY2UgbWV0aG9kc1xuICBhc3luYyBnZXRTdG9yYWdlRGF0YShrZXk6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYoIXRoaXMuaXNTdG9yYWdlQXZhaWxhYmxlKCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZpeGVkS2V5ID0gdGhpcy5nZXRQcmVmaXhlZEtleShrZXkpO1xuXG4gICAgLy8gQ2hlY2sgY2FjaGUgZmlyc3RcbiAgICBpZih0aGlzLnN0b3JhZ2VDYWNoZS5oYXMocHJlZml4ZWRLZXkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdG9yYWdlQ2FjaGUuZ2V0KHByZWZpeGVkS2V5KTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuc3RvcmFnZSEuZ2V0SXRlbShwcmVmaXhlZEtleSk7XG4gICAgICBpZighaXRlbSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGF0YSA9IGRlY29tcHJlc3NEYXRhKGl0ZW0pO1xuICAgICAgaWYoIWRhdGEpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIGlmIGRhdGEgaXMgZXhwaXJlZFxuICAgICAgaWYoaXNFeHBpcmVkKGRhdGEpKSB7XG4gICAgICAgIHRoaXMuc3RvcmFnZSEucmVtb3ZlSXRlbShwcmVmaXhlZEtleSk7XG4gICAgICAgIHRoaXMuc3RvcmFnZUNhY2hlLmRlbGV0ZShwcmVmaXhlZEtleSk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICAvLyBDYWNoZSB0aGUgcmVzdWx0XG4gICAgICB0aGlzLnN0b3JhZ2VDYWNoZS5zZXQocHJlZml4ZWRLZXksIGRhdGEudmFsdWUpO1xuICAgICAgcmV0dXJuIGRhdGEudmFsdWU7XG4gICAgfSBjYXRjaHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNldFN0b3JhZ2VEYXRhKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgaWYoIXRoaXMuaXNTdG9yYWdlQXZhaWxhYmxlKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVmaXhlZEtleSA9IHRoaXMuZ2V0UHJlZml4ZWRLZXkoa2V5KTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBDbGVhbiBleHBpcmVkIGRhdGEgcGVyaW9kaWNhbGx5XG4gICAgICBpZihNYXRoLnJhbmRvbSgpIDwgMC4xKSB7IC8vIDEwJSBjaGFuY2UgdG8gY2xlYW5cbiAgICAgICAgdGhpcy5jbGVhbkV4cGlyZWREYXRhKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0b3JhZ2VEYXRhOiBTdG9yYWdlRGF0YSA9IHtcbiAgICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpLFxuICAgICAgICB0dGw6IHRoaXMub3B0aW9ucy50dGwsXG4gICAgICAgIHZhbHVlXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBqc29uU3RyaW5nID0gdGhpcy5vcHRpb25zLmNvbXByZXNzaW9uXG4gICAgICAgID8gY29tcHJlc3NEYXRhKHN0b3JhZ2VEYXRhKVxuICAgICAgICA6IEpTT04uc3RyaW5naWZ5KHN0b3JhZ2VEYXRhKTtcblxuICAgICAgLy8gVmFsaWRhdGUgc2l6ZVxuICAgICAgaWYoIXRoaXMudmFsaWRhdGVTaXplKGpzb25TdHJpbmcpKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUud2FybihgU3RvcmFnZSBkYXRhIGV4Y2VlZHMgbWF4aW11bSBzaXplIGZvciBrZXk6ICR7a2V5fWApO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc3RvcmFnZSEuc2V0SXRlbShwcmVmaXhlZEtleSwganNvblN0cmluZyk7XG5cbiAgICAgIC8vIFVwZGF0ZSBjYWNoZVxuICAgICAgdGhpcy5zdG9yYWdlQ2FjaGUuc2V0KHByZWZpeGVkS2V5LCB2YWx1ZSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gc2V0IHN0b3JhZ2UgZGF0YTonLCBlcnJvcik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVtb3ZlU3RvcmFnZURhdGEoa2V5OiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZighdGhpcy5pc1N0b3JhZ2VBdmFpbGFibGUoKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZpeGVkS2V5ID0gdGhpcy5nZXRQcmVmaXhlZEtleShrZXkpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RvcmFnZSEucmVtb3ZlSXRlbShwcmVmaXhlZEtleSk7XG4gICAgICB0aGlzLnN0b3JhZ2VDYWNoZS5kZWxldGUocHJlZml4ZWRLZXkpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjbGVhclN0b3JhZ2VEYXRhKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmKCF0aGlzLmlzU3RvcmFnZUF2YWlsYWJsZSgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gW107XG4gICAgICBmb3IobGV0IGkgPSAwOyBpIDwgdGhpcy5zdG9yYWdlIS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLnN0b3JhZ2UhLmtleShpKTtcbiAgICAgICAgaWYoa2V5Py5zdGFydHNXaXRoKHRoaXMub3B0aW9ucy5wcmVmaXgpKSB7XG4gICAgICAgICAga2V5cy5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAga2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgdGhpcy5zdG9yYWdlIS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIHRoaXMuc3RvcmFnZUNhY2hlLmRlbGV0ZShrZXkpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2h7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZ2V0U3RvcmFnZVN0YXRzKCk6IHsgYXZhaWxhYmxlOiBudW1iZXI7IHRvdGFsOiBudW1iZXI7IHVzZWQ6IG51bWJlciB9IHtcbiAgICBpZighdGhpcy5pc1N0b3JhZ2VBdmFpbGFibGUoKSkge1xuICAgICAgcmV0dXJuIHthdmFpbGFibGU6IDAsIHRvdGFsOiAwLCB1c2VkOiAwfTtcbiAgICB9XG5cbiAgICBsZXQgdXNlZCA9IDA7XG4gICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBbXTtcblxuICAgIGZvcihsZXQgaSA9IDA7IGkgPCB0aGlzLnN0b3JhZ2UhLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBrZXkgPSB0aGlzLnN0b3JhZ2UhLmtleShpKTtcbiAgICAgIGlmKGtleT8uc3RhcnRzV2l0aCh0aGlzLm9wdGlvbnMucHJlZml4KSkge1xuICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuc3RvcmFnZSEuZ2V0SXRlbShrZXkpO1xuICAgICAgICBpZihpdGVtKSB7XG4gICAgICAgICAgdXNlZCArPSBnZXRTdG9yYWdlU2l6ZShpdGVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhdmFpbGFibGU6IHRoaXMub3B0aW9ucy5tYXhTaXplIC0gdXNlZCxcbiAgICAgIHRvdGFsOiB0aGlzLm9wdGlvbnMubWF4U2l6ZSxcbiAgICAgIHVzZWRcbiAgICB9O1xuICB9XG5cbiAgLy8gUHJpdmF0ZSBoZWxwZXIgbWV0aG9kc1xuICBwcml2YXRlIGdldFN0b3JhZ2UoKTogU3RvcmFnZUludGVyZmFjZSB8IG51bGwge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7dHlwZX0gPSB0aGlzLm9wdGlvbnM7XG4gICAgICBjb25zdCBzdG9yYWdlID0gdHlwZSA9PT0gJ2xvY2FsJ1xuICAgICAgICA/IEJyb3dzZXJTdG9yYWdlLndpbmRvdy5sb2NhbFN0b3JhZ2VcbiAgICAgICAgOiBCcm93c2VyU3RvcmFnZS53aW5kb3cuc2Vzc2lvblN0b3JhZ2U7XG5cbiAgICAgIHJldHVybiBzdG9yYWdlIHx8IG51bGw7XG4gICAgfSBjYXRjaHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0UHJlZml4ZWRLZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLm9wdGlvbnMucHJlZml4fSR7a2V5fWA7XG4gIH1cblxuICBwcml2YXRlIGlzU3RvcmFnZUF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlICE9PSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVNpemUoZGF0YTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2l6ZSA9IGdldFN0b3JhZ2VTaXplKGRhdGEpO1xuICAgIHJldHVybiBzaXplIDw9IHRoaXMub3B0aW9ucy5tYXhTaXplO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhbkV4cGlyZWREYXRhKCk6IHZvaWQge1xuICAgIGlmKCF0aGlzLmlzU3RvcmFnZUF2YWlsYWJsZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgdGhpcy5zdG9yYWdlIS5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3Qga2V5ID0gdGhpcy5zdG9yYWdlIS5rZXkoaSk7XG4gICAgICBpZihrZXk/LnN0YXJ0c1dpdGgodGhpcy5vcHRpb25zLnByZWZpeCkpIHtcbiAgICAgICAga2V5cy5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAga2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnN0b3JhZ2UhLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgaWYoaXRlbSkge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSBkZWNvbXByZXNzRGF0YShpdGVtKTtcbiAgICAgICAgICBpZihkYXRhICYmIGlzRXhwaXJlZChkYXRhKSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlIS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VDYWNoZS5kZWxldGUoa2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2h7XG4gICAgICAgIC8vIFJlbW92ZSBjb3JydXB0ZWQgZGF0YVxuICAgICAgICB0aGlzLnN0b3JhZ2UhLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgdGhpcy5zdG9yYWdlQ2FjaGUuZGVsZXRlKGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQVdBLE1BQU1BLEVBQWlCLFlBS3ZCLE1BQU1DLEVBQWFDLEdBQ2JBLEVBQUssSUFHRixLQUFLLElBQUksRUFBSUEsRUFBSyxVQUFZQSxFQUFLLElBRmpDLEdBS0xDLEVBQWtCRCxHQUF5QixJQUFJLEtBQUssQ0FBQ0EsQ0FBSSxDQUFDLEVBQUUsS0FFNURFLEVBQWdCRixHQUFzQixDQUUxQyxNQUFNRyxFQUFhLEtBQUssVUFBVUgsQ0FBSSxFQUN0QyxPQUFHRyxFQUFXLE9BQVMsSUFHZEEsQ0FHWCxFQUVNQyxFQUFrQkosR0FBc0IsQ0FDNUMsR0FBSSxDQUNGLE9BQU8sS0FBSyxNQUFNQSxDQUFJLENBQ3hCLE1BQU8sQ0FDTCxPQUFPLElBQ1QsQ0FDRixFQUVPLE1BQU1LLENBQWUsQ0FDMUIsT0FBd0IsT0FDdEIsT0FBTyxPQUFXLElBQWMsT0FBUyxDQUFDLEVBRTNCLFFBQ0EsYUFBZSxJQUFJLElBQ25CLFFBRWpCLFlBQVlDLEVBQWlDLENBQUMsRUFBRyxDQUMvQyxLQUFLLFFBQVUsQ0FDYixZQUFhLEdBQ2IsUUFBUyxRQUNULE9BQVFDLEVBQ1IsSUFBSyxNQUNMLEtBQU0sVUFDTixHQUFHRCxDQUNMLEVBRUEsS0FBSyxRQUFVLEtBQUssV0FBVyxDQUNqQyxDQUdBLE9BQU8sYUFBYUUsRUFBc0IsQ0FDeEMsR0FBSSxDQUNGLE1BQU1DLEVBQVVKLEVBQWUsT0FBTyxhQUN0QyxHQUFHSSxFQUNELE9BQUFBLEVBQVEsV0FBV0QsQ0FBRyxFQUNmLEVBRVgsTUFBTyxDQUVQLENBQ0EsTUFBTyxFQUNULENB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S0FBSyxRQUFTLFFBQVFGLENBQUcsRUFDbkNFLElBQ0RNLEdBQVFmLEVBQWVTLENBQUksRUFFL0IsQ0FDRixDQUVBLE1BQU8sQ0FDTCxVQUFXLEtBQUssUUFBUSxRQUFVTSxFQUNsQyxNQUFPLEtBQUssUUFBUSxRQUNwQixLQUFBQSxDQUNGLENBQ0YsQ0FHUSxZQUFzQyxDQUM1QyxHQUFJLENBQ0YsS0FBTSxDQUFDLEtBQUFDLENBQUksRUFBSSxLQUFLLFFBS3BCLE9BSmdCQSxJQUFTLFFBQ3JCWixFQUFlLE9BQU8sYUFDdEJBLEVBQWUsT0FBTyxpQkFFUixJQUNwQixNQUFPLENBQ0wsT0FBTyxJQUNULENBQ0YsQ0FFUSxlQUFlRyxFQUFxQixDQUMxQyxNQUFPLEdBQUcsS0FBSyxRQUFRLE1BQU0sR0FBR0EsQ0FBRyxFQUNyQyxDQUVRLG9CQUE4QixDQUNwQyxPQUFPLEtBQUssVUFBWSxJQUMxQixDQUVRLGFBQWFSLEVBQXVCLENBRTFDLE9BRGFDLEVBQWVELENBQUksR0FDakIsS0FBSyxRQUFRLE9BQzlCLENBRVEsa0JBQXlCLENBQy9CLEdBQUcsQ0FBQyxLQUFLLG1CQUFtQixFQUMxQixPQUdGLE1BQU1jLEVBQWlCLENBQUMsRUFDeEIsUUFBUUMsRUFBSSxFQUFHQSxFQUFJLEtBQUssUUFBUyxPQUFRQSxJQUFLLENBQzVDLE1BQU1QLEVBQU0sS0FBSyxRQUFTLElBQUlPLENBQUMsRUFDNUJQLEdBQUssV0FBVyxLQUFLLFFBQVEsTUFBTSxHQUNwQ00sRUFBSyxLQUFLTixDQUFHLENBRWpCLENBRUFNLEVBQUssUUFBU04sR0FBUSxDQUNwQixHQUFJLENBQ0YsTUFBTUUsRUFBTyxLQUFLLFFBQVMsUUFBUUYsQ0FBRyxFQUN0QyxHQUFHRSxFQUFNLENBQ1AsTUFBTVYsRUFBT0ksRUFBZU0sQ0FBSSxFQUM3QlYsR0FBUUQsRUFBVUMsQ0FBSSxJQUN2QixLQUFLLFFBQVMsV0FBV1EsQ0FBRyxFQUM1QixLQUFLLGFBQWEsT0FBT0EsQ0FBRyxFQUVoQyxDQUNGLE1BQU8sQ0FFTCxLQUFLLFFBQVMsV0FBV0EsQ0FBRyxFQUM1QixLQUFLLGFBQWEsT0FBT0EsQ0FBRyxDQUM5QixDQUNGLENBQUMsQ0FDSCxDQUNGIiwKICAibmFtZXMiOiBbIkRFRkFVTFRfUFJFRklYIiwgImlzRXhwaXJlZCIsICJkYXRhIiwgImdldFN0b3JhZ2VTaXplIiwgImNvbXByZXNzRGF0YSIsICJqc29uU3RyaW5nIiwgImRlY29tcHJlc3NEYXRhIiwgIkJyb3dzZXJTdG9yYWdlIiwgIm9wdGlvbnMiLCAiREVGQVVMVF9QUkVGSVgiLCAia2V5IiwgInN0b3JhZ2UiLCAiaXRlbSIsICJ2YWx1ZSIsICJwcmVmaXhlZEtleSIsICJzdG9yYWdlRGF0YSIsICJrZXlzIiwgImkiLCAidXNlZCIsICJ0eXBlIl0KfQo=
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2018-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ function _define_property(obj, key, value) {
|
|
5
|
+
if (key in obj) {
|
|
6
|
+
Object.defineProperty(obj, key, {
|
|
7
|
+
value: value,
|
|
8
|
+
enumerable: true,
|
|
9
|
+
configurable: true,
|
|
10
|
+
writable: true
|
|
11
|
+
});
|
|
12
|
+
} else {
|
|
13
|
+
obj[key] = value;
|
|
14
|
+
}
|
|
15
|
+
return obj;
|
|
16
|
+
}
|
|
17
|
+
const DEFAULT_PREFIX = 'arkhamjs_';
|
|
18
|
+
const DEFAULT_MAX_SIZE = 5 * 1024 * 1024; // 5MB
|
|
19
|
+
const DEFAULT_TTL = 24 * 60 * 60 * 1000; // 24 hours
|
|
20
|
+
const isExpired = (data)=>{
|
|
21
|
+
if (!data.ttl) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
return Date.now() - data.timestamp > data.ttl;
|
|
25
|
+
};
|
|
26
|
+
const getStorageSize = (data)=>new Blob([
|
|
27
|
+
data
|
|
28
|
+
]).size;
|
|
29
|
+
const compressData = (data)=>{
|
|
30
|
+
const jsonString = JSON.stringify(data);
|
|
31
|
+
if (jsonString.length > 1000) {
|
|
32
|
+
return jsonString;
|
|
33
|
+
}
|
|
34
|
+
return jsonString;
|
|
35
|
+
};
|
|
36
|
+
const decompressData = (data)=>{
|
|
37
|
+
try {
|
|
38
|
+
return JSON.parse(data);
|
|
39
|
+
} catch {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
export class BrowserStorage {
|
|
44
|
+
static delLocalData(key) {
|
|
45
|
+
try {
|
|
46
|
+
const storage = BrowserStorage.window.localStorage;
|
|
47
|
+
if (storage) {
|
|
48
|
+
storage.removeItem(key);
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
} catch {
|
|
52
|
+
// Storage not available
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
static delSessionData(key) {
|
|
57
|
+
try {
|
|
58
|
+
const storage = BrowserStorage.window.sessionStorage;
|
|
59
|
+
if (storage) {
|
|
60
|
+
storage.removeItem(key);
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
} catch {
|
|
64
|
+
// Storage not available
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
static getLocalData(key) {
|
|
69
|
+
try {
|
|
70
|
+
const storage = BrowserStorage.window.localStorage;
|
|
71
|
+
if (storage) {
|
|
72
|
+
const item = storage.getItem(key);
|
|
73
|
+
return item ? JSON.parse(item) : null;
|
|
74
|
+
}
|
|
75
|
+
} catch {
|
|
76
|
+
// Storage not available or invalid JSON
|
|
77
|
+
}
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
static getSessionData(key) {
|
|
81
|
+
try {
|
|
82
|
+
const storage = BrowserStorage.window.sessionStorage;
|
|
83
|
+
if (storage) {
|
|
84
|
+
const item = storage.getItem(key);
|
|
85
|
+
return item ? JSON.parse(item) : null;
|
|
86
|
+
}
|
|
87
|
+
} catch {
|
|
88
|
+
// Storage not available or invalid JSON
|
|
89
|
+
}
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
static setLocalData(key, value) {
|
|
93
|
+
try {
|
|
94
|
+
const storage = BrowserStorage.window.localStorage;
|
|
95
|
+
if (storage) {
|
|
96
|
+
storage.setItem(key, JSON.stringify(value));
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
} catch {
|
|
100
|
+
// Storage not available or quota exceeded
|
|
101
|
+
}
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
static setSessionData(key, value) {
|
|
105
|
+
try {
|
|
106
|
+
const storage = BrowserStorage.window.sessionStorage;
|
|
107
|
+
if (storage) {
|
|
108
|
+
storage.setItem(key, JSON.stringify(value));
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
} catch {
|
|
112
|
+
// Storage not available or quota exceeded
|
|
113
|
+
}
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
static getLocalStorage() {
|
|
117
|
+
try {
|
|
118
|
+
return BrowserStorage.window.localStorage || null;
|
|
119
|
+
} catch {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
static getSessionStorage() {
|
|
124
|
+
try {
|
|
125
|
+
return BrowserStorage.window.sessionStorage || null;
|
|
126
|
+
} catch {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async getStorageData(key) {
|
|
131
|
+
if (!this.isStorageAvailable()) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
const prefixedKey = this.getPrefixedKey(key);
|
|
135
|
+
if (this.storageCache.has(prefixedKey)) {
|
|
136
|
+
return this.storageCache.get(prefixedKey);
|
|
137
|
+
}
|
|
138
|
+
try {
|
|
139
|
+
const item = this.storage.getItem(prefixedKey);
|
|
140
|
+
if (!item) {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
const data = decompressData(item);
|
|
144
|
+
if (!data) {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
if (isExpired(data)) {
|
|
148
|
+
this.storage.removeItem(prefixedKey);
|
|
149
|
+
this.storageCache.delete(prefixedKey);
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
152
|
+
this.storageCache.set(prefixedKey, data.value);
|
|
153
|
+
return data.value;
|
|
154
|
+
} catch {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
async setStorageData(key, value) {
|
|
159
|
+
if (!this.isStorageAvailable()) {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
const prefixedKey = this.getPrefixedKey(key);
|
|
163
|
+
try {
|
|
164
|
+
// Clean expired data periodically
|
|
165
|
+
if (Math.random() < 0.1) {
|
|
166
|
+
this.cleanExpiredData();
|
|
167
|
+
}
|
|
168
|
+
const storageData = {
|
|
169
|
+
timestamp: Date.now(),
|
|
170
|
+
ttl: this.options.ttl,
|
|
171
|
+
value
|
|
172
|
+
};
|
|
173
|
+
const jsonString = this.options.compression ? compressData(storageData) : JSON.stringify(storageData);
|
|
174
|
+
if (!this.validateSize(jsonString)) {
|
|
175
|
+
// eslint-disable-next-line no-console
|
|
176
|
+
console.warn(`Storage data exceeds maximum size for key: ${key}`);
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
this.storage.setItem(prefixedKey, jsonString);
|
|
180
|
+
this.storageCache.set(prefixedKey, value);
|
|
181
|
+
return true;
|
|
182
|
+
} catch (error) {
|
|
183
|
+
// eslint-disable-next-line no-console
|
|
184
|
+
console.error('Failed to set storage data:', error);
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
async removeStorageData(key) {
|
|
189
|
+
if (!this.isStorageAvailable()) {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
const prefixedKey = this.getPrefixedKey(key);
|
|
193
|
+
try {
|
|
194
|
+
this.storage.removeItem(prefixedKey);
|
|
195
|
+
this.storageCache.delete(prefixedKey);
|
|
196
|
+
return true;
|
|
197
|
+
} catch {
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
async clearStorageData() {
|
|
202
|
+
if (!this.isStorageAvailable()) {
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
205
|
+
try {
|
|
206
|
+
const keys = [];
|
|
207
|
+
for(let i = 0; i < this.storage.length; i++){
|
|
208
|
+
const key = this.storage.key(i);
|
|
209
|
+
if (key?.startsWith(this.options.prefix)) {
|
|
210
|
+
keys.push(key);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
keys.forEach((key)=>{
|
|
214
|
+
this.storage.removeItem(key);
|
|
215
|
+
this.storageCache.delete(key);
|
|
216
|
+
});
|
|
217
|
+
return true;
|
|
218
|
+
} catch {
|
|
219
|
+
return false;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
getStorageStats() {
|
|
223
|
+
if (!this.isStorageAvailable()) {
|
|
224
|
+
return {
|
|
225
|
+
available: 0,
|
|
226
|
+
total: 0,
|
|
227
|
+
used: 0
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
let used = 0;
|
|
231
|
+
const keys = [];
|
|
232
|
+
for(let i = 0; i < this.storage.length; i++){
|
|
233
|
+
const key = this.storage.key(i);
|
|
234
|
+
if (key?.startsWith(this.options.prefix)) {
|
|
235
|
+
keys.push(key);
|
|
236
|
+
const item = this.storage.getItem(key);
|
|
237
|
+
if (item) {
|
|
238
|
+
used += getStorageSize(item);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return {
|
|
243
|
+
available: this.options.maxSize - used,
|
|
244
|
+
total: this.options.maxSize,
|
|
245
|
+
used
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
getStorage() {
|
|
249
|
+
try {
|
|
250
|
+
const { type } = this.options;
|
|
251
|
+
const storage = type === 'local' ? BrowserStorage.window.localStorage : BrowserStorage.window.sessionStorage;
|
|
252
|
+
return storage || null;
|
|
253
|
+
} catch {
|
|
254
|
+
return null;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
getPrefixedKey(key) {
|
|
258
|
+
return `${this.options.prefix}${key}`;
|
|
259
|
+
}
|
|
260
|
+
isStorageAvailable() {
|
|
261
|
+
return this.storage !== null;
|
|
262
|
+
}
|
|
263
|
+
validateSize(data) {
|
|
264
|
+
const size = getStorageSize(data);
|
|
265
|
+
return size <= this.options.maxSize;
|
|
266
|
+
}
|
|
267
|
+
cleanExpiredData() {
|
|
268
|
+
if (!this.isStorageAvailable()) {
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
const keys = [];
|
|
272
|
+
for(let i = 0; i < this.storage.length; i++){
|
|
273
|
+
const key = this.storage.key(i);
|
|
274
|
+
if (key?.startsWith(this.options.prefix)) {
|
|
275
|
+
keys.push(key);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
keys.forEach((key)=>{
|
|
279
|
+
try {
|
|
280
|
+
const item = this.storage.getItem(key);
|
|
281
|
+
if (item) {
|
|
282
|
+
const data = decompressData(item);
|
|
283
|
+
if (data && isExpired(data)) {
|
|
284
|
+
this.storage.removeItem(key);
|
|
285
|
+
this.storageCache.delete(key);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
} catch {
|
|
289
|
+
this.storage.removeItem(key);
|
|
290
|
+
this.storageCache.delete(key);
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
constructor(options = {}){
|
|
295
|
+
_define_property(this, "options", void 0);
|
|
296
|
+
_define_property(this, "storageCache", new Map());
|
|
297
|
+
_define_property(this, "storage", void 0);
|
|
298
|
+
this.options = {
|
|
299
|
+
compression: false,
|
|
300
|
+
maxSize: DEFAULT_MAX_SIZE,
|
|
301
|
+
prefix: DEFAULT_PREFIX,
|
|
302
|
+
ttl: DEFAULT_TTL,
|
|
303
|
+
type: 'session',
|
|
304
|
+
...options
|
|
305
|
+
};
|
|
306
|
+
this.storage = this.getStorage();
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
_define_property(BrowserStorage, "window", typeof window !== 'undefined' ? window : {});
|
|
310
|
+
|
|
311
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2Fya2hhbWpzL3BhY2thZ2VzL2Fya2hhbWpzLXN0b3JhZ2UtYnJvd3Nlci9zcmMvQnJvd3NlclN0b3JhZ2UvQnJvd3NlclN0b3JhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB0eXBlIHtcbiAgQnJvd3NlclN0b3JhZ2VPcHRpb25zLFxuICBTdG9yYWdlRGF0YSxcbiAgU3RvcmFnZUludGVyZmFjZVxufSBmcm9tICcuLi90eXBlcy9tYWluLmpzJztcblxuY29uc3QgREVGQVVMVF9QUkVGSVggPSAnYXJraGFtanNfJztcbmNvbnN0IERFRkFVTFRfTUFYX1NJWkUgPSA1ICogMTAyNCAqIDEwMjQ7IC8vIDVNQlxuY29uc3QgREVGQVVMVF9UVEwgPSAyNCAqIDYwICogNjAgKiAxMDAwOyAvLyAyNCBob3Vyc1xuXG5jb25zdCBpc0V4cGlyZWQgPSAoZGF0YTogU3RvcmFnZURhdGEpOiBib29sZWFuID0+IHtcbiAgaWYoIWRhdGEudHRsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBEYXRlLm5vdygpIC0gZGF0YS50aW1lc3RhbXAgPiBkYXRhLnR0bDtcbn07XG5cbmNvbnN0IGdldFN0b3JhZ2VTaXplID0gKGRhdGE6IHN0cmluZyk6IG51bWJlciA9PiBuZXcgQmxvYihbZGF0YV0pLnNpemU7XG5cbmNvbnN0IGNvbXByZXNzRGF0YSA9IChkYXRhOiBhbnkpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gIGlmKGpzb25TdHJpbmcubGVuZ3RoID4gMTAwMCkge1xuICAgIHJldHVybiBqc29uU3RyaW5nO1xuICB9XG4gIHJldHVybiBqc29uU3RyaW5nO1xufTtcblxuY29uc3QgZGVjb21wcmVzc0RhdGEgPSAoZGF0YTogc3RyaW5nKTogYW55ID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShkYXRhKTtcbiAgfSBjYXRjaHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuZXhwb3J0IGNsYXNzIEJyb3dzZXJTdG9yYWdlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgd2luZG93OiBXaW5kb3cgJiB0eXBlb2YgZ2xvYmFsVGhpcyA9XG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB7fSBhcyBhbnk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBSZXF1aXJlZDxCcm93c2VyU3RvcmFnZU9wdGlvbnM+O1xuICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZTogU3RvcmFnZUludGVyZmFjZSB8IG51bGw7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQnJvd3NlclN0b3JhZ2VPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICBjb21wcmVzc2lvbjogZmFsc2UsXG4gICAgICBtYXhTaXplOiBERUZBVUxUX01BWF9TSVpFLFxuICAgICAgcHJlZml4OiBERUZBVUxUX1BSRUZJWCxcbiAgICAgIHR0bDogREVGQVVMVF9UVEwsXG4gICAgICB0eXBlOiAnc2Vzc2lvbicsXG4gICAgICAuLi5vcHRpb25zXG4gICAgfTtcblxuICAgIHRoaXMuc3RvcmFnZSA9IHRoaXMuZ2V0U3RvcmFnZSgpO1xuICB9XG5cbiAgc3RhdGljIGRlbExvY2FsRGF0YShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdG9yYWdlID0gQnJvd3NlclN0b3JhZ2Uud2luZG93LmxvY2FsU3RvcmFnZTtcbiAgICAgIGlmKHN0b3JhZ2UpIHtcbiAgICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0gY2F0Y2h7XG4gICAgICAvLyBTdG9yYWdlIG5vdCBhdmFpbGFibGVcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3RhdGljIGRlbFNlc3Npb25EYXRhKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0b3JhZ2UgPSBCcm93c2VyU3RvcmFnZS53aW5kb3cuc2Vzc2lvblN0b3JhZ2U7XG4gICAgICBpZihzdG9yYWdlKSB7XG4gICAgICAgIHN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGNhdGNoe1xuICAgICAgLy8gU3RvcmFnZSBub3QgYXZhaWxhYmxlXG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRMb2NhbERhdGEoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdG9yYWdlID0gQnJvd3NlclN0b3JhZ2Uud2luZG93LmxvY2FsU3RvcmFnZTtcbiAgICAgIGlmKHN0b3JhZ2UpIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICByZXR1cm4gaXRlbSA/IEpTT04ucGFyc2UoaXRlbSkgOiBudWxsO1xuICAgICAgfVxuICAgIH0gY2F0Y2h7XG4gICAgICAvLyBTdG9yYWdlIG5vdCBhdmFpbGFibGUgb3IgaW52YWxpZCBKU09OXG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3RhdGljIGdldFNlc3Npb25EYXRhKGtleTogc3RyaW5nKTogYW55IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RvcmFnZSA9IEJyb3dzZXJTdG9yYWdlLndpbmRvdy5zZXNzaW9uU3RvcmFnZTtcbiAgICAgIGlmKHN0b3JhZ2UpIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICByZXR1cm4gaXRlbSA/IEpTT04ucGFyc2UoaXRlbSkgOiBudWxsO1xuICAgICAgfVxuICAgIH0gY2F0Y2h7XG4gICAgICAvLyBTdG9yYWdlIG5vdCBhdmFpbGFibGUgb3IgaW52YWxpZCBKU09OXG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3RhdGljIHNldExvY2FsRGF0YShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdG9yYWdlID0gQnJvd3NlclN0b3JhZ2Uud2luZG93LmxvY2FsU3RvcmFnZTtcbiAgICAgIGlmKHN0b3JhZ2UpIHtcbiAgICAgICAgc3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBjYXRjaHtcbiAgICAgIC8vIFN0b3JhZ2Ugbm90IGF2YWlsYWJsZSBvciBxdW90YSBleGNlZWRlZFxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzdGF0aWMgc2V0U2Vzc2lvbkRhdGEoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RvcmFnZSA9IEJyb3dzZXJTdG9yYWdlLndpbmRvdy5zZXNzaW9uU3RvcmFnZTtcbiAgICAgIGlmKHN0b3JhZ2UpIHtcbiAgICAgICAgc3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBjYXRjaHtcbiAgICAgIC8vIFN0b3JhZ2Ugbm90IGF2YWlsYWJsZSBvciBxdW90YSBleGNlZWRlZFxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzdGF0aWMgZ2V0TG9jYWxTdG9yYWdlKCk6IFN0b3JhZ2UgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEJyb3dzZXJTdG9yYWdlLndpbmRvdy5sb2NhbFN0b3JhZ2UgfHwgbnVsbDtcbiAgICB9IGNhdGNoe1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldFNlc3Npb25TdG9yYWdlKCk6IFN0b3JhZ2UgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEJyb3dzZXJTdG9yYWdlLndpbmRvdy5zZXNzaW9uU3RvcmFnZSB8fCBudWxsO1xuICAgIH0gY2F0Y2h7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBhc3luYyBnZXRTdG9yYWdlRGF0YShrZXk6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYoIXRoaXMuaXNTdG9yYWdlQXZhaWxhYmxlKCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZpeGVkS2V5ID0gdGhpcy5nZXRQcmVmaXhlZEtleShrZXkpO1xuXG4gICAgaWYodGhpcy5zdG9yYWdlQ2FjaGUuaGFzKHByZWZpeGVkS2V5KSkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZUNhY2hlLmdldChwcmVmaXhlZEtleSk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnN0b3JhZ2UhLmdldEl0ZW0ocHJlZml4ZWRLZXkpO1xuICAgICAgaWYoIWl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRhdGEgPSBkZWNvbXByZXNzRGF0YShpdGVtKTtcbiAgICAgIGlmKCFkYXRhKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBpZihpc0V4cGlyZWQoZGF0YSkpIHtcbiAgICAgICAgdGhpcy5zdG9yYWdlIS5yZW1vdmVJdGVtKHByZWZpeGVkS2V5KTtcbiAgICAgICAgdGhpcy5zdG9yYWdlQ2FjaGUuZGVsZXRlKHByZWZpeGVkS2V5KTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc3RvcmFnZUNhY2hlLnNldChwcmVmaXhlZEtleSwgZGF0YS52YWx1ZSk7XG4gICAgICByZXR1cm4gZGF0YS52YWx1ZTtcbiAgICB9IGNhdGNoe1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2V0U3RvcmFnZURhdGEoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZighdGhpcy5pc1N0b3JhZ2VBdmFpbGFibGUoKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZpeGVkS2V5ID0gdGhpcy5nZXRQcmVmaXhlZEtleShrZXkpO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENsZWFuIGV4cGlyZWQgZGF0YSBwZXJpb2RpY2FsbHlcbiAgICAgIGlmKE1hdGgucmFuZG9tKCkgPCAwLjEpIHsgLy8gMTAlIGNoYW5jZSB0byBjbGVhblxuICAgICAgICB0aGlzLmNsZWFuRXhwaXJlZERhdGEoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3RvcmFnZURhdGE6IFN0b3JhZ2VEYXRhID0ge1xuICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgIHR0bDogdGhpcy5vcHRpb25zLnR0bCxcbiAgICAgICAgdmFsdWVcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSB0aGlzLm9wdGlvbnMuY29tcHJlc3Npb25cbiAgICAgICAgPyBjb21wcmVzc0RhdGEoc3RvcmFnZURhdGEpXG4gICAgICAgIDogSlNPTi5zdHJpbmdpZnkoc3RvcmFnZURhdGEpO1xuXG4gICAgICBpZighdGhpcy52YWxpZGF0ZVNpemUoanNvblN0cmluZykpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgY29uc29sZS53YXJuKGBTdG9yYWdlIGRhdGEgZXhjZWVkcyBtYXhpbXVtIHNpemUgZm9yIGtleTogJHtrZXl9YCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zdG9yYWdlIS5zZXRJdGVtKHByZWZpeGVkS2V5LCBqc29uU3RyaW5nKTtcblxuICAgICAgdGhpcy5zdG9yYWdlQ2FjaGUuc2V0KHByZWZpeGVkS2V5LCB2YWx1ZSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gc2V0IHN0b3JhZ2UgZGF0YTonLCBlcnJvcik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVtb3ZlU3RvcmFnZURhdGEoa2V5OiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZighdGhpcy5pc1N0b3JhZ2VBdmFpbGFibGUoKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZpeGVkS2V5ID0gdGhpcy5nZXRQcmVmaXhlZEtleShrZXkpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RvcmFnZSEucmVtb3ZlSXRlbShwcmVmaXhlZEtleSk7XG4gICAgICB0aGlzLnN0b3JhZ2VDYWNoZS5kZWxldGUocHJlZml4ZWRLZXkpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjbGVhclN0b3JhZ2VEYXRhKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmKCF0aGlzLmlzU3RvcmFnZUF2YWlsYWJsZSgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gW107XG4gICAgICBmb3IobGV0IGkgPSAwOyBpIDwgdGhpcy5zdG9yYWdlIS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLnN0b3JhZ2UhLmtleShpKTtcbiAgICAgICAgaWYoa2V5Py5zdGFydHNXaXRoKHRoaXMub3B0aW9ucy5wcmVmaXgpKSB7XG4gICAgICAgICAga2V5cy5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAga2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgdGhpcy5zdG9yYWdlIS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIHRoaXMuc3RvcmFnZUNhY2hlLmRlbGV0ZShrZXkpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2h7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZ2V0U3RvcmFnZVN0YXRzKCk6IHsgYXZhaWxhYmxlOiBudW1iZXI7IHRvdGFsOiBudW1iZXI7IHVzZWQ6IG51bWJlciB9IHtcbiAgICBpZighdGhpcy5pc1N0b3JhZ2VBdmFpbGFibGUoKSkge1xuICAgICAgcmV0dXJuIHthdmFpbGFibGU6IDAsIHRvdGFsOiAwLCB1c2VkOiAwfTtcbiAgICB9XG5cbiAgICBsZXQgdXNlZCA9IDA7XG4gICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBbXTtcblxuICAgIGZvcihsZXQgaSA9IDA7IGkgPCB0aGlzLnN0b3JhZ2UhLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBrZXkgPSB0aGlzLnN0b3JhZ2UhLmtleShpKTtcbiAgICAgIGlmKGtleT8uc3RhcnRzV2l0aCh0aGlzLm9wdGlvbnMucHJlZml4KSkge1xuICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuc3RvcmFnZSEuZ2V0SXRlbShrZXkpO1xuICAgICAgICBpZihpdGVtKSB7XG4gICAgICAgICAgdXNlZCArPSBnZXRTdG9yYWdlU2l6ZShpdGVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhdmFpbGFibGU6IHRoaXMub3B0aW9ucy5tYXhTaXplIC0gdXNlZCxcbiAgICAgIHRvdGFsOiB0aGlzLm9wdGlvbnMubWF4U2l6ZSxcbiAgICAgIHVzZWRcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdG9yYWdlKCk6IFN0b3JhZ2VJbnRlcmZhY2UgfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qge3R5cGV9ID0gdGhpcy5vcHRpb25zO1xuICAgICAgY29uc3Qgc3RvcmFnZSA9IHR5cGUgPT09ICdsb2NhbCdcbiAgICAgICAgPyBCcm93c2VyU3RvcmFnZS53aW5kb3cubG9jYWxTdG9yYWdlXG4gICAgICAgIDogQnJvd3NlclN0b3JhZ2Uud2luZG93LnNlc3Npb25TdG9yYWdlO1xuXG4gICAgICByZXR1cm4gc3RvcmFnZSB8fCBudWxsO1xuICAgIH0gY2F0Y2h7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFByZWZpeGVkS2V5KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5vcHRpb25zLnByZWZpeH0ke2tleX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1N0b3JhZ2VBdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZSAhPT0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVTaXplKGRhdGE6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNpemUgPSBnZXRTdG9yYWdlU2l6ZShkYXRhKTtcbiAgICByZXR1cm4gc2l6ZSA8PSB0aGlzLm9wdGlvbnMubWF4U2l6ZTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYW5FeHBpcmVkRGF0YSgpOiB2b2lkIHtcbiAgICBpZighdGhpcy5pc1N0b3JhZ2VBdmFpbGFibGUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gW107XG4gICAgZm9yKGxldCBpID0gMDsgaSA8IHRoaXMuc3RvcmFnZSEubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGtleSA9IHRoaXMuc3RvcmFnZSEua2V5KGkpO1xuICAgICAgaWYoa2V5Py5zdGFydHNXaXRoKHRoaXMub3B0aW9ucy5wcmVmaXgpKSB7XG4gICAgICAgIGtleXMucHVzaChrZXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5zdG9yYWdlIS5nZXRJdGVtKGtleSk7XG4gICAgICAgIGlmKGl0ZW0pIHtcbiAgICAgICAgICBjb25zdCBkYXRhID0gZGVjb21wcmVzc0RhdGEoaXRlbSk7XG4gICAgICAgICAgaWYoZGF0YSAmJiBpc0V4cGlyZWQoZGF0YSkpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZSEucmVtb3ZlSXRlbShrZXkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlQ2FjaGUuZGVsZXRlKGtleSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoe1xuICAgICAgICB0aGlzLnN0b3JhZ2UhLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgdGhpcy5zdG9yYWdlQ2FjaGUuZGVsZXRlKGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJERUZBVUxUX1BSRUZJWCIsIkRFRkFVTFRfTUFYX1NJWkUiLCJERUZBVUxUX1RUTCIsImlzRXhwaXJlZCIsImRhdGEiLCJ0dGwiLCJEYXRlIiwibm93IiwidGltZXN0YW1wIiwiZ2V0U3RvcmFnZVNpemUiLCJCbG9iIiwic2l6ZSIsImNvbXByZXNzRGF0YSIsImpzb25TdHJpbmciLCJKU09OIiwic3RyaW5naWZ5IiwibGVuZ3RoIiwiZGVjb21wcmVzc0RhdGEiLCJwYXJzZSIsIkJyb3dzZXJTdG9yYWdlIiwiZGVsTG9jYWxEYXRhIiwia2V5Iiwic3RvcmFnZSIsIndpbmRvdyIsImxvY2FsU3RvcmFnZSIsInJlbW92ZUl0ZW0iLCJkZWxTZXNzaW9uRGF0YSIsInNlc3Npb25TdG9yYWdlIiwiZ2V0TG9jYWxEYXRhIiwiaXRlbSIsImdldEl0ZW0iLCJnZXRTZXNzaW9uRGF0YSIsInNldExvY2FsRGF0YSIsInZhbHVlIiwic2V0SXRlbSIsInNldFNlc3Npb25EYXRhIiwiZ2V0TG9jYWxTdG9yYWdlIiwiZ2V0U2Vzc2lvblN0b3JhZ2UiLCJnZXRTdG9yYWdlRGF0YSIsImlzU3RvcmFnZUF2YWlsYWJsZSIsInByZWZpeGVkS2V5IiwiZ2V0UHJlZml4ZWRLZXkiLCJzdG9yYWdlQ2FjaGUiLCJoYXMiLCJnZXQiLCJkZWxldGUiLCJzZXQiLCJzZXRTdG9yYWdlRGF0YSIsIk1hdGgiLCJyYW5kb20iLCJjbGVhbkV4cGlyZWREYXRhIiwic3RvcmFnZURhdGEiLCJvcHRpb25zIiwiY29tcHJlc3Npb24iLCJ2YWxpZGF0ZVNpemUiLCJjb25zb2xlIiwid2FybiIsImVycm9yIiwicmVtb3ZlU3RvcmFnZURhdGEiLCJjbGVhclN0b3JhZ2VEYXRhIiwia2V5cyIsImkiLCJzdGFydHNXaXRoIiwicHJlZml4IiwicHVzaCIsImZvckVhY2giLCJnZXRTdG9yYWdlU3RhdHMiLCJhdmFpbGFibGUiLCJ0b3RhbCIsInVzZWQiLCJtYXhTaXplIiwiZ2V0U3RvcmFnZSIsInR5cGUiLCJNYXAiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQzs7Ozs7Ozs7Ozs7OztBQU9ELE1BQU1BLGlCQUFpQjtBQUN2QixNQUFNQyxtQkFBbUIsSUFBSSxPQUFPLE1BQU0sTUFBTTtBQUNoRCxNQUFNQyxjQUFjLEtBQUssS0FBSyxLQUFLLE1BQU0sV0FBVztBQUVwRCxNQUFNQyxZQUFZLENBQUNDO0lBQ2pCLElBQUcsQ0FBQ0EsS0FBS0MsR0FBRyxFQUFFO1FBQ1osT0FBTztJQUNUO0lBQ0EsT0FBT0MsS0FBS0MsR0FBRyxLQUFL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
|
package/lib/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Copyright (c) 2018-Present, Nitrogen Labs, Inc.
|
|
3
3
|
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
4
|
*/
|
|
5
|
-
import { BrowserStorage } from './BrowserStorage/BrowserStorage';
|
|
6
|
-
export * from './types/main';
|
|
5
|
+
import { BrowserStorage } from './BrowserStorage/BrowserStorage.js';
|
|
6
|
+
export * from './types/main.js';
|
|
7
7
|
export { BrowserStorage };
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAGlE,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAC,cAAc,EAAC,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2018-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ import { BrowserStorage } from './BrowserStorage/BrowserStorage.js';
|
|
5
|
+
// Storage
|
|
6
|
+
export * from './types/main.js';
|
|
7
|
+
export { BrowserStorage };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2Fya2hhbWpzL3BhY2thZ2VzL2Fya2hhbWpzLXN0b3JhZ2UtYnJvd3Nlci9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7QnJvd3NlclN0b3JhZ2V9IGZyb20gJy4vQnJvd3NlclN0b3JhZ2UvQnJvd3NlclN0b3JhZ2UuanMnO1xuXG4vLyBTdG9yYWdlXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL21haW4uanMnO1xuZXhwb3J0IHtCcm93c2VyU3RvcmFnZX07XG5cbiJdLCJuYW1lcyI6WyJCcm93c2VyU3RvcmFnZSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsY0FBYyxRQUFPLHFDQUFxQztBQUVsRSxVQUFVO0FBQ1YsY0FBYyxrQkFBa0I7QUFDaEMsU0FBUUEsY0FBYyxHQUFFIn0=
|
package/lib/types/main.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/types/main.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAChD"}
|
package/lib/types/main.js
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
export { };
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2Fya2hhbWpzL3BhY2thZ2VzL2Fya2hhbWpzLXN0b3JhZ2UtYnJvd3Nlci9zcmMvdHlwZXMvbWFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJyb3dzZXJTdG9yYWdlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHR5cGU/OiAnbG9jYWwnIHwgJ3Nlc3Npb24nO1xuICByZWFkb25seSBwcmVmaXg/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbXByZXNzaW9uPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbWF4U2l6ZT86IG51bWJlcjsgLy8gaW4gYnl0ZXNcbiAgcmVhZG9ubHkgdHRsPzogbnVtYmVyOyAvLyB0aW1lIHRvIGxpdmUgaW4gbWlsbGlzZWNvbmRzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmFnZURhdGEge1xuICByZWFkb25seSB2YWx1ZTogYW55O1xuICByZWFkb25seSB0aW1lc3RhbXA6IG51bWJlcjtcbiAgcmVhZG9ubHkgdHRsPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBTdG9yYWdlVHlwZSA9ICdsb2NhbCcgfCAnc2Vzc2lvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmFnZUludGVyZmFjZSB7XG4gIHJlYWRvbmx5IGxlbmd0aDogbnVtYmVyO1xuICByZWFkb25seSBnZXRJdGVtOiAoa2V5OiBzdHJpbmcpID0+IHN0cmluZyB8IG51bGw7XG4gIHJlYWRvbmx5IHNldEl0ZW06IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgcmVhZG9ubHkgcmVtb3ZlSXRlbTogKGtleTogc3RyaW5nKSA9PiB2b2lkO1xuICByZWFkb25seSBjbGVhcjogKCkgPT4gdm9pZDtcbiAgcmVhZG9ubHkga2V5OiAoaW5kZXg6IG51bWJlcikgPT4gc3RyaW5nIHwgbnVsbDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsV0FPQyJ9
|