@aztec/kv-store 0.0.0-test.1 → 0.0.1-commit.001888fc
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/indexeddb/array.d.ts +3 -2
- package/dest/indexeddb/array.d.ts.map +1 -1
- package/dest/indexeddb/array.js +24 -7
- package/dest/indexeddb/index.d.ts +3 -3
- package/dest/indexeddb/index.d.ts.map +1 -1
- package/dest/indexeddb/index.js +4 -7
- package/dest/indexeddb/map.d.ts +18 -6
- package/dest/indexeddb/map.d.ts.map +1 -1
- package/dest/indexeddb/map.js +51 -63
- package/dest/indexeddb/multi_map.d.ts +14 -0
- package/dest/indexeddb/multi_map.d.ts.map +1 -0
- package/dest/indexeddb/multi_map.js +107 -0
- package/dest/indexeddb/set.d.ts +1 -1
- package/dest/indexeddb/set.d.ts.map +1 -1
- package/dest/indexeddb/singleton.d.ts +3 -2
- package/dest/indexeddb/singleton.d.ts.map +1 -1
- package/dest/indexeddb/singleton.js +6 -2
- package/dest/indexeddb/store.d.ts +15 -16
- package/dest/indexeddb/store.d.ts.map +1 -1
- package/dest/indexeddb/store.js +51 -46
- package/dest/interfaces/array.d.ts +5 -4
- package/dest/interfaces/array.d.ts.map +1 -1
- package/dest/interfaces/array.js +1 -3
- package/dest/interfaces/array_test_suite.d.ts +1 -1
- package/dest/interfaces/common.d.ts +11 -9
- package/dest/interfaces/common.d.ts.map +1 -1
- package/dest/interfaces/common.js +8 -3
- package/dest/interfaces/counter.d.ts +1 -1
- package/dest/interfaces/index.d.ts +4 -2
- package/dest/interfaces/index.d.ts.map +1 -1
- package/dest/interfaces/index.js +2 -0
- package/dest/interfaces/map.d.ts +21 -49
- package/dest/interfaces/map.d.ts.map +1 -1
- package/dest/interfaces/map.js +1 -1
- package/dest/interfaces/map_test_suite.d.ts +1 -1
- package/dest/interfaces/map_test_suite.d.ts.map +1 -1
- package/dest/interfaces/map_test_suite.js +181 -70
- package/dest/interfaces/multi_map.d.ts +41 -0
- package/dest/interfaces/multi_map.d.ts.map +1 -0
- package/dest/interfaces/multi_map.js +3 -0
- package/dest/interfaces/multi_map_test_suite.d.ts +3 -0
- package/dest/interfaces/multi_map_test_suite.d.ts.map +1 -0
- package/dest/interfaces/multi_map_test_suite.js +364 -0
- package/dest/interfaces/set.d.ts +1 -1
- package/dest/interfaces/set_test_suite.d.ts +1 -1
- package/dest/interfaces/singleton.d.ts +1 -1
- package/dest/interfaces/singleton_test_suite.d.ts +1 -1
- package/dest/interfaces/store.d.ts +18 -43
- package/dest/interfaces/store.d.ts.map +1 -1
- package/dest/interfaces/utils.d.ts +3 -1
- package/dest/interfaces/utils.d.ts.map +1 -1
- package/dest/interfaces/utils.js +3 -1
- package/dest/lmdb/array.d.ts +3 -2
- package/dest/lmdb/array.d.ts.map +1 -1
- package/dest/lmdb/array.js +4 -2
- package/dest/lmdb/counter.d.ts +1 -1
- package/dest/lmdb/counter.d.ts.map +1 -1
- package/dest/lmdb/index.d.ts +3 -3
- package/dest/lmdb/index.d.ts.map +1 -1
- package/dest/lmdb/index.js +5 -5
- package/dest/lmdb/map.d.ts +11 -23
- package/dest/lmdb/map.d.ts.map +1 -1
- package/dest/lmdb/map.js +15 -81
- package/dest/lmdb/multi_map.d.ts +13 -0
- package/dest/lmdb/multi_map.d.ts.map +1 -0
- package/dest/lmdb/multi_map.js +44 -0
- package/dest/lmdb/set.d.ts +1 -1
- package/dest/lmdb/set.d.ts.map +1 -1
- package/dest/lmdb/singleton.d.ts +1 -1
- package/dest/lmdb/singleton.d.ts.map +1 -1
- package/dest/lmdb/store.d.ts +11 -27
- package/dest/lmdb/store.d.ts.map +1 -1
- package/dest/lmdb/store.js +24 -40
- package/dest/lmdb-v2/array.d.ts +4 -3
- package/dest/lmdb-v2/array.d.ts.map +1 -1
- package/dest/lmdb-v2/array.js +4 -2
- package/dest/lmdb-v2/factory.d.ts +7 -10
- package/dest/lmdb-v2/factory.d.ts.map +1 -1
- package/dest/lmdb-v2/factory.js +26 -12
- package/dest/lmdb-v2/index.d.ts +1 -1
- package/dest/lmdb-v2/map.d.ts +12 -45
- package/dest/lmdb-v2/map.d.ts.map +1 -1
- package/dest/lmdb-v2/map.js +17 -104
- package/dest/lmdb-v2/message.d.ts +24 -5
- package/dest/lmdb-v2/message.d.ts.map +1 -1
- package/dest/lmdb-v2/message.js +6 -4
- package/dest/lmdb-v2/multi_map.d.ts +52 -0
- package/dest/lmdb-v2/multi_map.d.ts.map +1 -0
- package/dest/lmdb-v2/multi_map.js +123 -0
- package/dest/lmdb-v2/read_transaction.d.ts +3 -1
- package/dest/lmdb-v2/read_transaction.d.ts.map +1 -1
- package/dest/lmdb-v2/read_transaction.js +34 -0
- package/dest/lmdb-v2/set.d.ts +15 -0
- package/dest/lmdb-v2/set.d.ts.map +1 -0
- package/dest/lmdb-v2/set.js +23 -0
- package/dest/lmdb-v2/singleton.d.ts +2 -2
- package/dest/lmdb-v2/singleton.d.ts.map +1 -1
- package/dest/lmdb-v2/singleton.js +1 -1
- package/dest/lmdb-v2/store.d.ts +13 -13
- package/dest/lmdb-v2/store.d.ts.map +1 -1
- package/dest/lmdb-v2/store.js +19 -29
- package/dest/lmdb-v2/tx-helpers.d.ts +6 -0
- package/dest/lmdb-v2/tx-helpers.d.ts.map +1 -0
- package/dest/lmdb-v2/tx-helpers.js +21 -0
- package/dest/lmdb-v2/utils.d.ts +3 -14
- package/dest/lmdb-v2/utils.d.ts.map +1 -1
- package/dest/lmdb-v2/utils.js +0 -94
- package/dest/lmdb-v2/write_transaction.d.ts +3 -5
- package/dest/lmdb-v2/write_transaction.d.ts.map +1 -1
- package/dest/lmdb-v2/write_transaction.js +9 -5
- package/dest/stores/index.d.ts +2 -1
- package/dest/stores/index.d.ts.map +1 -1
- package/dest/stores/index.js +1 -0
- package/dest/stores/l2_tips_store.d.ts +24 -8
- package/dest/stores/l2_tips_store.d.ts.map +1 -1
- package/dest/stores/l2_tips_store.js +63 -45
- package/dest/utils.d.ts +9 -6
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +51 -16
- package/package.json +30 -22
- package/src/indexeddb/array.ts +9 -5
- package/src/indexeddb/index.ts +11 -9
- package/src/indexeddb/map.ts +51 -56
- package/src/indexeddb/multi_map.ts +105 -0
- package/src/indexeddb/singleton.ts +5 -2
- package/src/indexeddb/store.ts +77 -60
- package/src/interfaces/array.ts +5 -3
- package/src/interfaces/common.ts +20 -9
- package/src/interfaces/index.ts +3 -1
- package/src/interfaces/map.ts +19 -53
- package/src/interfaces/map_test_suite.ts +101 -44
- package/src/interfaces/multi_map.ts +45 -0
- package/src/interfaces/multi_map_test_suite.ts +374 -0
- package/src/interfaces/store.ts +18 -53
- package/src/interfaces/utils.ts +2 -0
- package/src/lmdb/array.ts +2 -1
- package/src/lmdb/index.ts +12 -7
- package/src/lmdb/map.ts +23 -94
- package/src/lmdb/multi_map.ts +51 -0
- package/src/lmdb/store.ts +36 -56
- package/src/lmdb-v2/array.ts +8 -3
- package/src/lmdb-v2/factory.ts +30 -19
- package/src/lmdb-v2/map.ts +30 -127
- package/src/lmdb-v2/message.ts +23 -0
- package/src/lmdb-v2/multi_map.ts +150 -0
- package/src/lmdb-v2/read_transaction.ts +40 -0
- package/src/lmdb-v2/set.ts +33 -0
- package/src/lmdb-v2/singleton.ts +6 -2
- package/src/lmdb-v2/store.ts +24 -42
- package/src/lmdb-v2/tx-helpers.ts +29 -0
- package/src/lmdb-v2/utils.ts +0 -118
- package/src/lmdb-v2/write_transaction.ts +11 -10
- package/src/stores/index.ts +2 -0
- package/src/stores/l2_tips_store.ts +67 -49
- package/src/utils.ts +79 -21
- package/dest/config.d.ts +0 -17
- package/dest/config.d.ts.map +0 -1
- package/dest/config.js +0 -24
- package/dest/interfaces/store_test_suite.d.ts +0 -3
- package/dest/interfaces/store_test_suite.d.ts.map +0 -1
- package/dest/interfaces/store_test_suite.js +0 -37
- package/src/config.ts +0 -34
- package/src/interfaces/store_test_suite.ts +0 -56
package/dest/lmdb/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type Logger } from '@aztec/foundation/log';
|
|
2
|
-
import type { DataStoreConfig } from '
|
|
2
|
+
import type { DataStoreConfig } from '@aztec/stdlib/kv-store';
|
|
3
3
|
import { AztecLmdbStore } from './store.js';
|
|
4
4
|
export { AztecLmdbStore } from './store.js';
|
|
5
|
-
export declare function createStore(name: string, config: DataStoreConfig, log?: Logger): AztecLmdbStore | Promise<AztecLmdbStore>;
|
|
5
|
+
export declare function createStore(name: string, config: DataStoreConfig, schemaVersion?: number | undefined, log?: Logger): AztecLmdbStore | Promise<AztecLmdbStore>;
|
|
6
6
|
/**
|
|
7
7
|
* Opens a temporary store for testing purposes.
|
|
8
8
|
* @param ephemeral - true if the store should only exist in memory and not automatically be flushed to disk. Optional
|
|
9
9
|
* @returns A new store
|
|
10
10
|
*/
|
|
11
11
|
export declare function openTmpStore(ephemeral?: boolean): AztecLmdbStore;
|
|
12
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sbWRiL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUs5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUMsd0JBQWdCLFdBQVcsQ0FDekIsSUFBSSxFQUFFLE1BQU0sRUFDWixNQUFNLEVBQUUsZUFBZSxFQUN2QixhQUFhLEdBQUUsTUFBTSxHQUFHLFNBQXFCLEVBQzdDLEdBQUcsR0FBRSxNQUFpQyw0Q0FrQnZDO0FBQ0Q7Ozs7R0FJRztBQUNILHdCQUFnQixZQUFZLENBQUMsU0FBUyxHQUFFLE9BQWUsR0FBRyxjQUFjLENBR3ZFIn0=
|
package/dest/lmdb/index.d.ts.map
CHANGED
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lmdb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EACvB,aAAa,GAAE,MAAM,GAAG,SAAqB,EAC7C,GAAG,GAAE,MAAiC,4CAkBvC;AACD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,GAAE,OAAe,GAAG,cAAc,CAGvE"}
|
package/dest/lmdb/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
2
|
import { join } from 'path';
|
|
3
|
-
import {
|
|
3
|
+
import { initStoreForRollupAndSchemaVersion } from '../utils.js';
|
|
4
4
|
import { AztecLmdbStore } from './store.js';
|
|
5
5
|
export { AztecLmdbStore } from './store.js';
|
|
6
|
-
export function createStore(name, config, log = createLogger('kv-store')) {
|
|
6
|
+
export function createStore(name, config, schemaVersion = undefined, log = createLogger('kv-store')) {
|
|
7
7
|
let { dataDirectory } = config;
|
|
8
8
|
if (typeof dataDirectory !== 'undefined') {
|
|
9
9
|
dataDirectory = join(dataDirectory, name);
|
|
10
10
|
}
|
|
11
|
-
log.info(dataDirectory ? `Creating ${name} data store at directory ${dataDirectory} with map size ${config.
|
|
12
|
-
const store = AztecLmdbStore.open(dataDirectory, config.
|
|
11
|
+
log.info(dataDirectory ? `Creating ${name} data store at directory ${dataDirectory} with map size ${config.dataStoreMapSizeKb} KB` : `Creating ${name} ephemeral data store with map size ${config.dataStoreMapSizeKb} KB`);
|
|
12
|
+
const store = AztecLmdbStore.open(dataDirectory, config.dataStoreMapSizeKb, false);
|
|
13
13
|
if (config.l1Contracts?.rollupAddress) {
|
|
14
|
-
return
|
|
14
|
+
return initStoreForRollupAndSchemaVersion(store, schemaVersion, config.l1Contracts.rollupAddress, log);
|
|
15
15
|
}
|
|
16
16
|
return store;
|
|
17
17
|
}
|
package/dest/lmdb/map.d.ts
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import type { Database } from 'lmdb';
|
|
4
|
-
import type { Key, Range } from '../interfaces/common.js';
|
|
5
|
-
import type {
|
|
2
|
+
import type { Key, Range, Value } from '../interfaces/common.js';
|
|
3
|
+
import type { AztecAsyncMap, AztecMap } from '../interfaces/map.js';
|
|
6
4
|
/** The slot where a key-value entry would be stored */
|
|
7
5
|
type MapValueSlot<K extends Key | Buffer> = ['map', string, 'slot', K];
|
|
8
6
|
/**
|
|
9
7
|
* A map backed by LMDB.
|
|
10
8
|
*/
|
|
11
|
-
export declare class LmdbAztecMap<K extends Key, V> implements
|
|
9
|
+
export declare class LmdbAztecMap<K extends Key, V extends Value> implements AztecMap<K, V>, AztecAsyncMap<K, V> {
|
|
12
10
|
protected db: Database<[K, V], MapValueSlot<K>>;
|
|
13
11
|
protected name: string;
|
|
14
12
|
protected startSentinel: MapValueSlot<Buffer>;
|
|
@@ -17,36 +15,26 @@ export declare class LmdbAztecMap<K extends Key, V> implements AztecMultiMap<K,
|
|
|
17
15
|
close(): Promise<void>;
|
|
18
16
|
get(key: K): V | undefined;
|
|
19
17
|
getAsync(key: K): Promise<V | undefined>;
|
|
20
|
-
getValues(key: K): IterableIterator<V>;
|
|
21
|
-
getValuesAsync(key: K): AsyncIterableIterator<V>;
|
|
22
18
|
has(key: K): boolean;
|
|
23
19
|
hasAsync(key: K): Promise<boolean>;
|
|
24
20
|
set(key: K, val: V): Promise<void>;
|
|
21
|
+
setMany(entries: {
|
|
22
|
+
key: K;
|
|
23
|
+
value: V;
|
|
24
|
+
}[]): Promise<void>;
|
|
25
25
|
swap(key: K, fn: (val: V | undefined) => V): Promise<void>;
|
|
26
26
|
setIfNotExists(key: K, val: V): Promise<boolean>;
|
|
27
27
|
delete(key: K): Promise<void>;
|
|
28
|
-
deleteValue(key: K, val: V): Promise<void>;
|
|
29
28
|
entries(range?: Range<K>): IterableIterator<[K, V]>;
|
|
30
|
-
entriesAsync(range?: Range<K>
|
|
29
|
+
entriesAsync(range?: Range<K>): AsyncIterableIterator<[K, V]>;
|
|
31
30
|
values(range?: Range<K>): IterableIterator<V>;
|
|
32
31
|
valuesAsync(range?: Range<K>): AsyncIterableIterator<V>;
|
|
32
|
+
size(): number;
|
|
33
|
+
sizeAsync(): Promise<number>;
|
|
33
34
|
keys(range?: Range<K>): IterableIterator<K>;
|
|
34
35
|
keysAsync(range?: Range<K>): AsyncIterableIterator<K>;
|
|
35
36
|
protected slot(key: K): MapValueSlot<K>;
|
|
36
37
|
clear(): Promise<void>;
|
|
37
38
|
}
|
|
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
39
|
export {};
|
|
52
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi9tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUVuRCxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRSx1REFBdUQ7QUFDdkQsS0FBSyxZQUFZLENBQUMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztBQUV2RTs7R0FFRztBQUNILHFCQUFhLFlBQVksQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUyxLQUFLLENBQUUsWUFBVyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RHLFNBQVMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hELFNBQVMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBRXZCLFNBQVMsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTVDLFlBQVksTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQVM1QztJQUVELEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRXJCO0lBRUQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FFekI7SUFFRCxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUV2QztJQUVELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FFbkI7SUFFRCxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBRWpDO0lBRUssR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRXZDO0lBRUssT0FBTyxDQUFDLE9BQU8sRUFBRTtRQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFBQyxLQUFLLEVBQUUsQ0FBQyxDQUFBO0tBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FJNUQ7SUFFRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLFNBQVMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQU16RDtJQUVELGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUsvQztJQUVLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFbEM7SUFFQSxPQUFPLENBQUMsS0FBSyxHQUFFLEtBQUssQ0FBQyxDQUFDLENBQU0sR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQXlDdkQ7SUFFTSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBSW5FO0lBRUEsTUFBTSxDQUFDLEtBQUssR0FBRSxLQUFLLENBQUMsQ0FBQyxDQUFNLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBSWpEO0lBRU0sV0FBVyxDQUFDLEtBQUssR0FBRSxLQUFLLENBQUMsQ0FBQyxDQUFNLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBSWpFO0lBRUQsSUFBSSxJQUFJLE1BQU0sQ0FHYjtJQUVELFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRTNCO0lBRUEsSUFBSSxDQUFDLEtBQUssR0FBRSxLQUFLLENBQUMsQ0FBQyxDQUFNLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBSS9DO0lBRU0sU0FBUyxDQUFDLEtBQUssR0FBRSxLQUFLLENBQUMsQ0FBQyxDQUFNLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBSS9EO0lBRUQsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FFdEM7SUFFSyxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQVczQjtDQUNGIn0=
|
package/dest/lmdb/map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/lmdb/map.ts"],"names":[],"mappings":"
|
|
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
|
@@ -35,24 +35,6 @@
|
|
|
35
35
|
getAsync(key) {
|
|
36
36
|
return Promise.resolve(this.get(key));
|
|
37
37
|
}
|
|
38
|
-
*getValues(key) {
|
|
39
|
-
const transaction = this.db.useReadTransaction();
|
|
40
|
-
try {
|
|
41
|
-
const values = this.db.getValues(this.slot(key), {
|
|
42
|
-
transaction
|
|
43
|
-
});
|
|
44
|
-
for (const value of values){
|
|
45
|
-
yield value?.[1];
|
|
46
|
-
}
|
|
47
|
-
} finally{
|
|
48
|
-
transaction.done();
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
async *getValuesAsync(key) {
|
|
52
|
-
for (const value of this.getValues(key)){
|
|
53
|
-
yield value;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
38
|
has(key) {
|
|
57
39
|
return this.db.doesExist(this.slot(key));
|
|
58
40
|
}
|
|
@@ -65,6 +47,11 @@
|
|
|
65
47
|
val
|
|
66
48
|
]);
|
|
67
49
|
}
|
|
50
|
+
async setMany(entries) {
|
|
51
|
+
for (const { key, value } of entries){
|
|
52
|
+
await this.set(key, value);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
68
55
|
swap(key, fn) {
|
|
69
56
|
return this.db.childTransaction(()=>{
|
|
70
57
|
const slot = this.slot(key);
|
|
@@ -87,12 +74,6 @@
|
|
|
87
74
|
async delete(key) {
|
|
88
75
|
await this.db.remove(this.slot(key));
|
|
89
76
|
}
|
|
90
|
-
async deleteValue(key, val) {
|
|
91
|
-
await this.db.remove(this.slot(key), [
|
|
92
|
-
key,
|
|
93
|
-
val
|
|
94
|
-
]);
|
|
95
|
-
}
|
|
96
77
|
*entries(range = {}) {
|
|
97
78
|
const transaction = this.db.useReadTransaction();
|
|
98
79
|
try {
|
|
@@ -134,6 +115,16 @@
|
|
|
134
115
|
yield value;
|
|
135
116
|
}
|
|
136
117
|
}
|
|
118
|
+
size() {
|
|
119
|
+
const iterator = this.db.getRange({
|
|
120
|
+
start: this.startSentinel,
|
|
121
|
+
end: this.endSentinel
|
|
122
|
+
});
|
|
123
|
+
return iterator.asArray.length;
|
|
124
|
+
}
|
|
125
|
+
sizeAsync() {
|
|
126
|
+
return Promise.resolve(this.size());
|
|
127
|
+
}
|
|
137
128
|
*keys(range = {}) {
|
|
138
129
|
for (const [key, _] of this.entries(range)){
|
|
139
130
|
yield key;
|
|
@@ -163,60 +154,3 @@
|
|
|
163
154
|
}
|
|
164
155
|
}
|
|
165
156
|
}
|
|
166
|
-
export class LmdbAztecMapWithSize extends LmdbAztecMap {
|
|
167
|
-
#sizeCache;
|
|
168
|
-
constructor(rootDb, mapName){
|
|
169
|
-
super(rootDb, mapName);
|
|
170
|
-
}
|
|
171
|
-
async set(key, val) {
|
|
172
|
-
await this.db.childTransaction(()=>{
|
|
173
|
-
const exists = this.db.doesExist(this.slot(key));
|
|
174
|
-
this.db.putSync(this.slot(key), [
|
|
175
|
-
key,
|
|
176
|
-
val
|
|
177
|
-
], {
|
|
178
|
-
appendDup: true
|
|
179
|
-
});
|
|
180
|
-
if (!exists) {
|
|
181
|
-
this.#sizeCache = undefined; // Invalidate cache
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
async delete(key) {
|
|
186
|
-
await this.db.childTransaction(async ()=>{
|
|
187
|
-
const exists = this.db.doesExist(this.slot(key));
|
|
188
|
-
if (exists) {
|
|
189
|
-
await this.db.remove(this.slot(key));
|
|
190
|
-
this.#sizeCache = undefined; // Invalidate cache
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
async deleteValue(key, val) {
|
|
195
|
-
await this.db.childTransaction(async ()=>{
|
|
196
|
-
const exists = this.db.doesExist(this.slot(key));
|
|
197
|
-
if (exists) {
|
|
198
|
-
await this.db.remove(this.slot(key), [
|
|
199
|
-
key,
|
|
200
|
-
val
|
|
201
|
-
]);
|
|
202
|
-
this.#sizeCache = undefined; // Invalidate cache
|
|
203
|
-
}
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Gets the size of the map by counting entries.
|
|
208
|
-
* @returns The number of entries in the map
|
|
209
|
-
*/ size() {
|
|
210
|
-
if (this.#sizeCache === undefined) {
|
|
211
|
-
this.#sizeCache = this.db.getCount({
|
|
212
|
-
start: this.startSentinel,
|
|
213
|
-
end: this.endSentinel
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
return this.#sizeCache;
|
|
217
|
-
}
|
|
218
|
-
// Reset cache on clear/drop operations
|
|
219
|
-
clearCache() {
|
|
220
|
-
this.#sizeCache = undefined;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Key, Value } from '../interfaces/common.js';
|
|
2
|
+
import type { AztecAsyncMultiMap, AztecMultiMap } from '../interfaces/multi_map.js';
|
|
3
|
+
import { LmdbAztecMap } from './map.js';
|
|
4
|
+
/**
|
|
5
|
+
* A map backed by LMDB.
|
|
6
|
+
*/
|
|
7
|
+
export declare class LmdbAztecMultiMap<K extends Key, V extends Value> extends LmdbAztecMap<K, V> implements AztecMultiMap<K, V>, AztecAsyncMultiMap<K, V> {
|
|
8
|
+
getValues(key: K): IterableIterator<V>;
|
|
9
|
+
getValuesAsync(key: K): AsyncIterableIterator<V>;
|
|
10
|
+
getValueCountAsync(key: K): Promise<number>;
|
|
11
|
+
deleteValue(key: K, val: V): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlfbWFwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi9tdWx0aV9tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxxQkFBYSxpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUyxLQUFLLENBQzNELFNBQVEsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ3pCLFlBQVcsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXZELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQVl0QztJQUVNLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUl0RDtJQUVELGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQWMxQztJQUVLLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUUvQztDQUNGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi_map.d.ts","sourceRoot":"","sources":["../../src/lmdb/multi_map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;GAEG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,KAAK,CAC3D,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CACzB,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAYtC;IAEM,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAItD;IAED,kBAAkB,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAc1C;IAEK,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;CACF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { LmdbAztecMap } from './map.js';
|
|
2
|
+
/**
|
|
3
|
+
* A map backed by LMDB.
|
|
4
|
+
*/ export class LmdbAztecMultiMap extends LmdbAztecMap {
|
|
5
|
+
*getValues(key) {
|
|
6
|
+
const transaction = this.db.useReadTransaction();
|
|
7
|
+
try {
|
|
8
|
+
const values = this.db.getValues(this.slot(key), {
|
|
9
|
+
transaction
|
|
10
|
+
});
|
|
11
|
+
for (const value of values){
|
|
12
|
+
yield value?.[1];
|
|
13
|
+
}
|
|
14
|
+
} finally{
|
|
15
|
+
transaction.done();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
async *getValuesAsync(key) {
|
|
19
|
+
for (const value of this.getValues(key)){
|
|
20
|
+
yield value;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
getValueCountAsync(key) {
|
|
24
|
+
const transaction = this.db.useReadTransaction();
|
|
25
|
+
try {
|
|
26
|
+
const values = this.db.getValues(this.slot(key), {
|
|
27
|
+
transaction
|
|
28
|
+
});
|
|
29
|
+
let count = 0;
|
|
30
|
+
for (const _ of values){
|
|
31
|
+
count++;
|
|
32
|
+
}
|
|
33
|
+
return Promise.resolve(count);
|
|
34
|
+
} finally{
|
|
35
|
+
transaction.done();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async deleteValue(key, val) {
|
|
39
|
+
await this.db.remove(this.slot(key), [
|
|
40
|
+
key,
|
|
41
|
+
val
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
}
|
package/dest/lmdb/set.d.ts
CHANGED
|
@@ -15,4 +15,4 @@ export declare class LmdbAztecSet<K extends Key> implements AztecSet<K>, AztecAs
|
|
|
15
15
|
entries(range?: Range<K>): IterableIterator<K>;
|
|
16
16
|
entriesAsync(range?: Range<K>): AsyncIterableIterator<K>;
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi9zZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHcEU7O0dBRUc7QUFDSCxxQkFBYSxZQUFZLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBRSxZQUFXLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQy9FLE9BQU8sQ0FBQyxHQUFHLENBQTJCO0lBQ3RDLFlBQVksTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUU1QztJQUVELEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRXJCO0lBRUQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUVuQjtJQUVELFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FFakM7SUFFRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRXpCO0lBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUU1QjtJQUVELE9BQU8sQ0FBQyxLQUFLLEdBQUUsS0FBSyxDQUFDLENBQUMsQ0FBTSxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUVqRDtJQUVNLFlBQVksQ0FBQyxLQUFLLEdBQUUsS0FBSyxDQUFDLENBQUMsQ0FBTSxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUlsRTtDQUNGIn0=
|
package/dest/lmdb/set.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../src/lmdb/set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGpE;;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;
|
|
1
|
+
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../src/lmdb/set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGpE;;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;IACtC,YAAY,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAE5C;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAEnB;IAED,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAEjC;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzB;IAED,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5B;IAED,OAAO,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAEjD;IAEM,YAAY,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAIlE;CACF"}
|
package/dest/lmdb/singleton.d.ts
CHANGED
|
@@ -11,4 +11,4 @@ export declare class LmdbAztecSingleton<T> implements AztecSingleton<T>, AztecAs
|
|
|
11
11
|
set(val: T): Promise<boolean>;
|
|
12
12
|
delete(): Promise<boolean>;
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xldG9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi9zaW5nbGV0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUt0Rjs7R0FFRztBQUNILHFCQUFhLGtCQUFrQixDQUFDLENBQUMsQ0FBRSxZQUFXLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7O0lBSXJGLFlBQVksRUFBRSxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFHbkQ7SUFFRCxHQUFHLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FFbkI7SUFFRCxRQUFRLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FFakM7SUFFRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBRTVCO0lBRUQsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FFekI7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../../src/lmdb/singleton.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAKtF;;GAEG;AACH,qBAAa,kBAAkB,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;;
|
|
1
|
+
{"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../../src/lmdb/singleton.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAKtF;;GAEG;AACH,qBAAa,kBAAkB,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;;IAIrF,YAAY,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAGnD;IAED,GAAG,IAAI,CAAC,GAAG,SAAS,CAEnB;IAED,QAAQ,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAEjC;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5B;IAED,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAEzB;CACF"}
|
package/dest/lmdb/store.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type RootDatabase } from 'lmdb';
|
|
2
2
|
import type { AztecArray, AztecAsyncArray } from '../interfaces/array.js';
|
|
3
|
-
import type { Key, StoreSize } from '../interfaces/common.js';
|
|
3
|
+
import type { Key, StoreSize, Value } from '../interfaces/common.js';
|
|
4
4
|
import type { AztecAsyncCounter, AztecCounter } from '../interfaces/counter.js';
|
|
5
|
-
import type { AztecAsyncMap,
|
|
5
|
+
import type { AztecAsyncMap, AztecMap } from '../interfaces/map.js';
|
|
6
|
+
import type { AztecAsyncMultiMap, AztecMultiMap } from '../interfaces/multi_map.js';
|
|
6
7
|
import type { AztecAsyncSet, AztecSet } from '../interfaces/set.js';
|
|
7
8
|
import type { AztecAsyncSingleton, AztecSingleton } from '../interfaces/singleton.js';
|
|
8
9
|
import type { AztecAsyncKVStore, AztecKVStore } from '../interfaces/store.js';
|
|
@@ -28,19 +29,13 @@ export declare class AztecLmdbStore implements AztecKVStore, AztecAsyncKVStore {
|
|
|
28
29
|
* @param log - A logger to use. Optional
|
|
29
30
|
* @returns The store
|
|
30
31
|
*/
|
|
31
|
-
static open(path?: string, mapSizeKb?: number,
|
|
32
|
-
ephemeral?: boolean, log?: import("@aztec/foundation/log").Logger): AztecLmdbStore;
|
|
33
|
-
/**
|
|
34
|
-
* Forks the current DB into a new DB by backing it up to a temporary location and opening a new lmdb db.
|
|
35
|
-
* @returns A new AztecLmdbStore.
|
|
36
|
-
*/
|
|
37
|
-
fork(): Promise<AztecLmdbStore>;
|
|
32
|
+
static open(path?: string, mapSizeKb?: number, ephemeral?: boolean, log?: import("@aztec/foundation/log").Logger): AztecLmdbStore;
|
|
38
33
|
/**
|
|
39
34
|
* Creates a new AztecMap in the store.
|
|
40
35
|
* @param name - Name of the map
|
|
41
36
|
* @returns A new AztecMap
|
|
42
37
|
*/
|
|
43
|
-
openMap<K extends Key, V>(name: string): AztecMap<K, V> & AztecAsyncMap<K, V>;
|
|
38
|
+
openMap<K extends Key, V extends Value>(name: string): AztecMap<K, V> & AztecAsyncMap<K, V>;
|
|
44
39
|
/**
|
|
45
40
|
* Creates a new AztecSet in the store.
|
|
46
41
|
* @param name - Name of the set
|
|
@@ -52,26 +47,14 @@ export declare class AztecLmdbStore implements AztecKVStore, AztecAsyncKVStore {
|
|
|
52
47
|
* @param name - Name of the map
|
|
53
48
|
* @returns A new AztecMultiMap
|
|
54
49
|
*/
|
|
55
|
-
openMultiMap<K extends Key, V>(name: string): AztecMultiMap<K, V> & AztecAsyncMultiMap<K, V>;
|
|
50
|
+
openMultiMap<K extends Key, V extends Value>(name: string): AztecMultiMap<K, V> & AztecAsyncMultiMap<K, V>;
|
|
56
51
|
openCounter<K extends Key>(name: string): AztecCounter<K> & AztecAsyncCounter<K>;
|
|
57
|
-
/**
|
|
58
|
-
* Creates a new AztecMultiMapWithSize in the store. A multi-map with size stores multiple values for a single key automatically.
|
|
59
|
-
* @param name - Name of the map
|
|
60
|
-
* @returns A new AztecMultiMapWithSize
|
|
61
|
-
*/
|
|
62
|
-
openMultiMapWithSize<K extends Key, V>(name: string): AztecMultiMapWithSize<K, V>;
|
|
63
|
-
/**
|
|
64
|
-
* Creates a new AztecMapWithSize in the store.
|
|
65
|
-
* @param name - Name of the map
|
|
66
|
-
* @returns A new AztecMapWithSize
|
|
67
|
-
*/
|
|
68
|
-
openMapWithSize<K extends Key, V>(name: string): AztecMapWithSize<K, V>;
|
|
69
52
|
/**
|
|
70
53
|
* Creates a new AztecArray in the store.
|
|
71
54
|
* @param name - Name of the array
|
|
72
55
|
* @returns A new AztecArray
|
|
73
56
|
*/
|
|
74
|
-
openArray<T>(name: string): AztecArray<T> & AztecAsyncArray<T>;
|
|
57
|
+
openArray<T extends Value>(name: string): AztecArray<T> & AztecAsyncArray<T>;
|
|
75
58
|
/**
|
|
76
59
|
* Creates a new AztecSingleton in the store.
|
|
77
60
|
* @param name - Name of the singleton
|
|
@@ -91,11 +74,11 @@ export declare class AztecLmdbStore implements AztecKVStore, AztecAsyncKVStore {
|
|
|
91
74
|
*/
|
|
92
75
|
transactionAsync<T>(callback: () => Promise<T>): Promise<T>;
|
|
93
76
|
/**
|
|
94
|
-
* Clears all entries in the store & sub DBs.
|
|
77
|
+
* Clears all entries in the store & sub DBs atomically within a single transaction.
|
|
95
78
|
*/
|
|
96
79
|
clear(): Promise<void>;
|
|
97
80
|
/**
|
|
98
|
-
* Drops the database & sub DBs.
|
|
81
|
+
* Drops the database & sub DBs atomically within a single transaction.
|
|
99
82
|
*/
|
|
100
83
|
drop(): Promise<void>;
|
|
101
84
|
/**
|
|
@@ -106,5 +89,6 @@ export declare class AztecLmdbStore implements AztecKVStore, AztecAsyncKVStore {
|
|
|
106
89
|
delete(): Promise<void>;
|
|
107
90
|
estimateSize(): Promise<StoreSize>;
|
|
108
91
|
private estimateSubDBSize;
|
|
92
|
+
backupTo(_dstPath: string, _compact?: boolean): Promise<void>;
|
|
109
93
|
}
|
|
110
|
-
//# sourceMappingURL=
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sbWRiL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBaUIsS0FBSyxZQUFZLEVBQVEsTUFBTSxNQUFNLENBQUM7QUFJOUQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFFLE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEYsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BGLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVE5RTs7R0FFRztBQUNILHFCQUFhLGNBQWUsWUFBVyxZQUFZLEVBQUUsaUJBQWlCOzthQVVsRCxXQUFXLEVBQUUsT0FBTztJQUNwQyxPQUFPLENBQUMsSUFBSTtJQVZkLFdBQVcsT0FBaUI7SUFPNUIsWUFDRSxNQUFNLEVBQUUsWUFBWSxFQUNKLFdBQVcsRUFBRSxPQUFPLEVBQzVCLElBQUksRUFBRSxNQUFNLEVBZXJCO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FDVCxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQ2IsU0FBUyxTQUFrQixFQUMzQixTQUFTLEdBQUUsT0FBZSxFQUMxQixHQUFHLHlDQUFnQyxHQUNsQyxjQUFjLENBT2hCO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBRTFGO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FFbkU7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUV6RztJQUVELFdBQVcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUUvRTtJQUVEOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsQ0FBQyxTQUFTLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBRTNFO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBRXpFO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FFNUM7SUFFRDs7OztPQUlHO0lBQ0csZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBRWhFO0lBRUQ7O09BRUc7SUFDRyxLQUFLLGtCQU1WO0lBRUQ7O09BRUc7SUFDRyxJQUFJLGtCQU1UO0lBRUQ7O09BRUc7SUFDRyxLQUFLLGtCQUlWO0lBRUQsa0VBQWtFO0lBQzVELE1BQU0sa0JBT1g7SUFFRCxZQUFZLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQW9CakM7SUFFRCxPQUFPLENBQUMsaUJBQWlCO0lBNEJ6QixRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUU1RDtDQUNGIn0=
|
package/dest/lmdb/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/lmdb/store.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,YAAY,EAAQ,MAAM,MAAM,CAAC;AAI9D,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/lmdb/store.ts"],"names":[],"mappings":"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"}
|
package/dest/lmdb/store.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { randomBytes } from '@aztec/foundation/crypto';
|
|
1
|
+
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
2
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
3
|
import { promises as fs, mkdirSync } from 'fs';
|
|
4
4
|
import { open } from 'lmdb';
|
|
@@ -6,7 +6,8 @@ import { tmpdir } from 'os';
|
|
|
6
6
|
import { join } from 'path';
|
|
7
7
|
import { LmdbAztecArray } from './array.js';
|
|
8
8
|
import { LmdbAztecCounter } from './counter.js';
|
|
9
|
-
import { LmdbAztecMap
|
|
9
|
+
import { LmdbAztecMap } from './map.js';
|
|
10
|
+
import { LmdbAztecMultiMap } from './multi_map.js';
|
|
10
11
|
import { LmdbAztecSet } from './set.js';
|
|
11
12
|
import { LmdbAztecSingleton } from './singleton.js';
|
|
12
13
|
/**
|
|
@@ -63,21 +64,6 @@ import { LmdbAztecSingleton } from './singleton.js';
|
|
|
63
64
|
return new AztecLmdbStore(rootDb, ephemeral, dbPath);
|
|
64
65
|
}
|
|
65
66
|
/**
|
|
66
|
-
* Forks the current DB into a new DB by backing it up to a temporary location and opening a new lmdb db.
|
|
67
|
-
* @returns A new AztecLmdbStore.
|
|
68
|
-
*/ async fork() {
|
|
69
|
-
const baseDir = this.path;
|
|
70
|
-
this.#log.debug(`Forking store with basedir ${baseDir}`);
|
|
71
|
-
const forkPath = await fs.mkdtemp(join(baseDir, 'aztec-store-fork-'));
|
|
72
|
-
this.#log.verbose(`Forking store to ${forkPath}`);
|
|
73
|
-
await this.#rootDb.backup(forkPath, false);
|
|
74
|
-
const forkDb = open(forkPath, {
|
|
75
|
-
noSync: this.isEphemeral
|
|
76
|
-
});
|
|
77
|
-
this.#log.debug(`Forked store at ${forkPath} opened successfully`);
|
|
78
|
-
return new AztecLmdbStore(forkDb, this.isEphemeral, forkPath);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
67
|
* Creates a new AztecMap in the store.
|
|
82
68
|
* @param name - Name of the map
|
|
83
69
|
* @returns A new AztecMap
|
|
@@ -96,26 +82,12 @@ import { LmdbAztecSingleton } from './singleton.js';
|
|
|
96
82
|
* @param name - Name of the map
|
|
97
83
|
* @returns A new AztecMultiMap
|
|
98
84
|
*/ openMultiMap(name) {
|
|
99
|
-
return new
|
|
85
|
+
return new LmdbAztecMultiMap(this.#multiMapData, name);
|
|
100
86
|
}
|
|
101
87
|
openCounter(name) {
|
|
102
88
|
return new LmdbAztecCounter(this.#data, name);
|
|
103
89
|
}
|
|
104
90
|
/**
|
|
105
|
-
* Creates a new AztecMultiMapWithSize in the store. A multi-map with size stores multiple values for a single key automatically.
|
|
106
|
-
* @param name - Name of the map
|
|
107
|
-
* @returns A new AztecMultiMapWithSize
|
|
108
|
-
*/ openMultiMapWithSize(name) {
|
|
109
|
-
return new LmdbAztecMapWithSize(this.#multiMapData, name);
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Creates a new AztecMapWithSize in the store.
|
|
113
|
-
* @param name - Name of the map
|
|
114
|
-
* @returns A new AztecMapWithSize
|
|
115
|
-
*/ openMapWithSize(name) {
|
|
116
|
-
return new LmdbAztecMapWithSize(this.#data, name);
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
91
|
* Creates a new AztecArray in the store.
|
|
120
92
|
* @param name - Name of the array
|
|
121
93
|
* @returns A new AztecArray
|
|
@@ -144,18 +116,22 @@ import { LmdbAztecSingleton } from './singleton.js';
|
|
|
144
116
|
return await this.#rootDb.transaction(callback);
|
|
145
117
|
}
|
|
146
118
|
/**
|
|
147
|
-
* Clears all entries in the store & sub DBs.
|
|
119
|
+
* Clears all entries in the store & sub DBs atomically within a single transaction.
|
|
148
120
|
*/ async clear() {
|
|
149
|
-
await this.#
|
|
150
|
-
|
|
151
|
-
|
|
121
|
+
await this.#rootDb.transaction(async ()=>{
|
|
122
|
+
await this.#data.clearAsync();
|
|
123
|
+
await this.#multiMapData.clearAsync();
|
|
124
|
+
await this.#rootDb.clearAsync();
|
|
125
|
+
});
|
|
152
126
|
}
|
|
153
127
|
/**
|
|
154
|
-
* Drops the database & sub DBs.
|
|
128
|
+
* Drops the database & sub DBs atomically within a single transaction.
|
|
155
129
|
*/ async drop() {
|
|
156
|
-
await this.#
|
|
157
|
-
|
|
158
|
-
|
|
130
|
+
await this.#rootDb.transaction(async ()=>{
|
|
131
|
+
await this.#data.drop();
|
|
132
|
+
await this.#multiMapData.drop();
|
|
133
|
+
await this.#rootDb.drop();
|
|
134
|
+
});
|
|
159
135
|
}
|
|
160
136
|
/**
|
|
161
137
|
* Close the database. Note, once this is closed we can no longer interact with the DB.
|
|
@@ -184,10 +160,15 @@ import { LmdbAztecSingleton } from './singleton.js';
|
|
|
184
160
|
if ('mapSize' in stats && typeof stats.mapSize === 'number') {
|
|
185
161
|
mapSize = stats.mapSize;
|
|
186
162
|
}
|
|
163
|
+
let physicalFileSize = 0;
|
|
164
|
+
if ('physicalFileSize' in stats && typeof stats.physicalFileSize === 'number') {
|
|
165
|
+
physicalFileSize = stats.physicalFileSize;
|
|
166
|
+
}
|
|
187
167
|
const dataResult = this.estimateSubDBSize(this.#data);
|
|
188
168
|
const multiResult = this.estimateSubDBSize(this.#multiMapData);
|
|
189
169
|
return Promise.resolve({
|
|
190
170
|
mappingSize: mapSize,
|
|
171
|
+
physicalFileSize: physicalFileSize,
|
|
191
172
|
actualSize: dataResult.actualSize + multiResult.actualSize,
|
|
192
173
|
numItems: dataResult.numItems + multiResult.numItems
|
|
193
174
|
});
|
|
@@ -213,4 +194,7 @@ import { LmdbAztecSingleton } from './singleton.js';
|
|
|
213
194
|
numItems
|
|
214
195
|
};
|
|
215
196
|
}
|
|
197
|
+
backupTo(_dstPath, _compact) {
|
|
198
|
+
throw new Error('Method not implemented.');
|
|
199
|
+
}
|
|
216
200
|
}
|
package/dest/lmdb-v2/array.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AztecAsyncArray } from '../interfaces/array.js';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import type { Value } from '../interfaces/common.js';
|
|
3
|
+
import type { AztecLMDBStoreV2 } from './store.js';
|
|
4
|
+
export declare class LMDBArray<T extends Value> implements AztecAsyncArray<T> {
|
|
4
5
|
private store;
|
|
5
6
|
private length;
|
|
6
7
|
private encoder;
|
|
@@ -15,4 +16,4 @@ export declare class LMDBArray<T> implements AztecAsyncArray<T> {
|
|
|
15
16
|
valuesAsync(): AsyncIterableIterator<T>;
|
|
16
17
|
[Symbol.asyncIterator](): AsyncIterableIterator<T>;
|
|
17
18
|
}
|
|
18
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sbWRiLXYyL2FycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3JELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBSW5ELHFCQUFhLFNBQVMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxDQUFFLFlBQVcsZUFBZSxDQUFDLENBQUMsQ0FBQztJQU1qRSxPQUFPLENBQUMsS0FBSztJQUxmLE9BQU8sQ0FBQyxNQUFNLENBQThCO0lBQzVDLE9BQU8sQ0FBQyxPQUFPLENBQWlCO0lBQ2hDLE9BQU8sQ0FBQyxNQUFNLENBQVM7SUFFdkIsWUFDVSxLQUFLLEVBQUUsZ0JBQWdCLEVBQy9CLElBQUksRUFBRSxNQUFNLEVBSWI7SUFFRCxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FjNUI7SUFFRCxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQVNsQztJQUVELEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQVk3QztJQUVELE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBYTdDO0lBRUssV0FBVyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFbkM7SUFFTSxZQUFZLElBQUkscUJBQXFCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0F5QnhEO0lBRU0sV0FBVyxJQUFJLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUk3QztJQUVELENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUVqRDtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/array.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/array.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAInD,qBAAa,SAAS,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IAMjE,OAAO,CAAC,KAAK;IALf,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAS;IAEvB,YACU,KAAK,EAAE,gBAAgB,EAC/B,IAAI,EAAE,MAAM,EAIb;IAED,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAc5B;IAED,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CASlC;IAED,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAY7C;IAED,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAa7C;IAEK,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAEnC;IAEM,YAAY,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAyBxD;IAEM,WAAW,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAI7C;IAED,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAEjD;CACF"}
|
package/dest/lmdb-v2/array.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
var _computedKey;
|
|
1
2
|
import { Encoder } from 'msgpackr/pack';
|
|
2
|
-
import { execInReadTx, execInWriteTx } from './
|
|
3
|
+
import { execInReadTx, execInWriteTx } from './tx-helpers.js';
|
|
3
4
|
import { deserializeKey, serializeKey } from './utils.js';
|
|
5
|
+
_computedKey = Symbol.asyncIterator;
|
|
4
6
|
export class LMDBArray {
|
|
5
7
|
store;
|
|
6
8
|
length;
|
|
@@ -95,7 +97,7 @@ export class LMDBArray {
|
|
|
95
97
|
yield value;
|
|
96
98
|
}
|
|
97
99
|
}
|
|
98
|
-
[
|
|
100
|
+
[_computedKey]() {
|
|
99
101
|
return this.valuesAsync();
|
|
100
102
|
}
|
|
101
103
|
}
|