@aztec/kv-store 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.75.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/dest/config.d.ts +17 -0
- package/dest/config.d.ts.map +1 -0
- package/dest/config.js +7 -5
- package/dest/indexeddb/array.d.ts +21 -0
- package/dest/indexeddb/array.d.ts.map +1 -0
- package/dest/indexeddb/array.js +36 -44
- package/dest/indexeddb/index.d.ts +7 -0
- package/dest/indexeddb/index.d.ts.map +1 -0
- package/dest/indexeddb/index.js +4 -1
- package/dest/indexeddb/map.d.ts +26 -0
- package/dest/indexeddb/map.d.ts.map +1 -0
- package/dest/indexeddb/map.js +43 -72
- package/dest/indexeddb/set.d.ts +17 -0
- package/dest/indexeddb/set.d.ts.map +1 -0
- package/dest/indexeddb/set.js +4 -3
- package/dest/indexeddb/singleton.d.ts +16 -0
- package/dest/indexeddb/singleton.d.ts.map +1 -0
- package/dest/indexeddb/singleton.js +22 -17
- package/dest/indexeddb/store.d.ts +97 -0
- package/dest/indexeddb/store.d.ts.map +1 -0
- package/dest/indexeddb/store.js +93 -97
- package/dest/interfaces/array.d.ts +80 -0
- package/dest/interfaces/array.d.ts.map +1 -0
- package/dest/interfaces/array.js +2 -3
- package/dest/interfaces/array_test_suite.d.ts +3 -0
- package/dest/interfaces/array_test_suite.d.ts.map +1 -0
- package/dest/interfaces/array_test_suite.js +25 -29
- package/dest/interfaces/common.d.ts +23 -0
- package/dest/interfaces/common.d.ts.map +1 -0
- package/dest/interfaces/common.js +2 -3
- package/dest/interfaces/counter.d.ts +59 -0
- package/dest/interfaces/counter.d.ts.map +1 -0
- package/dest/interfaces/counter.js +2 -1
- package/dest/interfaces/index.d.ts +8 -0
- package/dest/interfaces/index.d.ts.map +1 -0
- package/dest/interfaces/index.js +1 -0
- package/dest/interfaces/map.d.ts +134 -0
- package/dest/interfaces/map.d.ts.map +1 -0
- package/dest/interfaces/map.js +2 -3
- package/dest/interfaces/map_test_suite.d.ts +3 -0
- package/dest/interfaces/map_test_suite.d.ts.map +1 -0
- package/dest/interfaces/map_test_suite.js +42 -87
- package/dest/interfaces/set.d.ts +44 -0
- package/dest/interfaces/set.d.ts.map +1 -0
- package/dest/interfaces/set.js +2 -1
- package/dest/interfaces/set_test_suite.d.ts +3 -0
- package/dest/interfaces/set_test_suite.d.ts.map +1 -0
- package/dest/interfaces/set_test_suite.js +22 -59
- package/dest/interfaces/singleton.d.ts +29 -0
- package/dest/interfaces/singleton.d.ts.map +1 -0
- package/dest/interfaces/singleton.js +2 -4
- package/dest/interfaces/singleton_test_suite.d.ts +3 -0
- package/dest/interfaces/singleton_test_suite.d.ts.map +1 -0
- package/dest/interfaces/singleton_test_suite.js +10 -7
- package/dest/interfaces/store.d.ts +145 -0
- package/dest/interfaces/store.d.ts.map +1 -0
- package/dest/interfaces/store.js +2 -1
- package/dest/interfaces/store_test_suite.d.ts +3 -0
- package/dest/interfaces/store_test_suite.d.ts.map +1 -0
- package/dest/interfaces/store_test_suite.js +9 -6
- package/dest/interfaces/utils.d.ts +16 -0
- package/dest/interfaces/utils.d.ts.map +1 -0
- package/dest/interfaces/utils.js +15 -12
- package/dest/lmdb/array.d.ts +23 -0
- package/dest/lmdb/array.d.ts.map +1 -0
- package/dest/lmdb/array.js +41 -46
- package/dest/lmdb/counter.d.ts +19 -0
- package/dest/lmdb/counter.d.ts.map +1 -0
- package/dest/lmdb/counter.js +24 -18
- package/dest/lmdb/index.d.ts +12 -0
- package/dest/lmdb/index.d.ts.map +1 -0
- package/dest/lmdb/index.js +6 -2
- package/dest/lmdb/map.d.ts +52 -0
- package/dest/lmdb/map.d.ts.map +1 -0
- package/dest/lmdb/map.js +68 -90
- package/dest/lmdb/set.d.ts +18 -0
- package/dest/lmdb/set.d.ts.map +1 -0
- package/dest/lmdb/set.js +5 -4
- package/dest/lmdb/singleton.d.ts +14 -0
- package/dest/lmdb/singleton.d.ts.map +1 -0
- package/dest/lmdb/singleton.js +14 -13
- package/dest/lmdb/store.d.ts +110 -0
- package/dest/lmdb/store.d.ts.map +1 -0
- package/dest/lmdb/store.js +134 -124
- package/dest/lmdb-v2/factory.d.ts +9 -0
- package/dest/lmdb-v2/factory.d.ts.map +1 -0
- package/dest/lmdb-v2/factory.js +19 -22
- package/dest/lmdb-v2/index.d.ts +3 -0
- package/dest/lmdb-v2/index.d.ts.map +1 -0
- package/dest/lmdb-v2/index.js +1 -0
- package/dest/lmdb-v2/map.d.ts +86 -0
- package/dest/lmdb-v2/map.d.ts.map +1 -0
- package/dest/lmdb-v2/map.js +85 -82
- package/dest/lmdb-v2/message.d.ts +112 -0
- package/dest/lmdb-v2/message.d.ts.map +1 -0
- package/dest/lmdb-v2/message.js +7 -6
- package/dest/lmdb-v2/read_transaction.d.ts +14 -0
- package/dest/lmdb-v2/read_transaction.d.ts.map +1 -0
- package/dest/lmdb-v2/read_transaction.js +53 -65
- package/dest/lmdb-v2/singleton.d.ts +12 -0
- package/dest/lmdb-v2/singleton.d.ts.map +1 -0
- package/dest/lmdb-v2/singleton.js +5 -7
- package/dest/lmdb-v2/store.d.ts +43 -0
- package/dest/lmdb-v2/store.d.ts.map +1 -0
- package/dest/lmdb-v2/store.js +26 -27
- package/dest/lmdb-v2/utils.d.ts +19 -0
- package/dest/lmdb-v2/utils.d.ts.map +1 -0
- package/dest/lmdb-v2/utils.js +30 -30
- package/dest/lmdb-v2/write_transaction.d.ts +19 -0
- package/dest/lmdb-v2/write_transaction.d.ts.map +1 -0
- package/dest/lmdb-v2/write_transaction.js +110 -130
- package/dest/stores/index.d.ts +2 -0
- package/dest/stores/index.d.ts.map +1 -0
- package/dest/stores/index.js +1 -0
- package/dest/stores/l2_tips_store.d.ts +13 -0
- package/dest/stores/l2_tips_store.d.ts.map +1 -0
- package/dest/stores/l2_tips_store.js +12 -26
- package/dest/utils.d.ts +12 -0
- package/dest/utils.d.ts.map +1 -0
- package/dest/utils.js +7 -3
- package/package.json +6 -6
- package/src/interfaces/index.ts +1 -1
package/dest/lmdb/counter.js
CHANGED
|
@@ -1,50 +1,56 @@
|
|
|
1
|
+
var _LmdbAztecCounter_db, _LmdbAztecCounter_name, _LmdbAztecCounter_map;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
import { LmdbAztecMap } from './map.js';
|
|
2
4
|
/**
|
|
3
5
|
* A counter implementation backed by LMDB
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
this
|
|
10
|
-
this
|
|
11
|
-
this
|
|
6
|
+
*/
|
|
7
|
+
export class LmdbAztecCounter {
|
|
8
|
+
constructor(db, name) {
|
|
9
|
+
_LmdbAztecCounter_db.set(this, void 0);
|
|
10
|
+
_LmdbAztecCounter_name.set(this, void 0);
|
|
11
|
+
_LmdbAztecCounter_map.set(this, void 0);
|
|
12
|
+
__classPrivateFieldSet(this, _LmdbAztecCounter_db, db, "f");
|
|
13
|
+
__classPrivateFieldSet(this, _LmdbAztecCounter_name, name, "f");
|
|
14
|
+
__classPrivateFieldSet(this, _LmdbAztecCounter_map, new LmdbAztecMap(db, name), "f");
|
|
12
15
|
}
|
|
13
16
|
async set(key, value) {
|
|
14
|
-
await this
|
|
17
|
+
await __classPrivateFieldGet(this, _LmdbAztecCounter_map, "f").set(key, value);
|
|
15
18
|
}
|
|
16
19
|
update(key, delta = 1) {
|
|
17
|
-
return this
|
|
18
|
-
const current = this
|
|
20
|
+
return __classPrivateFieldGet(this, _LmdbAztecCounter_db, "f").childTransaction(() => {
|
|
21
|
+
const current = __classPrivateFieldGet(this, _LmdbAztecCounter_map, "f").get(key) ?? 0;
|
|
19
22
|
const next = current + delta;
|
|
20
23
|
if (next < 0) {
|
|
21
|
-
throw new Error(`Cannot update ${key} in counter ${this
|
|
24
|
+
throw new Error(`Cannot update ${key} in counter ${__classPrivateFieldGet(this, _LmdbAztecCounter_name, "f")} below zero`);
|
|
22
25
|
}
|
|
23
26
|
if (next === 0) {
|
|
24
|
-
void this
|
|
25
|
-
}
|
|
27
|
+
void __classPrivateFieldGet(this, _LmdbAztecCounter_map, "f").delete(key);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
26
30
|
// store the key inside the entry because LMDB might return an internal representation
|
|
27
31
|
// of the key when iterating over the database
|
|
28
|
-
void this
|
|
32
|
+
void __classPrivateFieldGet(this, _LmdbAztecCounter_map, "f").set(key, next);
|
|
29
33
|
}
|
|
30
34
|
});
|
|
31
35
|
}
|
|
32
36
|
get(key) {
|
|
33
|
-
return this
|
|
37
|
+
return __classPrivateFieldGet(this, _LmdbAztecCounter_map, "f").get(key) ?? 0;
|
|
34
38
|
}
|
|
35
39
|
getAsync(key) {
|
|
36
40
|
return Promise.resolve(this.get(key));
|
|
37
41
|
}
|
|
38
42
|
entries(range = {}) {
|
|
39
|
-
return this
|
|
43
|
+
return __classPrivateFieldGet(this, _LmdbAztecCounter_map, "f").entries(range);
|
|
40
44
|
}
|
|
41
45
|
async *entriesAsync(range = {}) {
|
|
42
46
|
yield* this.entries(range);
|
|
43
47
|
}
|
|
44
48
|
keys(range = {}) {
|
|
45
|
-
return this
|
|
49
|
+
return __classPrivateFieldGet(this, _LmdbAztecCounter_map, "f").keys(range);
|
|
46
50
|
}
|
|
47
51
|
async *keysAsync(range = {}) {
|
|
48
52
|
yield* this.keys(range);
|
|
49
53
|
}
|
|
50
54
|
}
|
|
55
|
+
_LmdbAztecCounter_db = new WeakMap(), _LmdbAztecCounter_name = new WeakMap(), _LmdbAztecCounter_map = new WeakMap();
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sbWRiL2NvdW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUszQixZQUFZLEVBQThCLEVBQUUsSUFBWTtRQUp4RCx1Q0FBYztRQUNkLHlDQUFjO1FBQ2Qsd0NBQThCO1FBRzVCLHVCQUFBLElBQUksd0JBQU8sRUFBRSxNQUFBLENBQUM7UUFDZCx1QkFBQSxJQUFJLDBCQUFTLElBQUksTUFBQSxDQUFDO1FBQ2xCLHVCQUFBLElBQUkseUJBQVEsSUFBSSxZQUFZLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFBLENBQUM7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBTSxFQUFFLEtBQWE7UUFDN0IsTUFBTSx1QkFBQSxJQUFJLDZCQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQU0sRUFBRSxLQUFLLEdBQUcsQ0FBQztRQUN0QixPQUFPLHVCQUFBLElBQUksNEJBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsTUFBTSxPQUFPLEdBQUcsdUJBQUEsSUFBSSw2QkFBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUU3QixJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDYixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixHQUFHLGVBQWUsdUJBQUEsSUFBSSw4QkFBTSxhQUFhLENBQUMsQ0FBQztZQUM5RSxDQUFDO1lBRUQsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsS0FBSyx1QkFBQSxJQUFJLDZCQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixzRkFBc0Y7Z0JBQ3RGLDhDQUE4QztnQkFDOUMsS0FBSyx1QkFBQSxJQUFJLDZCQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQU07UUFDUixPQUFPLHVCQUFBLElBQUksNkJBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBTTtRQUNiLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFrQixFQUFFO1FBQzFCLE9BQU8sdUJBQUEsSUFBSSw2QkFBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQWtCLEVBQUU7UUFDdEMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQWtCLEVBQUU7UUFDdkIsT0FBTyx1QkFBQSxJQUFJLDZCQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBa0IsRUFBRTtRQUNuQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Logger } from '@aztec/foundation/log';
|
|
2
|
+
import { type DataStoreConfig } from '../config.js';
|
|
3
|
+
import { AztecLmdbStore } from './store.js';
|
|
4
|
+
export { AztecLmdbStore } from './store.js';
|
|
5
|
+
export declare function createStore(name: string, config: DataStoreConfig, log?: Logger): AztecLmdbStore | Promise<AztecLmdbStore>;
|
|
6
|
+
/**
|
|
7
|
+
* Opens a temporary store for testing purposes.
|
|
8
|
+
* @param ephemeral - true if the store should only exist in memory and not automatically be flushed to disk. Optional
|
|
9
|
+
* @returns A new store
|
|
10
|
+
*/
|
|
11
|
+
export declare function openTmpStore(ephemeral?: boolean): AztecLmdbStore;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lmdb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,GAAE,MAAiC,4CAiBxG;AACD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,GAAE,OAAe,GAAG,cAAc,CAGvE"}
|
package/dest/lmdb/index.js
CHANGED
|
@@ -8,7 +8,9 @@ export function createStore(name, config, log = createLogger('kv-store')) {
|
|
|
8
8
|
if (typeof dataDirectory !== 'undefined') {
|
|
9
9
|
dataDirectory = join(dataDirectory, name);
|
|
10
10
|
}
|
|
11
|
-
log.info(dataDirectory
|
|
11
|
+
log.info(dataDirectory
|
|
12
|
+
? `Creating ${name} data store at directory ${dataDirectory} with map size ${config.dataStoreMapSizeKB} KB`
|
|
13
|
+
: `Creating ${name} ephemeral data store with map size ${config.dataStoreMapSizeKB} KB`);
|
|
12
14
|
const store = AztecLmdbStore.open(dataDirectory, config.dataStoreMapSizeKB, false);
|
|
13
15
|
if (config.l1Contracts?.rollupAddress) {
|
|
14
16
|
return initStoreForRollup(store, config.l1Contracts.rollupAddress, log);
|
|
@@ -19,7 +21,9 @@ export function createStore(name, config, log = createLogger('kv-store')) {
|
|
|
19
21
|
* Opens a temporary store for testing purposes.
|
|
20
22
|
* @param ephemeral - true if the store should only exist in memory and not automatically be flushed to disk. Optional
|
|
21
23
|
* @returns A new store
|
|
22
|
-
*/
|
|
24
|
+
*/
|
|
25
|
+
export function openTmpStore(ephemeral = false) {
|
|
23
26
|
const mapSize = 1024 * 1024 * 10; // 10 GB map size
|
|
24
27
|
return AztecLmdbStore.open(undefined, mapSize, ephemeral);
|
|
25
28
|
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc1QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTVDLE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWSxFQUFFLE1BQXVCLEVBQUUsTUFBYyxZQUFZLENBQUMsVUFBVSxDQUFDO0lBQ3ZHLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDL0IsSUFBSSxPQUFPLGFBQWEsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FDTixhQUFhO1FBQ1gsQ0FBQyxDQUFDLFlBQVksSUFBSSw0QkFBNEIsYUFBYSxrQkFBa0IsTUFBTSxDQUFDLGtCQUFrQixLQUFLO1FBQzNHLENBQUMsQ0FBQyxZQUFZLElBQUksdUNBQXVDLE1BQU0sQ0FBQyxrQkFBa0IsS0FBSyxDQUMxRixDQUFDO0lBRUYsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25GLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQztRQUN0QyxPQUFPLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBQ0Q7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsWUFBcUIsS0FBSztJQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQjtJQUNuRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM1RCxDQUFDIn0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
import { type Database } from 'lmdb';
|
|
4
|
+
import { type Key, type Range } from '../interfaces/common.js';
|
|
5
|
+
import { type AztecAsyncMultiMap, type AztecMapWithSize, type AztecMultiMap } from '../interfaces/map.js';
|
|
6
|
+
/** The slot where a key-value entry would be stored */
|
|
7
|
+
type MapValueSlot<K extends Key | Buffer> = ['map', string, 'slot', K];
|
|
8
|
+
/**
|
|
9
|
+
* A map backed by LMDB.
|
|
10
|
+
*/
|
|
11
|
+
export declare class LmdbAztecMap<K extends Key, V> implements AztecMultiMap<K, V>, AztecAsyncMultiMap<K, V> {
|
|
12
|
+
protected db: Database<[K, V], MapValueSlot<K>>;
|
|
13
|
+
protected name: string;
|
|
14
|
+
protected startSentinel: MapValueSlot<Buffer>;
|
|
15
|
+
protected endSentinel: MapValueSlot<Buffer>;
|
|
16
|
+
constructor(rootDb: Database, mapName: string);
|
|
17
|
+
close(): Promise<void>;
|
|
18
|
+
get(key: K): V | undefined;
|
|
19
|
+
getAsync(key: K): Promise<V | undefined>;
|
|
20
|
+
getValues(key: K): IterableIterator<V>;
|
|
21
|
+
getValuesAsync(key: K): AsyncIterableIterator<V>;
|
|
22
|
+
has(key: K): boolean;
|
|
23
|
+
hasAsync(key: K): Promise<boolean>;
|
|
24
|
+
set(key: K, val: V): Promise<void>;
|
|
25
|
+
swap(key: K, fn: (val: V | undefined) => V): Promise<void>;
|
|
26
|
+
setIfNotExists(key: K, val: V): Promise<boolean>;
|
|
27
|
+
delete(key: K): Promise<void>;
|
|
28
|
+
deleteValue(key: K, val: V): Promise<void>;
|
|
29
|
+
entries(range?: Range<K>): IterableIterator<[K, V]>;
|
|
30
|
+
entriesAsync(range?: Range<K> | undefined): AsyncIterableIterator<[K, V]>;
|
|
31
|
+
values(range?: Range<K>): IterableIterator<V>;
|
|
32
|
+
valuesAsync(range?: Range<K>): AsyncIterableIterator<V>;
|
|
33
|
+
keys(range?: Range<K>): IterableIterator<K>;
|
|
34
|
+
keysAsync(range?: Range<K>): AsyncIterableIterator<K>;
|
|
35
|
+
protected slot(key: K): MapValueSlot<K>;
|
|
36
|
+
clear(): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
export declare class LmdbAztecMapWithSize<K extends Key, V> extends LmdbAztecMap<K, V> implements AztecMapWithSize<K, V>, AztecAsyncMultiMap<K, V> {
|
|
39
|
+
#private;
|
|
40
|
+
constructor(rootDb: Database, mapName: string);
|
|
41
|
+
set(key: K, val: V): Promise<void>;
|
|
42
|
+
delete(key: K): Promise<void>;
|
|
43
|
+
deleteValue(key: K, val: V): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Gets the size of the map by counting entries.
|
|
46
|
+
* @returns The number of entries in the map
|
|
47
|
+
*/
|
|
48
|
+
size(): number;
|
|
49
|
+
clearCache(): void;
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/lmdb/map.ts"],"names":[],"mappings":"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"}
|
package/dest/lmdb/map.js
CHANGED
|
@@ -1,30 +1,17 @@
|
|
|
1
|
+
var _LmdbAztecMapWithSize_sizeCache;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
/**
|
|
2
4
|
* A map backed by LMDB.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
startSentinel;
|
|
7
|
-
endSentinel;
|
|
8
|
-
constructor(rootDb, mapName){
|
|
5
|
+
*/
|
|
6
|
+
export class LmdbAztecMap {
|
|
7
|
+
constructor(rootDb, mapName) {
|
|
9
8
|
this.name = mapName;
|
|
10
9
|
this.db = rootDb;
|
|
11
10
|
// sentinels are used to define the start and end of the map
|
|
12
11
|
// with LMDB's key encoding, no _primitive value_ can be "less than" an empty buffer or greater than Byte 255
|
|
13
12
|
// these will be used later to answer range queries
|
|
14
|
-
this.startSentinel = [
|
|
15
|
-
|
|
16
|
-
this.name,
|
|
17
|
-
'slot',
|
|
18
|
-
Buffer.from([])
|
|
19
|
-
];
|
|
20
|
-
this.endSentinel = [
|
|
21
|
-
'map',
|
|
22
|
-
this.name,
|
|
23
|
-
'slot',
|
|
24
|
-
Buffer.from([
|
|
25
|
-
255
|
|
26
|
-
])
|
|
27
|
-
];
|
|
13
|
+
this.startSentinel = ['map', this.name, 'slot', Buffer.from([])];
|
|
14
|
+
this.endSentinel = ['map', this.name, 'slot', Buffer.from([255])];
|
|
28
15
|
}
|
|
29
16
|
close() {
|
|
30
17
|
return this.db.close();
|
|
@@ -39,17 +26,18 @@
|
|
|
39
26
|
const transaction = this.db.useReadTransaction();
|
|
40
27
|
try {
|
|
41
28
|
const values = this.db.getValues(this.slot(key), {
|
|
42
|
-
transaction
|
|
29
|
+
transaction,
|
|
43
30
|
});
|
|
44
|
-
for (const value of values){
|
|
31
|
+
for (const value of values) {
|
|
45
32
|
yield value?.[1];
|
|
46
33
|
}
|
|
47
|
-
}
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
48
36
|
transaction.done();
|
|
49
37
|
}
|
|
50
38
|
}
|
|
51
39
|
async *getValuesAsync(key) {
|
|
52
|
-
for (const value of this.getValues(key)){
|
|
40
|
+
for (const value of this.getValues(key)) {
|
|
53
41
|
yield value;
|
|
54
42
|
}
|
|
55
43
|
}
|
|
@@ -60,38 +48,26 @@
|
|
|
60
48
|
return Promise.resolve(this.has(key));
|
|
61
49
|
}
|
|
62
50
|
async set(key, val) {
|
|
63
|
-
await this.db.put(this.slot(key), [
|
|
64
|
-
key,
|
|
65
|
-
val
|
|
66
|
-
]);
|
|
51
|
+
await this.db.put(this.slot(key), [key, val]);
|
|
67
52
|
}
|
|
68
53
|
swap(key, fn) {
|
|
69
|
-
return this.db.childTransaction(()=>{
|
|
54
|
+
return this.db.childTransaction(() => {
|
|
70
55
|
const slot = this.slot(key);
|
|
71
56
|
const entry = this.db.get(slot);
|
|
72
|
-
void this.db.put(slot, [
|
|
73
|
-
key,
|
|
74
|
-
fn(entry?.[1])
|
|
75
|
-
]);
|
|
57
|
+
void this.db.put(slot, [key, fn(entry?.[1])]);
|
|
76
58
|
});
|
|
77
59
|
}
|
|
78
60
|
setIfNotExists(key, val) {
|
|
79
61
|
const slot = this.slot(key);
|
|
80
|
-
return this.db.ifNoExists(slot, ()=>{
|
|
81
|
-
void this.db.put(slot, [
|
|
82
|
-
key,
|
|
83
|
-
val
|
|
84
|
-
]);
|
|
62
|
+
return this.db.ifNoExists(slot, () => {
|
|
63
|
+
void this.db.put(slot, [key, val]);
|
|
85
64
|
});
|
|
86
65
|
}
|
|
87
66
|
async delete(key) {
|
|
88
67
|
await this.db.remove(this.slot(key));
|
|
89
68
|
}
|
|
90
69
|
async deleteValue(key, val) {
|
|
91
|
-
await this.db.remove(this.slot(key), [
|
|
92
|
-
key,
|
|
93
|
-
val
|
|
94
|
-
]);
|
|
70
|
+
await this.db.remove(this.slot(key), [key, val]);
|
|
95
71
|
}
|
|
96
72
|
*entries(range = {}) {
|
|
97
73
|
const transaction = this.db.useReadTransaction();
|
|
@@ -99,124 +75,126 @@
|
|
|
99
75
|
const { reverse = false, limit } = range;
|
|
100
76
|
// LMDB has a quirk where it expects start > end when reverse=true
|
|
101
77
|
// in that case, we need to swap the start and end sentinels
|
|
102
|
-
const start = reverse
|
|
103
|
-
|
|
78
|
+
const start = reverse
|
|
79
|
+
? range.end
|
|
80
|
+
? this.slot(range.end)
|
|
81
|
+
: this.endSentinel
|
|
82
|
+
: range.start
|
|
83
|
+
? this.slot(range.start)
|
|
84
|
+
: this.startSentinel;
|
|
85
|
+
const end = reverse
|
|
86
|
+
? range.start
|
|
87
|
+
? this.slot(range.start)
|
|
88
|
+
: this.startSentinel
|
|
89
|
+
: range.end
|
|
90
|
+
? this.slot(range.end)
|
|
91
|
+
: this.endSentinel;
|
|
104
92
|
const lmdbRange = {
|
|
105
93
|
start,
|
|
106
94
|
end,
|
|
107
95
|
reverse,
|
|
108
96
|
limit,
|
|
109
|
-
transaction
|
|
97
|
+
transaction,
|
|
110
98
|
};
|
|
111
99
|
const iterator = this.db.getRange(lmdbRange);
|
|
112
|
-
for (const { value: [key, value] } of iterator){
|
|
113
|
-
yield [
|
|
114
|
-
key,
|
|
115
|
-
value
|
|
116
|
-
];
|
|
100
|
+
for (const { value: [key, value], } of iterator) {
|
|
101
|
+
yield [key, value];
|
|
117
102
|
}
|
|
118
|
-
}
|
|
103
|
+
}
|
|
104
|
+
finally {
|
|
119
105
|
transaction.done();
|
|
120
106
|
}
|
|
121
107
|
}
|
|
122
108
|
async *entriesAsync(range) {
|
|
123
|
-
for (const entry of this.entries(range)){
|
|
109
|
+
for (const entry of this.entries(range)) {
|
|
124
110
|
yield entry;
|
|
125
111
|
}
|
|
126
112
|
}
|
|
127
113
|
*values(range = {}) {
|
|
128
|
-
for (const [_, value] of this.entries(range)){
|
|
114
|
+
for (const [_, value] of this.entries(range)) {
|
|
129
115
|
yield value;
|
|
130
116
|
}
|
|
131
117
|
}
|
|
132
118
|
async *valuesAsync(range = {}) {
|
|
133
|
-
for await (const [_, value] of this.entriesAsync(range)){
|
|
119
|
+
for await (const [_, value] of this.entriesAsync(range)) {
|
|
134
120
|
yield value;
|
|
135
121
|
}
|
|
136
122
|
}
|
|
137
123
|
*keys(range = {}) {
|
|
138
|
-
for (const [key, _] of this.entries(range)){
|
|
124
|
+
for (const [key, _] of this.entries(range)) {
|
|
139
125
|
yield key;
|
|
140
126
|
}
|
|
141
127
|
}
|
|
142
128
|
async *keysAsync(range = {}) {
|
|
143
|
-
for await (const [key, _] of this.entriesAsync(range)){
|
|
129
|
+
for await (const [key, _] of this.entriesAsync(range)) {
|
|
144
130
|
yield key;
|
|
145
131
|
}
|
|
146
132
|
}
|
|
147
133
|
slot(key) {
|
|
148
|
-
return [
|
|
149
|
-
'map',
|
|
150
|
-
this.name,
|
|
151
|
-
'slot',
|
|
152
|
-
key
|
|
153
|
-
];
|
|
134
|
+
return ['map', this.name, 'slot', key];
|
|
154
135
|
}
|
|
155
136
|
async clear() {
|
|
156
137
|
const lmdbRange = {
|
|
157
138
|
start: this.startSentinel,
|
|
158
|
-
end: this.endSentinel
|
|
139
|
+
end: this.endSentinel,
|
|
159
140
|
};
|
|
160
141
|
const iterator = this.db.getRange(lmdbRange);
|
|
161
|
-
for (const { key } of iterator){
|
|
142
|
+
for (const { key } of iterator) {
|
|
162
143
|
await this.db.remove(key);
|
|
163
144
|
}
|
|
164
145
|
}
|
|
165
146
|
}
|
|
166
147
|
export class LmdbAztecMapWithSize extends LmdbAztecMap {
|
|
167
|
-
|
|
168
|
-
constructor(rootDb, mapName){
|
|
148
|
+
constructor(rootDb, mapName) {
|
|
169
149
|
super(rootDb, mapName);
|
|
150
|
+
_LmdbAztecMapWithSize_sizeCache.set(this, void 0);
|
|
170
151
|
}
|
|
171
152
|
async set(key, val) {
|
|
172
|
-
await this.db.childTransaction(()=>{
|
|
153
|
+
await this.db.childTransaction(() => {
|
|
173
154
|
const exists = this.db.doesExist(this.slot(key));
|
|
174
|
-
this.db.putSync(this.slot(key), [
|
|
175
|
-
|
|
176
|
-
val
|
|
177
|
-
], {
|
|
178
|
-
appendDup: true
|
|
155
|
+
this.db.putSync(this.slot(key), [key, val], {
|
|
156
|
+
appendDup: true,
|
|
179
157
|
});
|
|
180
158
|
if (!exists) {
|
|
181
|
-
this
|
|
159
|
+
__classPrivateFieldSet(this, _LmdbAztecMapWithSize_sizeCache, undefined, "f"); // Invalidate cache
|
|
182
160
|
}
|
|
183
161
|
});
|
|
184
162
|
}
|
|
185
163
|
async delete(key) {
|
|
186
|
-
await this.db.childTransaction(async ()=>{
|
|
164
|
+
await this.db.childTransaction(async () => {
|
|
187
165
|
const exists = this.db.doesExist(this.slot(key));
|
|
188
166
|
if (exists) {
|
|
189
167
|
await this.db.remove(this.slot(key));
|
|
190
|
-
this
|
|
168
|
+
__classPrivateFieldSet(this, _LmdbAztecMapWithSize_sizeCache, undefined, "f"); // Invalidate cache
|
|
191
169
|
}
|
|
192
170
|
});
|
|
193
171
|
}
|
|
194
172
|
async deleteValue(key, val) {
|
|
195
|
-
await this.db.childTransaction(async ()=>{
|
|
173
|
+
await this.db.childTransaction(async () => {
|
|
196
174
|
const exists = this.db.doesExist(this.slot(key));
|
|
197
175
|
if (exists) {
|
|
198
|
-
await this.db.remove(this.slot(key), [
|
|
199
|
-
|
|
200
|
-
val
|
|
201
|
-
]);
|
|
202
|
-
this.#sizeCache = undefined; // Invalidate cache
|
|
176
|
+
await this.db.remove(this.slot(key), [key, val]);
|
|
177
|
+
__classPrivateFieldSet(this, _LmdbAztecMapWithSize_sizeCache, undefined, "f"); // Invalidate cache
|
|
203
178
|
}
|
|
204
179
|
});
|
|
205
180
|
}
|
|
206
181
|
/**
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
182
|
+
* Gets the size of the map by counting entries.
|
|
183
|
+
* @returns The number of entries in the map
|
|
184
|
+
*/
|
|
185
|
+
size() {
|
|
186
|
+
if (__classPrivateFieldGet(this, _LmdbAztecMapWithSize_sizeCache, "f") === undefined) {
|
|
187
|
+
__classPrivateFieldSet(this, _LmdbAztecMapWithSize_sizeCache, this.db.getCount({
|
|
212
188
|
start: this.startSentinel,
|
|
213
|
-
end: this.endSentinel
|
|
214
|
-
});
|
|
189
|
+
end: this.endSentinel,
|
|
190
|
+
}), "f");
|
|
215
191
|
}
|
|
216
|
-
return this
|
|
192
|
+
return __classPrivateFieldGet(this, _LmdbAztecMapWithSize_sizeCache, "f");
|
|
217
193
|
}
|
|
218
194
|
// Reset cache on clear/drop operations
|
|
219
195
|
clearCache() {
|
|
220
|
-
this
|
|
196
|
+
__classPrivateFieldSet(this, _LmdbAztecMapWithSize_sizeCache, undefined, "f");
|
|
221
197
|
}
|
|
222
198
|
}
|
|
199
|
+
_LmdbAztecMapWithSize_sizeCache = new WeakMap();
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xtZGIvbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQU92QixZQUFZLE1BQWdCLEVBQUUsT0FBZTtRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNwQixJQUFJLENBQUMsRUFBRSxHQUFHLE1BQTJDLENBQUM7UUFFdEQsNERBQTREO1FBQzVELDZHQUE2RztRQUM3RyxtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFNO1FBQ2IsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsQ0FBQyxTQUFTLENBQUMsR0FBTTtRQUNmLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztR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
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Database } from 'lmdb';
|
|
2
|
+
import { type Key, type Range } from '../interfaces/common.js';
|
|
3
|
+
import { type AztecAsyncSet, type AztecSet } from '../interfaces/set.js';
|
|
4
|
+
/**
|
|
5
|
+
* A set backed by LMDB.
|
|
6
|
+
*/
|
|
7
|
+
export declare class LmdbAztecSet<K extends Key> implements AztecSet<K>, AztecAsyncSet<K> {
|
|
8
|
+
private map;
|
|
9
|
+
constructor(rootDb: Database, mapName: string);
|
|
10
|
+
close(): Promise<void>;
|
|
11
|
+
has(key: K): boolean;
|
|
12
|
+
hasAsync(key: K): Promise<boolean>;
|
|
13
|
+
add(key: K): Promise<void>;
|
|
14
|
+
delete(key: K): Promise<void>;
|
|
15
|
+
entries(range?: Range<K>): IterableIterator<K>;
|
|
16
|
+
entriesAsync(range?: Range<K>): AsyncIterableIterator<K>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=set.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../src/lmdb/set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGzE;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,GAAG,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAA2B;gBAC1B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;IAI7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1B,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7B,OAAO,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAI3C,YAAY,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC;CAKpE"}
|
package/dest/lmdb/set.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { LmdbAztecMap } from './map.js';
|
|
2
2
|
/**
|
|
3
3
|
* A set backed by LMDB.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
constructor(rootDb, mapName){
|
|
4
|
+
*/
|
|
5
|
+
export class LmdbAztecSet {
|
|
6
|
+
constructor(rootDb, mapName) {
|
|
7
7
|
this.map = new LmdbAztecMap(rootDb, mapName);
|
|
8
8
|
}
|
|
9
9
|
close() {
|
|
@@ -25,8 +25,9 @@ import { LmdbAztecMap } from './map.js';
|
|
|
25
25
|
return this.map.keys(range);
|
|
26
26
|
}
|
|
27
27
|
async *entriesAsync(range = {}) {
|
|
28
|
-
for await (const key of this.map.keysAsync(range)){
|
|
28
|
+
for await (const key of this.map.keysAsync(range)) {
|
|
29
29
|
yield key;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xtZGIvc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUFZLE1BQWdCLEVBQUUsT0FBZTtRQUMzQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQU07UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBTTtRQUNiLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTyxDQUFDLFFBQWtCLEVBQUU7UUFDMUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQWtCLEVBQUU7UUFDdEMsSUFBSSxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsRCxNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Database, type Key } from 'lmdb';
|
|
2
|
+
import { type AztecAsyncSingleton, type AztecSingleton } from '../interfaces/singleton.js';
|
|
3
|
+
/**
|
|
4
|
+
* Stores a single value in LMDB.
|
|
5
|
+
*/
|
|
6
|
+
export declare class LmdbAztecSingleton<T> implements AztecSingleton<T>, AztecAsyncSingleton<T> {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(db: Database<unknown, Key>, name: string);
|
|
9
|
+
get(): T | undefined;
|
|
10
|
+
getAsync(): Promise<T | undefined>;
|
|
11
|
+
set(val: T): Promise<boolean>;
|
|
12
|
+
delete(): Promise<boolean>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=singleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../../src/lmdb/singleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAE/C,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAK3F;;GAEG;AACH,qBAAa,kBAAkB,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;;gBAIzE,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM;IAKpD,GAAG,IAAI,CAAC,GAAG,SAAS;IAIpB,QAAQ,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIlC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAG3B"}
|
package/dest/lmdb/singleton.js
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
|
+
var _LmdbAztecSingleton_db, _LmdbAztecSingleton_slot;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
/**
|
|
2
4
|
* Stores a single value in LMDB.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
this
|
|
8
|
-
this
|
|
9
|
-
|
|
10
|
-
name,
|
|
11
|
-
'value'
|
|
12
|
-
];
|
|
5
|
+
*/
|
|
6
|
+
export class LmdbAztecSingleton {
|
|
7
|
+
constructor(db, name) {
|
|
8
|
+
_LmdbAztecSingleton_db.set(this, void 0);
|
|
9
|
+
_LmdbAztecSingleton_slot.set(this, void 0);
|
|
10
|
+
__classPrivateFieldSet(this, _LmdbAztecSingleton_db, db, "f");
|
|
11
|
+
__classPrivateFieldSet(this, _LmdbAztecSingleton_slot, ['singleton', name, 'value'], "f");
|
|
13
12
|
}
|
|
14
13
|
get() {
|
|
15
|
-
return this
|
|
14
|
+
return __classPrivateFieldGet(this, _LmdbAztecSingleton_db, "f").get(__classPrivateFieldGet(this, _LmdbAztecSingleton_slot, "f"));
|
|
16
15
|
}
|
|
17
16
|
getAsync() {
|
|
18
17
|
return Promise.resolve(this.get());
|
|
19
18
|
}
|
|
20
19
|
set(val) {
|
|
21
|
-
return this
|
|
20
|
+
return __classPrivateFieldGet(this, _LmdbAztecSingleton_db, "f").put(__classPrivateFieldGet(this, _LmdbAztecSingleton_slot, "f"), val);
|
|
22
21
|
}
|
|
23
22
|
delete() {
|
|
24
|
-
return this
|
|
23
|
+
return __classPrivateFieldGet(this, _LmdbAztecSingleton_db, "f").remove(__classPrivateFieldGet(this, _LmdbAztecSingleton_slot, "f"));
|
|
25
24
|
}
|
|
26
25
|
}
|
|
26
|
+
_LmdbAztecSingleton_db = new WeakMap(), _LmdbAztecSingleton_slot = new WeakMap();
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xldG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xtZGIvc2luZ2xldG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQVksRUFBMEIsRUFBRSxJQUFZO1FBSHBELHlDQUE0QjtRQUM1QiwyQ0FBaUI7UUFHZix1QkFBQSxJQUFJLDBCQUFPLEVBQTRCLE1BQUEsQ0FBQztRQUN4Qyx1QkFBQSxJQUFJLDRCQUFTLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsTUFBQSxDQUFDO0lBQzVDLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyx1QkFBQSxJQUFJLDhCQUFJLENBQUMsR0FBRyxDQUFDLHVCQUFBLElBQUksZ0NBQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBTTtRQUNSLE9BQU8sdUJBQUEsSUFBSSw4QkFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBQSxJQUFJLGdDQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLHVCQUFBLElBQUksOEJBQUksQ0FBQyxNQUFNLENBQUMsdUJBQUEsSUFBSSxnQ0FBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGIn0=
|