@xyo-network/archivist-indexeddb 2.65.2 → 2.65.4

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.
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractIndexedDbArchivist = exports.AbstractIndexedDbArchivistConfigSchema = void 0;
4
+ const abstract_archivist_1 = require("@xyo-network/abstract-archivist");
5
+ const archivist_model_1 = require("@xyo-network/archivist-model");
6
+ exports.AbstractIndexedDbArchivistConfigSchema = 'network.xyo.archivist.indexeddb.config';
7
+ class AbstractIndexedDbArchivist extends abstract_archivist_1.AbstractDirectArchivist {
8
+ get queries() {
9
+ return [archivist_model_1.ArchivistAllQuerySchema, archivist_model_1.ArchivistClearQuerySchema, archivist_model_1.ArchivistDeleteQuerySchema, archivist_model_1.ArchivistInsertQuerySchema, ...super.queries];
10
+ }
11
+ }
12
+ exports.AbstractIndexedDbArchivist = AbstractIndexedDbArchivist;
13
+ AbstractIndexedDbArchivist.configSchemas = [exports.AbstractIndexedDbArchivistConfigSchema];
14
+ AbstractIndexedDbArchivist.defaultDbName = 'archivist';
15
+ AbstractIndexedDbArchivist.defaultStoreName = 'payloads';
16
+ //# sourceMappingURL=AbstractIndexedDbArchivist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractIndexedDbArchivist.js","sourceRoot":"","sources":["../../src/AbstractIndexedDbArchivist.ts"],"names":[],"mappings":";;;AAAA,wEAAyE;AACzE,kEAQqC;AAIxB,QAAA,sCAAsC,GAA2C,wCAAwC,CAAA;AAgBtI,MAAsB,0BAGpB,SAAQ,4CAA4C;IAKpD,IAAa,OAAO;QAClB,OAAO,CAAC,yCAAuB,EAAE,2CAAyB,EAAE,4CAA0B,EAAE,4CAA0B,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;IACvI,CAAC;;AAVH,gEAqBC;AAjBiB,wCAAa,GAAG,CAAC,8CAAsC,CAAC,CAAA;AACjE,wCAAa,GAAG,WAAW,CAAA;AAC3B,2CAAgB,GAAG,UAAU,CAAA"}
@@ -1,16 +1,18 @@
1
1
  "use strict";
2
- var IndexedDbArchivist_1;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.IndexedDbArchivist = exports.IndexedDbArchivistConfigSchema = void 0;
5
4
  const tslib_1 = require("tslib");
6
- const assert_1 = require("@xylabs/assert");
7
- const abstract_archivist_1 = require("@xyo-network/abstract-archivist");
5
+ const exists_1 = require("@xylabs/exists");
8
6
  const archivist_model_1 = require("@xyo-network/archivist-model");
9
7
  const core_1 = require("@xyo-network/core");
10
- const module_1 = require("@xyo-network/module");
11
- const idb_keyval_1 = require("idb-keyval");
8
+ const idb_1 = require("idb");
9
+ const AbstractIndexedDbArchivist_1 = require("./AbstractIndexedDbArchivist");
12
10
  exports.IndexedDbArchivistConfigSchema = 'network.xyo.archivist.indexeddb.config';
13
- let IndexedDbArchivist = exports.IndexedDbArchivist = IndexedDbArchivist_1 = class IndexedDbArchivist extends abstract_archivist_1.AbstractDirectArchivist {
11
+ class IndexedDbArchivist extends AbstractIndexedDbArchivist_1.AbstractIndexedDbArchivist {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.db = undefined;
15
+ }
14
16
  /**
15
17
  * The database name. If not supplied via config, it defaults
16
18
  * to the module name (not guaranteed to be unique) and if module
@@ -20,7 +22,7 @@ let IndexedDbArchivist = exports.IndexedDbArchivist = IndexedDbArchivist_1 = cla
20
22
  */
21
23
  get dbName() {
22
24
  var _a, _b, _c, _d;
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;
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;
24
26
  }
25
27
  get queries() {
26
28
  return [archivist_model_1.ArchivistAllQuerySchema, archivist_model_1.ArchivistClearQuerySchema, archivist_model_1.ArchivistDeleteQuerySchema, archivist_model_1.ArchivistInsertQuerySchema, ...super.queries];
@@ -37,10 +39,7 @@ let IndexedDbArchivist = exports.IndexedDbArchivist = IndexedDbArchivist_1 = cla
37
39
  */
38
40
  get storeName() {
39
41
  var _a, _b;
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');
42
+ return ((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.storeName) !== null && _b !== void 0 ? _b : IndexedDbArchivist.defaultStoreName);
44
43
  }
45
44
  start() {
46
45
  const _super = Object.create(null, {
@@ -50,48 +49,54 @@ let IndexedDbArchivist = exports.IndexedDbArchivist = IndexedDbArchivist_1 = cla
50
49
  yield _super.start.call(this);
51
50
  // NOTE: We could defer this creation to first access but we
52
51
  // want to fail fast here in case something is wrong
53
- this._db = (0, idb_keyval_1.createStore)(this.dbName, this.storeName);
52
+ this.db = (0, idb_1.openDB)(this.dbName, IndexedDbArchivist.CurrentSchemaVersion, {
53
+ upgrade: (db) => db.createObjectStore(this.storeName),
54
+ });
54
55
  });
55
56
  }
56
57
  allHandler() {
58
+ var _a, _b;
57
59
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
58
- const result = yield (0, idb_keyval_1.entries)(this.db);
59
- return result.map(([_hash, payload]) => payload);
60
+ return (_b = (yield ((_a = (yield this.db)) === null || _a === void 0 ? void 0 : _a.getAll(this.storeName)))) !== null && _b !== void 0 ? _b : [];
60
61
  });
61
62
  }
62
63
  clearHandler() {
64
+ var _a;
63
65
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
64
- yield (0, idb_keyval_1.clear)(this.db);
66
+ yield ((_a = (yield this.db)) === null || _a === void 0 ? void 0 : _a.clear(this.storeName));
65
67
  });
66
68
  }
67
69
  deleteHandler(hashes) {
68
70
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
69
- yield (0, idb_keyval_1.delMany)(hashes, this.db);
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
+ })));
70
75
  return hashes.map((_) => true);
71
76
  });
72
77
  }
73
78
  getHandler(hashes) {
74
79
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
75
- const result = yield (0, idb_keyval_1.getMany)(hashes, this.db);
76
- return result;
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;
77
85
  });
78
86
  }
79
87
  insertHandler(payloads) {
80
88
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
81
- const entries = yield Promise.all(payloads.map((payload) => 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;
82
91
  const hash = yield core_1.PayloadHasher.hashAsync(payload);
83
- return [hash, payload];
92
+ yield ((_a = (yield this.db)) === null || _a === void 0 ? void 0 : _a.put(this.storeName, payload, hash));
84
93
  })));
85
- yield (0, idb_keyval_1.setMany)(entries, this.db);
86
94
  const [result] = yield this.bindQueryResult({ payloads, schema: archivist_model_1.ArchivistInsertQuerySchema }, payloads);
87
95
  return [result[0]];
88
96
  });
89
97
  }
90
- };
98
+ }
99
+ exports.IndexedDbArchivist = IndexedDbArchivist;
100
+ IndexedDbArchivist.CurrentSchemaVersion = 1;
91
101
  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);
97
102
  //# 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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"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IndexedDbArchivistSimple = exports.IndexedDbArchivistSimpleConfigSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const assert_1 = require("@xylabs/assert");
6
+ const exists_1 = require("@xylabs/exists");
7
+ const archivist_model_1 = require("@xyo-network/archivist-model");
8
+ const core_1 = require("@xyo-network/core");
9
+ const idb_keyval_1 = require("idb-keyval");
10
+ const AbstractIndexedDbArchivist_1 = require("./AbstractIndexedDbArchivist");
11
+ exports.IndexedDbArchivistSimpleConfigSchema = 'network.xyo.archivist.indexeddb.config';
12
+ class IndexedDbArchivistSimple extends AbstractIndexedDbArchivist_1.AbstractIndexedDbArchivist {
13
+ /**
14
+ * The database name. If not supplied via config, it defaults
15
+ * to the module name (not guaranteed to be unique) and if module
16
+ * name is not supplied, it defaults to `archivist`. This behavior
17
+ * biases towards a single, isolated DB per archivist which seems to
18
+ * make the most sense for 99% of use cases.
19
+ */
20
+ get dbName() {
21
+ var _a, _b, _c, _d;
22
+ 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 : IndexedDbArchivistSimple.defaultDbName;
23
+ }
24
+ get queries() {
25
+ return [archivist_model_1.ArchivistAllQuerySchema, archivist_model_1.ArchivistClearQuerySchema, archivist_model_1.ArchivistDeleteQuerySchema, archivist_model_1.ArchivistInsertQuerySchema, ...super.queries];
26
+ }
27
+ /**
28
+ * The name of the object store. If not supplied via config, it defaults
29
+ * to `payloads`. The limitation of the current IndexedDB wrapper we're
30
+ * using is that it only supports a single object store per DB. See here:
31
+ * https://github.com/jakearchibald/idb-keyval/blob/main/custom-stores.md#defining-a-custom-database--store-name
32
+ * If this becomes a problem or we need migrations/transactions, we can
33
+ * move to this more-flexible library, which they recommend (and who
34
+ * recommends them for our simple use case of key-value storage):
35
+ * https://www.npmjs.com/package/idb
36
+ */
37
+ get storeName() {
38
+ var _a, _b;
39
+ return (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.storeName) !== null && _b !== void 0 ? _b : IndexedDbArchivistSimple.defaultStoreName;
40
+ }
41
+ get db() {
42
+ return (0, assert_1.assertEx)(this._db, 'DB not initialized');
43
+ }
44
+ start() {
45
+ const _super = Object.create(null, {
46
+ start: { get: () => super.start }
47
+ });
48
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
49
+ yield _super.start.call(this);
50
+ // NOTE: We could defer this creation to first access but we
51
+ // want to fail fast here in case something is wrong
52
+ this._db = (0, idb_keyval_1.createStore)(this.dbName, this.storeName);
53
+ });
54
+ }
55
+ allHandler() {
56
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
57
+ const result = yield (0, idb_keyval_1.entries)(this.db);
58
+ return result.map(([_hash, payload]) => payload);
59
+ });
60
+ }
61
+ clearHandler() {
62
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
63
+ yield (0, idb_keyval_1.clear)(this.db);
64
+ });
65
+ }
66
+ deleteHandler(hashes) {
67
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
68
+ yield (0, idb_keyval_1.delMany)(hashes, this.db);
69
+ return hashes.map((_) => true);
70
+ });
71
+ }
72
+ getHandler(hashes) {
73
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
74
+ const result = yield (0, idb_keyval_1.getMany)(hashes, this.db);
75
+ return result.filter(exists_1.exists);
76
+ });
77
+ }
78
+ insertHandler(payloads) {
79
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
80
+ const entries = yield Promise.all(payloads.map((payload) => tslib_1.__awaiter(this, void 0, void 0, function* () {
81
+ const hash = yield core_1.PayloadHasher.hashAsync(payload);
82
+ return [hash, payload];
83
+ })));
84
+ yield (0, idb_keyval_1.setMany)(entries, this.db);
85
+ const [result] = yield this.bindQueryResult({ payloads, schema: archivist_model_1.ArchivistInsertQuerySchema }, payloads);
86
+ return [result[0]];
87
+ });
88
+ }
89
+ }
90
+ exports.IndexedDbArchivistSimple = IndexedDbArchivistSimple;
91
+ IndexedDbArchivistSimple.configSchemas = [exports.IndexedDbArchivistSimpleConfigSchema];
92
+ //# sourceMappingURL=IndexedDbArchivistSimple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndexedDbArchivistSimple.js","sourceRoot":"","sources":["../../src/IndexedDbArchivistSimple.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AACzC,2CAAuC;AACvC,kEAQqC;AAErC,4CAAiD;AAGjD,2CAA6F;AAE7F,6EAAyE;AAG5D,QAAA,oCAAoC,GAAyC,wCAAwC,CAAA;AAgBlI,MAAa,wBAGX,SAAQ,uDAA+C;IAKvD;;;;;;OAMG;IACH,IAAI,MAAM;;QACR,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,mCAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,mCAAI,wBAAwB,CAAC,aAAa,CAAA;IAC3F,CAAC;IAED,IAAa,OAAO;QAClB,OAAO,CAAC,yCAAuB,EAAE,2CAAyB,EAAE,4CAA0B,EAAE,4CAA0B,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;IACvI,CAAC;IACD;;;;;;;;;OASG;IACH,IAAI,SAAS;;QACX,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,mCAAI,wBAAwB,CAAC,gBAAgB,CAAA;IAC5E,CAAC;IAED,IAAY,EAAE;QACZ,OAAO,IAAA,iBAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAA;IACjD,CAAC;IAEc,KAAK;;;;;YAClB,MAAM,OAAM,KAAK,WAAE,CAAA;YACnB,4DAA4D;YAC5D,oDAAoD;YACpD,IAAI,CAAC,GAAG,GAAG,IAAA,wBAAW,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACrD,CAAC;KAAA;IAEwB,UAAU;;YACjC,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAO,EAAkB,IAAI,CAAC,EAAE,CAAC,CAAA;YACtD,OAAO,MAAM,CAAC,GAAG,CAAU,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEwB,YAAY;;YACnC,MAAM,IAAA,kBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtB,CAAC;KAAA;IAEwB,aAAa,CAAC,MAAgB;;YACrD,MAAM,IAAA,oBAAO,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;YAC9B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;KAAA;IAEwB,UAAU,CAAC,MAAgB;;YAClD,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAO,EAAU,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;YACtD,OAAO,MAAM,CAAC,MAAM,CAAC,eAAM,CAAC,CAAA;QAC9B,CAAC;KAAA;IAEe,aAAa,CAAC,QAAmB;;YAC/C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAA6B,CAAO,OAAO,EAAE,EAAE;gBACzD,MAAM,IAAI,GAAG,MAAM,oBAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;gBACnD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACxB,CAAC,CAAA,CAAC,CACH,CAAA;YACD,MAAM,IAAA,oBAAO,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;YAC/B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,4CAA0B,EAAE,EAAE,QAAQ,CAAC,CAAA;YACvG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACpB,CAAC;KAAA;;AA5EH,4DA6EC;AAzEiB,sCAAa,GAAG,CAAC,4CAAoC,CAAC,CAAA"}
package/dist/cjs/index.js CHANGED
@@ -2,4 +2,5 @@
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);
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,+DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,+DAAoC;AACpC,qEAA0C"}