@xyo-network/archivist-indexeddb 2.65.4 → 2.65.5

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.
@@ -1,18 +1,16 @@
1
1
  "use strict";
2
+ var IndexedDbArchivist_1;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.IndexedDbArchivist = exports.IndexedDbArchivistConfigSchema = void 0;
4
5
  const tslib_1 = require("tslib");
5
- const exists_1 = require("@xylabs/exists");
6
+ const assert_1 = require("@xylabs/assert");
7
+ const abstract_archivist_1 = require("@xyo-network/abstract-archivist");
6
8
  const archivist_model_1 = require("@xyo-network/archivist-model");
7
9
  const core_1 = require("@xyo-network/core");
8
- const idb_1 = require("idb");
9
- const AbstractIndexedDbArchivist_1 = require("./AbstractIndexedDbArchivist");
10
+ const module_1 = require("@xyo-network/module");
11
+ const idb_keyval_1 = require("idb-keyval");
10
12
  exports.IndexedDbArchivistConfigSchema = 'network.xyo.archivist.indexeddb.config';
11
- class IndexedDbArchivist extends AbstractIndexedDbArchivist_1.AbstractIndexedDbArchivist {
12
- constructor() {
13
- super(...arguments);
14
- this.db = undefined;
15
- }
13
+ let IndexedDbArchivist = exports.IndexedDbArchivist = IndexedDbArchivist_1 = class IndexedDbArchivist extends abstract_archivist_1.AbstractDirectArchivist {
16
14
  /**
17
15
  * The database name. If not supplied via config, it defaults
18
16
  * to the module name (not guaranteed to be unique) and if module
@@ -22,7 +20,7 @@ class IndexedDbArchivist extends AbstractIndexedDbArchivist_1.AbstractIndexedDbA
22
20
  */
23
21
  get dbName() {
24
22
  var _a, _b, _c, _d;
25
- return (_d = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.dbName) !== null && _b !== void 0 ? _b : (_c = this.config) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : IndexedDbArchivist.defaultDbName;
23
+ return (_d = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.dbName) !== null && _b !== void 0 ? _b : (_c = this.config) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : IndexedDbArchivist_1.defaultDbName;
26
24
  }
27
25
  get queries() {
28
26
  return [archivist_model_1.ArchivistAllQuerySchema, archivist_model_1.ArchivistClearQuerySchema, archivist_model_1.ArchivistDeleteQuerySchema, archivist_model_1.ArchivistInsertQuerySchema, ...super.queries];
@@ -39,7 +37,10 @@ class IndexedDbArchivist extends AbstractIndexedDbArchivist_1.AbstractIndexedDbA
39
37
  */
40
38
  get storeName() {
41
39
  var _a, _b;
42
- return ((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.storeName) !== null && _b !== void 0 ? _b : IndexedDbArchivist.defaultStoreName);
40
+ return (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.storeName) !== null && _b !== void 0 ? _b : IndexedDbArchivist_1.defaultStoreName;
41
+ }
42
+ get db() {
43
+ return (0, assert_1.assertEx)(this._db, 'DB not initialized');
43
44
  }
44
45
  start() {
45
46
  const _super = Object.create(null, {
@@ -49,54 +50,48 @@ class IndexedDbArchivist extends AbstractIndexedDbArchivist_1.AbstractIndexedDbA
49
50
  yield _super.start.call(this);
50
51
  // NOTE: We could defer this creation to first access but we
51
52
  // want to fail fast here in case something is wrong
52
- this.db = (0, idb_1.openDB)(this.dbName, IndexedDbArchivist.CurrentSchemaVersion, {
53
- upgrade: (db) => db.createObjectStore(this.storeName),
54
- });
53
+ this._db = (0, idb_keyval_1.createStore)(this.dbName, this.storeName);
55
54
  });
56
55
  }
57
56
  allHandler() {
58
- var _a, _b;
59
57
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
60
- return (_b = (yield ((_a = (yield this.db)) === null || _a === void 0 ? void 0 : _a.getAll(this.storeName)))) !== null && _b !== void 0 ? _b : [];
58
+ const result = yield (0, idb_keyval_1.entries)(this.db);
59
+ return result.map(([_hash, payload]) => payload);
61
60
  });
62
61
  }
63
62
  clearHandler() {
64
- var _a;
65
63
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
66
- yield ((_a = (yield this.db)) === null || _a === void 0 ? void 0 : _a.clear(this.storeName));
64
+ yield (0, idb_keyval_1.clear)(this.db);
67
65
  });
68
66
  }
69
67
  deleteHandler(hashes) {
70
68
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
71
- yield Promise.all(hashes.map((hash) => tslib_1.__awaiter(this, void 0, void 0, function* () {
72
- var _a;
73
- yield ((_a = (yield this.db)) === null || _a === void 0 ? void 0 : _a.delete(this.storeName, hash));
74
- })));
69
+ yield (0, idb_keyval_1.delMany)(hashes, this.db);
75
70
  return hashes.map((_) => true);
76
71
  });
77
72
  }
78
73
  getHandler(hashes) {
79
74
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
80
- const results = (yield Promise.all(hashes.map((hash) => tslib_1.__awaiter(this, void 0, void 0, function* () {
81
- var _a;
82
- return yield ((_a = (yield this.db)) === null || _a === void 0 ? void 0 : _a.get(this.storeName, hash));
83
- })))).filter(exists_1.exists);
84
- return results;
75
+ const result = yield (0, idb_keyval_1.getMany)(hashes, this.db);
76
+ return result;
85
77
  });
86
78
  }
87
79
  insertHandler(payloads) {
88
80
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
89
- yield Promise.all(payloads.map((payload) => tslib_1.__awaiter(this, void 0, void 0, function* () {
90
- var _a;
81
+ const entries = yield Promise.all(payloads.map((payload) => tslib_1.__awaiter(this, void 0, void 0, function* () {
91
82
  const hash = yield core_1.PayloadHasher.hashAsync(payload);
92
- yield ((_a = (yield this.db)) === null || _a === void 0 ? void 0 : _a.put(this.storeName, payload, hash));
83
+ return [hash, payload];
93
84
  })));
85
+ yield (0, idb_keyval_1.setMany)(entries, this.db);
94
86
  const [result] = yield this.bindQueryResult({ payloads, schema: archivist_model_1.ArchivistInsertQuerySchema }, payloads);
95
87
  return [result[0]];
96
88
  });
97
89
  }
98
- }
99
- exports.IndexedDbArchivist = IndexedDbArchivist;
100
- IndexedDbArchivist.CurrentSchemaVersion = 1;
90
+ };
101
91
  IndexedDbArchivist.configSchemas = [exports.IndexedDbArchivistConfigSchema];
92
+ IndexedDbArchivist.defaultDbName = 'archivist';
93
+ IndexedDbArchivist.defaultStoreName = 'payloads';
94
+ exports.IndexedDbArchivist = IndexedDbArchivist = IndexedDbArchivist_1 = tslib_1.__decorate([
95
+ (0, module_1.creatableModule)()
96
+ ], IndexedDbArchivist);
102
97
  //# sourceMappingURL=IndexedDbArchivist.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IndexedDbArchivist.js","sourceRoot":"","sources":["../../src/IndexedDbArchivist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndexedDbArchivist.js","sourceRoot":"","sources":["../../src/IndexedDbArchivist.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -2,5 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./IndexedDbArchivist"), exports);
5
- tslib_1.__exportStar(require("./IndexedDbArchivistSimple"), exports);
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,+DAAoC;AACpC,qEAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,+DAAoC"}