@xyo-network/archivist-indexeddb 2.64.10 → 2.65.1
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/dist/cjs/IndexedDbArchivist.js +38 -28
- package/dist/cjs/IndexedDbArchivist.js.map +1 -1
- package/dist/docs.json +3061 -2039
- package/dist/esm/IndexedDbArchivist.js +36 -26
- package/dist/esm/IndexedDbArchivist.js.map +1 -1
- package/dist/types/IndexedDbArchivist.d.ts +7 -7
- package/dist/types/IndexedDbArchivist.d.ts.map +1 -1
- package/package.json +13 -13
- package/src/IndexedDbArchivist.ts +38 -28
- package/src/spec/testArchivist.ts +3 -3
|
@@ -10,7 +10,7 @@ const core_1 = require("@xyo-network/core");
|
|
|
10
10
|
const module_1 = require("@xyo-network/module");
|
|
11
11
|
const idb_keyval_1 = require("idb-keyval");
|
|
12
12
|
exports.IndexedDbArchivistConfigSchema = 'network.xyo.archivist.indexeddb.config';
|
|
13
|
-
let IndexedDbArchivist = exports.IndexedDbArchivist = IndexedDbArchivist_1 = class IndexedDbArchivist extends abstract_archivist_1.
|
|
13
|
+
let IndexedDbArchivist = exports.IndexedDbArchivist = IndexedDbArchivist_1 = class IndexedDbArchivist extends abstract_archivist_1.AbstractDirectArchivist {
|
|
14
14
|
/**
|
|
15
15
|
* The database name. If not supplied via config, it defaults
|
|
16
16
|
* to the module name (not guaranteed to be unique) and if module
|
|
@@ -42,49 +42,59 @@ let IndexedDbArchivist = exports.IndexedDbArchivist = IndexedDbArchivist_1 = cla
|
|
|
42
42
|
get db() {
|
|
43
43
|
return (0, assert_1.assertEx)(this._db, 'DB not initialized');
|
|
44
44
|
}
|
|
45
|
-
|
|
45
|
+
start() {
|
|
46
|
+
const _super = Object.create(null, {
|
|
47
|
+
start: { get: () => super.start }
|
|
48
|
+
});
|
|
46
49
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
|
|
48
|
-
|
|
50
|
+
yield _super.start.call(this);
|
|
51
|
+
// NOTE: We could defer this creation to first access but we
|
|
52
|
+
// want to fail fast here in case something is wrong
|
|
53
|
+
this._db = (0, idb_keyval_1.createStore)(this.dbName, this.storeName);
|
|
49
54
|
});
|
|
50
55
|
}
|
|
51
|
-
|
|
56
|
+
allHandler() {
|
|
52
57
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
53
|
-
yield (0,
|
|
58
|
+
return yield this.busy(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const result = yield (0, idb_keyval_1.entries)(this.db);
|
|
60
|
+
return result.map(([_hash, payload]) => payload);
|
|
61
|
+
}));
|
|
54
62
|
});
|
|
55
63
|
}
|
|
56
|
-
|
|
64
|
+
clearHandler() {
|
|
57
65
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
yield (
|
|
59
|
-
|
|
66
|
+
return yield this.busy(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
yield (0, idb_keyval_1.clear)(this.db);
|
|
68
|
+
}));
|
|
60
69
|
});
|
|
61
70
|
}
|
|
62
|
-
|
|
71
|
+
deleteHandler(hashes) {
|
|
63
72
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
|
|
65
|
-
|
|
73
|
+
return yield this.busy(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
yield (0, idb_keyval_1.delMany)(hashes, this.db);
|
|
75
|
+
return hashes.map((_) => true);
|
|
76
|
+
}));
|
|
66
77
|
});
|
|
67
78
|
}
|
|
68
|
-
|
|
79
|
+
getHandler(hashes) {
|
|
69
80
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
|
|
71
|
-
const
|
|
72
|
-
return
|
|
73
|
-
}))
|
|
74
|
-
yield (0, idb_keyval_1.setMany)(entries, this.db);
|
|
75
|
-
const [result] = yield this.bindQueryResult({ payloads, schema: archivist_model_1.ArchivistInsertQuerySchema }, payloads);
|
|
76
|
-
return [result[0]];
|
|
81
|
+
return yield this.busy(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
const result = yield (0, idb_keyval_1.getMany)(hashes, this.db);
|
|
83
|
+
return result;
|
|
84
|
+
}));
|
|
77
85
|
});
|
|
78
86
|
}
|
|
79
|
-
|
|
80
|
-
const _super = Object.create(null, {
|
|
81
|
-
start: { get: () => super.start }
|
|
82
|
-
});
|
|
87
|
+
insertHandler(payloads) {
|
|
83
88
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
84
|
-
yield
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
89
|
+
return yield this.busy(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
const entries = yield Promise.all(payloads.map((payload) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
const hash = yield core_1.PayloadHasher.hashAsync(payload);
|
|
92
|
+
return [hash, payload];
|
|
93
|
+
})));
|
|
94
|
+
yield (0, idb_keyval_1.setMany)(entries, this.db);
|
|
95
|
+
const [result] = yield this.bindQueryResult({ payloads, schema: archivist_model_1.ArchivistInsertQuerySchema }, payloads);
|
|
96
|
+
return [result[0]];
|
|
97
|
+
}));
|
|
88
98
|
});
|
|
89
99
|
}
|
|
90
100
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexedDbArchivist.js","sourceRoot":"","sources":["../../src/IndexedDbArchivist.ts"],"names":[],"mappings":";;;;;AAAA,2CAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"IndexedDbArchivist.js","sourceRoot":"","sources":["../../src/IndexedDbArchivist.ts"],"names":[],"mappings":";;;;;AAAA,2CAAyC;AACzC,wEAAyE;AACzE,kEAQqC;AAErC,4CAAiD;AACjD,gDAAsE;AAEtE,2CAA6F;AAGhF,QAAA,8BAA8B,GAAmC,wCAAwC,CAAA;AAiB/G,IAAM,kBAAkB,uDAAxB,MAAM,kBAGX,SAAQ,4CAA4C;IAOpD;;;;;;OAMG;IACH,IAAI,MAAM;;QACR,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,mCAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,mCAAI,oBAAkB,CAAC,aAAa,CAAA;IACrF,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,oBAAkB,CAAC,gBAAgB,CAAA;IACtE,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,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAS,EAAE;gBAChC,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAO,EAAkB,IAAI,CAAC,EAAE,CAAC,CAAA;gBACtD,OAAO,MAAM,CAAC,GAAG,CAAU,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;YAC3D,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;IAEwB,YAAY;;YACnC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAS,EAAE;gBAChC,MAAM,IAAA,kBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACtB,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;IAEwB,aAAa,CAAC,MAAgB;;YACrD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAS,EAAE;gBAChC,MAAM,IAAA,oBAAO,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC9B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;YAChC,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;IAEwB,UAAU,CAAC,MAAgB;;YAClD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAS,EAAE;gBAChC,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAO,EAAU,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;gBACtD,OAAO,MAAM,CAAA;YACf,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;IAEe,aAAa,CAAC,QAAmB;;YAC/C,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAS,EAAE;gBAChC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAA6B,CAAO,OAAO,EAAE,EAAE;oBACzD,MAAM,IAAI,GAAG,MAAM,oBAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;oBACnD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBACxB,CAAC,CAAA,CAAC,CACH,CAAA;gBACD,MAAM,IAAA,oBAAO,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,4CAA0B,EAAE,EAAE,QAAQ,CAAC,CAAA;gBACvG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YACpB,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;;AApFe,gCAAa,GAAG,CAAC,sCAA8B,CAAC,AAAnC,CAAmC;AACzD,gCAAa,GAAG,WAAW,AAAd,CAAc;AAC3B,mCAAgB,GAAG,UAAU,AAAb,CAAa;6BANzB,kBAAkB;IAD9B,IAAA,wBAAe,GAAE;GACL,kBAAkB,CAyF9B"}
|