@aztec/kv-store 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.76.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
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a singleton value in the database.
|
|
3
|
+
* Note: The singleton loses type info so it's recommended to serialize to buffer when storing it.
|
|
4
|
+
*/
|
|
5
|
+
interface AztecBaseSingleton<T> {
|
|
6
|
+
/**
|
|
7
|
+
* Sets the value.
|
|
8
|
+
* @param val - The new value
|
|
9
|
+
*/
|
|
10
|
+
set(val: T): Promise<boolean>;
|
|
11
|
+
/**
|
|
12
|
+
* Deletes the value.
|
|
13
|
+
*/
|
|
14
|
+
delete(): Promise<boolean>;
|
|
15
|
+
}
|
|
16
|
+
export interface AztecSingleton<T> extends AztecBaseSingleton<T> {
|
|
17
|
+
/**
|
|
18
|
+
* Gets the value.
|
|
19
|
+
*/
|
|
20
|
+
get(): T | undefined;
|
|
21
|
+
}
|
|
22
|
+
export interface AztecAsyncSingleton<T> extends AztecBaseSingleton<T> {
|
|
23
|
+
/**
|
|
24
|
+
* Gets the value.
|
|
25
|
+
*/
|
|
26
|
+
getAsync(): Promise<T | undefined>;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=singleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../../src/interfaces/singleton.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,UAAU,kBAAkB,CAAC,CAAC;IAC5B;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9B;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5B;AACD,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;IAC9D;;OAEG;IACH,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;IACnE;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CACpC"}
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Note: The singleton loses type info so it's recommended to serialize to buffer when storing it.
|
|
4
|
-
*/ export { };
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xldG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvc2luZ2xldG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type AztecAsyncKVStore, type AztecKVStore } from './store.js';
|
|
2
|
+
export declare function describeAztecSingleton(testName: string, getStore: () => AztecKVStore | Promise<AztecAsyncKVStore>, forceAsync?: boolean): void;
|
|
3
|
+
//# sourceMappingURL=singleton_test_suite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"singleton_test_suite.d.ts","sourceRoot":"","sources":["../../src/interfaces/singleton_test_suite.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGvE,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC,EACzD,UAAU,GAAE,OAAe,QAoC5B"}
|
|
@@ -1,30 +1,33 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
2
|
import { isSyncStore } from './utils.js';
|
|
3
3
|
export function describeAztecSingleton(testName, getStore, forceAsync = false) {
|
|
4
|
-
describe(testName, ()=>{
|
|
4
|
+
describe(testName, () => {
|
|
5
5
|
let store;
|
|
6
6
|
let singleton;
|
|
7
|
-
beforeEach(async ()=>{
|
|
7
|
+
beforeEach(async () => {
|
|
8
8
|
store = await getStore();
|
|
9
9
|
singleton = store.openSingleton('test');
|
|
10
10
|
});
|
|
11
|
-
afterEach(async ()=>{
|
|
11
|
+
afterEach(async () => {
|
|
12
12
|
await store.delete();
|
|
13
13
|
});
|
|
14
14
|
async function get() {
|
|
15
|
-
return isSyncStore(store) && !forceAsync
|
|
15
|
+
return isSyncStore(store) && !forceAsync
|
|
16
|
+
? singleton.get()
|
|
17
|
+
: await singleton.getAsync();
|
|
16
18
|
}
|
|
17
|
-
it('returns undefined if the value is not set', async ()=>{
|
|
19
|
+
it('returns undefined if the value is not set', async () => {
|
|
18
20
|
expect(await get()).to.equal(undefined);
|
|
19
21
|
});
|
|
20
|
-
it('should be able to set and get values', async ()=>{
|
|
22
|
+
it('should be able to set and get values', async () => {
|
|
21
23
|
expect(await singleton.set('foo')).to.equal(true);
|
|
22
24
|
expect(await get()).to.equal('foo');
|
|
23
25
|
});
|
|
24
|
-
it('overwrites the value if it is set again', async ()=>{
|
|
26
|
+
it('overwrites the value if it is set again', async () => {
|
|
25
27
|
expect(await singleton.set('foo')).to.equal(true);
|
|
26
28
|
expect(await singleton.set('bar')).to.equal(true);
|
|
27
29
|
expect(await get()).to.equal('bar');
|
|
28
30
|
});
|
|
29
31
|
});
|
|
30
32
|
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xldG9uX3Rlc3Rfc3VpdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9zaW5nbGV0b25fdGVzdF9zdWl0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTlCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFekMsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxRQUFnQixFQUNoQixRQUF5RCxFQUN6RCxhQUFzQixLQUFLO0lBRTNCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ3RCLElBQUksS0FBdUMsQ0FBQztRQUM1QyxJQUFJLFNBQStELENBQUM7UUFFcEUsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3BCLEtBQUssR0FBRyxNQUFNLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLFNBQVMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFTLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ25CLE1BQU0sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxVQUFVLEdBQUc7WUFDaEIsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVO2dCQUN0QyxDQUFDLENBQUUsU0FBb0MsQ0FBQyxHQUFHLEVBQUU7Z0JBQzdDLENBQUMsQ0FBQyxNQUFPLFNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEUsQ0FBQztRQUVELEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUN6RCxNQUFNLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsc0NBQXNDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDcEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEQsTUFBTSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHlDQUF5QyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3ZELE1BQU0sQ0FBQyxNQUFNLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xELE1BQU0sQ0FBQyxNQUFNLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xELE1BQU0sQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyJ9
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { type AztecArray, type AztecAsyncArray } from './array.js';
|
|
2
|
+
import { type Key, type StoreSize } from './common.js';
|
|
3
|
+
import { type AztecAsyncCounter, type AztecCounter } from './counter.js';
|
|
4
|
+
import { type AztecAsyncMap, type AztecAsyncMultiMap, type AztecMap, type AztecMapWithSize, type AztecMultiMap, type AztecMultiMapWithSize } from './map.js';
|
|
5
|
+
import { type AztecAsyncSet, type AztecSet } from './set.js';
|
|
6
|
+
import { type AztecAsyncSingleton, type AztecSingleton } from './singleton.js';
|
|
7
|
+
/** A key-value store */
|
|
8
|
+
export interface AztecKVStore {
|
|
9
|
+
syncGetters: true;
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new map.
|
|
12
|
+
* @param name - The name of the map
|
|
13
|
+
* @returns The map
|
|
14
|
+
*/
|
|
15
|
+
openMap<K extends Key, V>(name: string): AztecMap<K, V>;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new set.
|
|
18
|
+
* @param name - The name of the set
|
|
19
|
+
* @returns The set
|
|
20
|
+
*/
|
|
21
|
+
openSet<K extends Key>(name: string): AztecSet<K>;
|
|
22
|
+
/**
|
|
23
|
+
* Creates a new multi-map.
|
|
24
|
+
* @param name - The name of the multi-map
|
|
25
|
+
* @returns The multi-map
|
|
26
|
+
*/
|
|
27
|
+
openMultiMap<K extends Key, V>(name: string): AztecMultiMap<K, V>;
|
|
28
|
+
/**
|
|
29
|
+
* Creates a new multi-map with size.
|
|
30
|
+
* @param name - The name of the multi-map
|
|
31
|
+
* @returns The multi-map
|
|
32
|
+
*/
|
|
33
|
+
openMultiMapWithSize<K extends Key, V>(name: string): AztecMultiMapWithSize<K, V>;
|
|
34
|
+
/**
|
|
35
|
+
* Creates a new map with size.
|
|
36
|
+
* @param name - The name of the map
|
|
37
|
+
* @returns The map
|
|
38
|
+
*/
|
|
39
|
+
openMapWithSize<K extends Key, V>(name: string): AztecMapWithSize<K, V>;
|
|
40
|
+
/**
|
|
41
|
+
* Creates a new array.
|
|
42
|
+
* @param name - The name of the array
|
|
43
|
+
* @returns The array
|
|
44
|
+
*/
|
|
45
|
+
openArray<T>(name: string): AztecArray<T>;
|
|
46
|
+
/**
|
|
47
|
+
* Creates a new singleton.
|
|
48
|
+
* @param name - The name of the singleton
|
|
49
|
+
* @returns The singleton
|
|
50
|
+
*/
|
|
51
|
+
openSingleton<T>(name: string): AztecSingleton<T>;
|
|
52
|
+
/**
|
|
53
|
+
* Creates a new count map.
|
|
54
|
+
* @param name - name of the counter
|
|
55
|
+
*/
|
|
56
|
+
openCounter<K extends Key>(name: string): AztecCounter<K>;
|
|
57
|
+
/**
|
|
58
|
+
* Starts a transaction. All calls to read/write data while in a transaction are queued and executed atomically.
|
|
59
|
+
* @param callback - The callback to execute in a transaction
|
|
60
|
+
*/
|
|
61
|
+
transaction<T extends Exclude<any, Promise<any>>>(callback: () => T): Promise<T>;
|
|
62
|
+
/**
|
|
63
|
+
* Clears all entries in the store
|
|
64
|
+
*/
|
|
65
|
+
clear(): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Forks the store.
|
|
68
|
+
*/
|
|
69
|
+
fork(): Promise<AztecKVStore>;
|
|
70
|
+
/**
|
|
71
|
+
* Deletes the store
|
|
72
|
+
*/
|
|
73
|
+
delete(): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Estimates the size of the store in bytes.
|
|
76
|
+
*/
|
|
77
|
+
estimateSize(): Promise<StoreSize>;
|
|
78
|
+
/**
|
|
79
|
+
* Closes the store
|
|
80
|
+
*/
|
|
81
|
+
close(): Promise<void>;
|
|
82
|
+
}
|
|
83
|
+
export interface AztecAsyncKVStore {
|
|
84
|
+
/**
|
|
85
|
+
* Creates a new map.
|
|
86
|
+
* @param name - The name of the map
|
|
87
|
+
* @returns The map
|
|
88
|
+
*/
|
|
89
|
+
openMap<K extends Key, V>(name: string): AztecAsyncMap<K, V>;
|
|
90
|
+
/**
|
|
91
|
+
* Creates a new set.
|
|
92
|
+
* @param name - The name of the set
|
|
93
|
+
* @returns The set
|
|
94
|
+
*/
|
|
95
|
+
openSet<K extends Key>(name: string): AztecAsyncSet<K>;
|
|
96
|
+
/**
|
|
97
|
+
* Creates a new multi-map.
|
|
98
|
+
* @param name - The name of the multi-map
|
|
99
|
+
* @returns The multi-map
|
|
100
|
+
*/
|
|
101
|
+
openMultiMap<K extends Key, V>(name: string): AztecAsyncMultiMap<K, V>;
|
|
102
|
+
/**
|
|
103
|
+
* Creates a new array.
|
|
104
|
+
* @param name - The name of the array
|
|
105
|
+
* @returns The array
|
|
106
|
+
*/
|
|
107
|
+
openArray<T>(name: string): AztecAsyncArray<T>;
|
|
108
|
+
/**
|
|
109
|
+
* Creates a new singleton.
|
|
110
|
+
* @param name - The name of the singleton
|
|
111
|
+
* @returns The singleton
|
|
112
|
+
*/
|
|
113
|
+
openSingleton<T>(name: string): AztecAsyncSingleton<T>;
|
|
114
|
+
/**
|
|
115
|
+
* Creates a new count map.
|
|
116
|
+
* @param name - name of the counter
|
|
117
|
+
*/
|
|
118
|
+
openCounter<K extends Key>(name: string): AztecAsyncCounter<K>;
|
|
119
|
+
/**
|
|
120
|
+
* Starts a transaction. All calls to read/write data while in a transaction are queued and executed atomically.
|
|
121
|
+
* @param callback - The callback to execute in a transaction
|
|
122
|
+
*/
|
|
123
|
+
transactionAsync<T extends Exclude<any, Promise<any>>>(callback: () => Promise<T>): Promise<T>;
|
|
124
|
+
/**
|
|
125
|
+
* Clears all entries in the store
|
|
126
|
+
*/
|
|
127
|
+
clear(): Promise<void>;
|
|
128
|
+
/**
|
|
129
|
+
* Forks the store.
|
|
130
|
+
*/
|
|
131
|
+
fork(): Promise<AztecAsyncKVStore>;
|
|
132
|
+
/**
|
|
133
|
+
* Deletes the store
|
|
134
|
+
*/
|
|
135
|
+
delete(): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* Estimates the size of the store in bytes.
|
|
138
|
+
*/
|
|
139
|
+
estimateSize(): Promise<StoreSize>;
|
|
140
|
+
/**
|
|
141
|
+
* Closes the store
|
|
142
|
+
*/
|
|
143
|
+
close(): Promise<void>;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/interfaces/store.ts"],"names":[],"mappings":"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"}
|
package/dest/interfaces/store.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type AztecAsyncKVStore, type AztecKVStore } from './store.js';
|
|
2
|
+
export declare function describeAztecStore(testName: string, getPersistentStore: () => Promise<AztecKVStore | AztecAsyncKVStore>, getPersistentNoPathStore: () => Promise<AztecKVStore | AztecAsyncKVStore>, getEphemeralStore: () => Promise<AztecKVStore | AztecAsyncKVStore>): void;
|
|
3
|
+
//# sourceMappingURL=store_test_suite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store_test_suite.d.ts","sourceRoot":"","sources":["../../src/interfaces/store_test_suite.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGvE,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,OAAO,CAAC,YAAY,GAAG,iBAAiB,CAAC,EACnE,wBAAwB,EAAE,MAAM,OAAO,CAAC,YAAY,GAAG,iBAAiB,CAAC,EACzE,iBAAiB,EAAE,MAAM,OAAO,CAAC,YAAY,GAAG,iBAAiB,CAAC,QA6CnE"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
2
|
import { isSyncStore } from './utils.js';
|
|
3
3
|
export function describeAztecStore(testName, getPersistentStore, getPersistentNoPathStore, getEphemeralStore) {
|
|
4
|
-
describe(testName, ()=>{
|
|
4
|
+
describe(testName, () => {
|
|
5
5
|
async function get(store, singleton) {
|
|
6
|
-
return isSyncStore(store)
|
|
6
|
+
return isSyncStore(store)
|
|
7
|
+
? singleton.get()
|
|
8
|
+
: await singleton.getAsync();
|
|
7
9
|
}
|
|
8
|
-
const itForks = async (store)=>{
|
|
10
|
+
const itForks = async (store) => {
|
|
9
11
|
const singleton = store.openSingleton('singleton');
|
|
10
12
|
await singleton.set('foo');
|
|
11
13
|
const forkedStore = await store.fork();
|
|
@@ -18,20 +20,21 @@ export function describeAztecStore(testName, getPersistentStore, getPersistentNo
|
|
|
18
20
|
expect(await get(store, singleton)).to.equal('foo');
|
|
19
21
|
await forkedStore.delete();
|
|
20
22
|
};
|
|
21
|
-
it('forks a persistent store', async ()=>{
|
|
23
|
+
it('forks a persistent store', async () => {
|
|
22
24
|
const store = await getPersistentStore();
|
|
23
25
|
await itForks(store);
|
|
24
26
|
await store.delete();
|
|
25
27
|
});
|
|
26
|
-
it('forks a persistent store with no path', async ()=>{
|
|
28
|
+
it('forks a persistent store with no path', async () => {
|
|
27
29
|
const store = await getPersistentNoPathStore();
|
|
28
30
|
await itForks(store);
|
|
29
31
|
await store.delete();
|
|
30
32
|
});
|
|
31
|
-
it('forks an ephemeral store', async ()=>{
|
|
33
|
+
it('forks an ephemeral store', async () => {
|
|
32
34
|
const store = await getEphemeralStore();
|
|
33
35
|
await itForks(store);
|
|
34
36
|
await store.delete();
|
|
35
37
|
});
|
|
36
38
|
});
|
|
37
39
|
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVfdGVzdF9zdWl0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmZhY2VzL3N0b3JlX3Rlc3Rfc3VpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUk5QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXpDLE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsUUFBZ0IsRUFDaEIsa0JBQW1FLEVBQ25FLHdCQUF5RSxFQUN6RSxpQkFBa0U7SUFFbEUsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDdEIsS0FBSyxVQUFVLEdBQUcsQ0FDaEIsS0FBdUMsRUFDdkMsU0FBK0Q7WUFFL0QsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDO2dCQUN2QixDQUFDLENBQUUsU0FBb0MsQ0FBQyxHQUFHLEVBQUU7Z0JBQzdDLENBQUMsQ0FBQyxNQUFPLFNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEUsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxLQUF1QyxFQUFFLEVBQUU7WUFDaEUsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBUyxXQUFXLENBQUMsQ0FBQztZQUMzRCxNQUFNLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFM0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkMsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBUyxXQUFXLENBQUMsQ0FBQztZQUN2RSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRCxNQUFNLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEUsTUFBTSxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsTUFBTSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDO1FBRUYsRUFBRSxDQUFDLDBCQUEwQixFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3hDLE1BQU0sS0FBSyxHQUFHLE1BQU0sa0JBQWtCLEVBQUUsQ0FBQztZQUN6QyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixNQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNyRCxNQUFNLEtBQUssR0FBRyxNQUFNLHdCQUF3QixFQUFFLENBQUM7WUFDL0MsTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsTUFBTSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDeEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIn0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type AztecAsyncKVStore, type AztecKVStore } from './store.js';
|
|
2
|
+
export declare const mockLogger: {
|
|
3
|
+
debug: (msg: string, data: any) => void;
|
|
4
|
+
info: (msg: string, data: any) => void;
|
|
5
|
+
warn: (msg: string, data: any) => void;
|
|
6
|
+
error: (msg: string, data: any) => void;
|
|
7
|
+
fatal: (msg: string, data: any) => void;
|
|
8
|
+
silent: (_msg: string, _data: any) => void;
|
|
9
|
+
verbose: (msg: string, data: any) => void;
|
|
10
|
+
trace: (msg: string, data: any) => void;
|
|
11
|
+
level: "trace";
|
|
12
|
+
isLevelEnabled: (_level: string) => boolean;
|
|
13
|
+
module: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function isSyncStore(store: AztecKVStore | AztecAsyncKVStore): store is AztecAsyncKVStore;
|
|
16
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/interfaces/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGvE,eAAO,MAAM,UAAU;iBACR,MAAM,QAAQ,GAAG;gBAClB,MAAM,QAAQ,GAAG;gBACjB,MAAM,QAAQ,GAAG;iBAChB,MAAM,QAAQ,GAAG;iBACjB,MAAM,QAAQ,GAAG;mBACf,MAAM,SAAS,GAAG;mBAClB,MAAM,QAAQ,GAAG;iBACnB,MAAM,QAAQ,GAAG;;6BAEL,MAAM;;CAEhC,CAAC;AAGF,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,GAAG,KAAK,IAAI,iBAAiB,CAE/F"}
|
package/dest/interfaces/utils.js
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
/* eslint-disable no-console */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
export const mockLogger = {
|
|
3
|
+
debug: (msg, data) => console.log(msg, data),
|
|
4
|
+
info: (msg, data) => console.log(msg, data),
|
|
5
|
+
warn: (msg, data) => console.log(msg, data),
|
|
6
|
+
error: (msg, data) => console.error(msg, data),
|
|
7
|
+
fatal: (msg, data) => console.error(msg, data),
|
|
8
|
+
silent: (_msg, _data) => { },
|
|
9
|
+
verbose: (msg, data) => console.log(msg, data),
|
|
10
|
+
trace: (msg, data) => console.log(msg, data),
|
|
10
11
|
level: 'trace',
|
|
11
|
-
isLevelEnabled: (_level)=>true,
|
|
12
|
-
module: 'kv-store:mock-logger'
|
|
12
|
+
isLevelEnabled: (_level) => true,
|
|
13
|
+
module: 'kv-store:mock-logger',
|
|
13
14
|
};
|
|
14
|
-
/* eslint-enable no-console */
|
|
15
|
+
/* eslint-enable no-console */
|
|
16
|
+
export function isSyncStore(store) {
|
|
15
17
|
return store.syncGetters === true;
|
|
16
18
|
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSwrQkFBK0I7QUFDL0IsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLEtBQUssRUFBRSxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQztJQUN6RCxJQUFJLEVBQUUsQ0FBQyxHQUFXLEVBQUUsSUFBUyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUM7SUFDeEQsSUFBSSxFQUFFLENBQUMsR0FBVyxFQUFFLElBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDO0lBQ3hELEtBQUssRUFBRSxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQztJQUMzRCxLQUFLLEVBQUUsQ0FBQyxHQUFXLEVBQUUsSUFBUyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUM7SUFDM0QsTUFBTSxFQUFFLENBQUMsSUFBWSxFQUFFLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQztJQUN4QyxPQUFPLEVBQUUsQ0FBQyxHQUFXLEVBQUUsSUFBUyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUM7SUFDM0QsS0FBSyxFQUFFLENBQUMsR0FBVyxFQUFFLElBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDO0lBQ3pELEtBQUssRUFBRSxPQUFnQjtJQUN2QixjQUFjLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLElBQUk7SUFDeEMsTUFBTSxFQUFFLHNCQUFzQjtDQUMvQixDQUFDO0FBQ0YsOEJBQThCO0FBRTlCLE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBdUM7SUFDakUsT0FBUSxLQUFzQixDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUM7QUFDdEQsQ0FBQyJ9
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type Database, type Key } from 'lmdb';
|
|
2
|
+
import { type AztecArray, type AztecAsyncArray } from '../interfaces/array.js';
|
|
3
|
+
/**
|
|
4
|
+
* An persistent array backed by LMDB.
|
|
5
|
+
*/
|
|
6
|
+
export declare class LmdbAztecArray<T> implements AztecArray<T>, AztecAsyncArray<T> {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(db: Database<unknown, Key>, arrName: string);
|
|
9
|
+
get length(): number;
|
|
10
|
+
lengthAsync(): Promise<number>;
|
|
11
|
+
push(...vals: T[]): Promise<number>;
|
|
12
|
+
pop(): Promise<T | undefined>;
|
|
13
|
+
at(index: number): T | undefined;
|
|
14
|
+
atAsync(index: number): Promise<T | undefined>;
|
|
15
|
+
setAt(index: number, val: T): Promise<boolean>;
|
|
16
|
+
entries(): IterableIterator<[number, T]>;
|
|
17
|
+
entriesAsync(): AsyncIterableIterator<[number, T]>;
|
|
18
|
+
values(): IterableIterator<T>;
|
|
19
|
+
valuesAsync(): AsyncIterableIterator<T>;
|
|
20
|
+
[Symbol.iterator](): IterableIterator<T>;
|
|
21
|
+
[Symbol.asyncIterator](): AsyncIterableIterator<T>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/lmdb/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAE/C,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM/E;;GAEG;AACH,qBAAa,cAAc,CAAC,CAAC,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;;gBAK7D,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM;IAMvD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAcnC,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAiB7B,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAchC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI9C,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAY7C,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAkBlC,YAAY,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAMxD,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAMvB,WAAW,IAAI,qBAAqB,CAAC,CAAC,CAAC;IAM9C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAIxC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC;CAOnD"}
|
package/dest/lmdb/array.js
CHANGED
|
@@ -1,42 +1,46 @@
|
|
|
1
|
+
var _LmdbAztecArray_instances, _LmdbAztecArray_db, _LmdbAztecArray_name, _LmdbAztecArray_length, _LmdbAztecArray_slot;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
import { LmdbAztecSingleton } from './singleton.js';
|
|
2
4
|
/**
|
|
3
5
|
* An persistent array backed by LMDB.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
this
|
|
10
|
-
this
|
|
11
|
-
this
|
|
6
|
+
*/
|
|
7
|
+
export class LmdbAztecArray {
|
|
8
|
+
constructor(db, arrName) {
|
|
9
|
+
_LmdbAztecArray_instances.add(this);
|
|
10
|
+
_LmdbAztecArray_db.set(this, void 0);
|
|
11
|
+
_LmdbAztecArray_name.set(this, void 0);
|
|
12
|
+
_LmdbAztecArray_length.set(this, void 0);
|
|
13
|
+
__classPrivateFieldSet(this, _LmdbAztecArray_name, arrName, "f");
|
|
14
|
+
__classPrivateFieldSet(this, _LmdbAztecArray_length, new LmdbAztecSingleton(db, `${arrName}:meta:length`), "f");
|
|
15
|
+
__classPrivateFieldSet(this, _LmdbAztecArray_db, db, "f");
|
|
12
16
|
}
|
|
13
17
|
get length() {
|
|
14
|
-
return this
|
|
18
|
+
return __classPrivateFieldGet(this, _LmdbAztecArray_length, "f").get() ?? 0;
|
|
15
19
|
}
|
|
16
20
|
lengthAsync() {
|
|
17
21
|
return Promise.resolve(this.length);
|
|
18
22
|
}
|
|
19
23
|
push(...vals) {
|
|
20
|
-
return this
|
|
24
|
+
return __classPrivateFieldGet(this, _LmdbAztecArray_db, "f").childTransaction(() => {
|
|
21
25
|
let length = this.length;
|
|
22
|
-
for (const val of vals){
|
|
23
|
-
void this
|
|
26
|
+
for (const val of vals) {
|
|
27
|
+
void __classPrivateFieldGet(this, _LmdbAztecArray_db, "f").put(__classPrivateFieldGet(this, _LmdbAztecArray_instances, "m", _LmdbAztecArray_slot).call(this, length), val);
|
|
24
28
|
length += 1;
|
|
25
29
|
}
|
|
26
|
-
void this
|
|
30
|
+
void __classPrivateFieldGet(this, _LmdbAztecArray_length, "f").set(length);
|
|
27
31
|
return length;
|
|
28
32
|
});
|
|
29
33
|
}
|
|
30
34
|
pop() {
|
|
31
|
-
return this
|
|
35
|
+
return __classPrivateFieldGet(this, _LmdbAztecArray_db, "f").childTransaction(() => {
|
|
32
36
|
const length = this.length;
|
|
33
37
|
if (length === 0) {
|
|
34
38
|
return undefined;
|
|
35
39
|
}
|
|
36
|
-
const slot = this
|
|
37
|
-
const val = this
|
|
38
|
-
void this
|
|
39
|
-
void this
|
|
40
|
+
const slot = __classPrivateFieldGet(this, _LmdbAztecArray_instances, "m", _LmdbAztecArray_slot).call(this, length - 1);
|
|
41
|
+
const val = __classPrivateFieldGet(this, _LmdbAztecArray_db, "f").get(slot);
|
|
42
|
+
void __classPrivateFieldGet(this, _LmdbAztecArray_db, "f").remove(slot);
|
|
43
|
+
void __classPrivateFieldGet(this, _LmdbAztecArray_length, "f").set(length - 1);
|
|
40
44
|
return val;
|
|
41
45
|
});
|
|
42
46
|
}
|
|
@@ -49,7 +53,7 @@ import { LmdbAztecSingleton } from './singleton.js';
|
|
|
49
53
|
if (index < 0 || index >= this.length) {
|
|
50
54
|
return undefined;
|
|
51
55
|
}
|
|
52
|
-
return this
|
|
56
|
+
return __classPrivateFieldGet(this, _LmdbAztecArray_db, "f").get(__classPrivateFieldGet(this, _LmdbAztecArray_instances, "m", _LmdbAztecArray_slot).call(this, index));
|
|
53
57
|
}
|
|
54
58
|
atAsync(index) {
|
|
55
59
|
return Promise.resolve(this.at(index));
|
|
@@ -61,57 +65,48 @@ import { LmdbAztecSingleton } from './singleton.js';
|
|
|
61
65
|
if (index < 0 || index >= this.length) {
|
|
62
66
|
return Promise.resolve(false);
|
|
63
67
|
}
|
|
64
|
-
return this
|
|
68
|
+
return __classPrivateFieldGet(this, _LmdbAztecArray_db, "f").put(__classPrivateFieldGet(this, _LmdbAztecArray_instances, "m", _LmdbAztecArray_slot).call(this, index), val);
|
|
65
69
|
}
|
|
66
70
|
*entries() {
|
|
67
|
-
const transaction = this
|
|
71
|
+
const transaction = __classPrivateFieldGet(this, _LmdbAztecArray_db, "f").useReadTransaction();
|
|
68
72
|
try {
|
|
69
|
-
const values = this
|
|
70
|
-
start: this
|
|
73
|
+
const values = __classPrivateFieldGet(this, _LmdbAztecArray_db, "f").getRange({
|
|
74
|
+
start: __classPrivateFieldGet(this, _LmdbAztecArray_instances, "m", _LmdbAztecArray_slot).call(this, 0),
|
|
71
75
|
limit: this.length,
|
|
72
|
-
transaction
|
|
76
|
+
transaction,
|
|
73
77
|
});
|
|
74
|
-
for (const { key, value } of values){
|
|
78
|
+
for (const { key, value } of values) {
|
|
75
79
|
const index = key[3];
|
|
76
|
-
yield [
|
|
77
|
-
index,
|
|
78
|
-
value
|
|
79
|
-
];
|
|
80
|
+
yield [index, value];
|
|
80
81
|
}
|
|
81
|
-
}
|
|
82
|
+
}
|
|
83
|
+
finally {
|
|
82
84
|
transaction.done();
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
87
|
async *entriesAsync() {
|
|
86
|
-
for (const [key, value] of this.entries()){
|
|
87
|
-
yield [
|
|
88
|
-
key,
|
|
89
|
-
value
|
|
90
|
-
];
|
|
88
|
+
for (const [key, value] of this.entries()) {
|
|
89
|
+
yield [key, value];
|
|
91
90
|
}
|
|
92
91
|
}
|
|
93
92
|
*values() {
|
|
94
|
-
for (const [_, value] of this.entries()){
|
|
93
|
+
for (const [_, value] of this.entries()) {
|
|
95
94
|
yield value;
|
|
96
95
|
}
|
|
97
96
|
}
|
|
98
97
|
async *valuesAsync() {
|
|
99
|
-
for (const [_, value] of this.entries()){
|
|
98
|
+
for (const [_, value] of this.entries()) {
|
|
100
99
|
yield value;
|
|
101
100
|
}
|
|
102
101
|
}
|
|
103
|
-
[Symbol.iterator]() {
|
|
102
|
+
[(_LmdbAztecArray_db = new WeakMap(), _LmdbAztecArray_name = new WeakMap(), _LmdbAztecArray_length = new WeakMap(), _LmdbAztecArray_instances = new WeakSet(), Symbol.iterator)]() {
|
|
104
103
|
return this.values();
|
|
105
104
|
}
|
|
106
105
|
[Symbol.asyncIterator]() {
|
|
107
106
|
return this.valuesAsync();
|
|
108
107
|
}
|
|
109
|
-
#slot(index) {
|
|
110
|
-
return [
|
|
111
|
-
'array',
|
|
112
|
-
this.#name,
|
|
113
|
-
'slot',
|
|
114
|
-
index
|
|
115
|
-
];
|
|
116
|
-
}
|
|
117
108
|
}
|
|
109
|
+
_LmdbAztecArray_slot = function _LmdbAztecArray_slot(index) {
|
|
110
|
+
return ['array', __classPrivateFieldGet(this, _LmdbAztecArray_name, "f"), 'slot', index];
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi9hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3BEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBWSxFQUEwQixFQUFFLE9BQWU7O1FBSnZELHFDQUFpQztRQUNqQyx1Q0FBYztRQUNkLHlDQUFvQztRQUdsQyx1QkFBQSxJQUFJLHdCQUFTLE9BQU8sTUFBQSxDQUFDO1FBQ3JCLHVCQUFBLElBQUksMEJBQVcsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsR0FBRyxPQUFPLGNBQWMsQ0FBQyxNQUFBLENBQUM7UUFDcEUsdUJBQUEsSUFBSSxzQkFBTyxFQUFpQyxNQUFBLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sdUJBQUEsSUFBSSw4QkFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFHLElBQVM7UUFDZixPQUFPLHVCQUFBLElBQUksMEJBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN6QixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN2QixLQUFLLHVCQUFBLElBQUksMEJBQUksQ0FBQyxHQUFHLENBQUMsdUJBQUEsSUFBSSx1REFBTSxNQUFWLElBQUksRUFBTyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDM0MsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUNkLENBQUM7WUFFRCxLQUFLLHVCQUFBLElB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
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type Key as BaseKey, type Database } from 'lmdb';
|
|
2
|
+
import { type Key, type Range } from '../interfaces/common.js';
|
|
3
|
+
import { type AztecAsyncCounter, type AztecCounter } from '../interfaces/counter.js';
|
|
4
|
+
/**
|
|
5
|
+
* A counter implementation backed by LMDB
|
|
6
|
+
*/
|
|
7
|
+
export declare class LmdbAztecCounter<K extends Key> implements AztecCounter<K>, AztecAsyncCounter<K> {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(db: Database<unknown, BaseKey>, name: string);
|
|
10
|
+
set(key: K, value: number): Promise<void>;
|
|
11
|
+
update(key: K, delta?: number): Promise<void>;
|
|
12
|
+
get(key: K): number;
|
|
13
|
+
getAsync(key: K): Promise<number>;
|
|
14
|
+
entries(range?: Range<K>): IterableIterator<[K, number]>;
|
|
15
|
+
entriesAsync(range?: Range<K>): AsyncIterableIterator<[K, number]>;
|
|
16
|
+
keys(range?: Range<K>): IterableIterator<K>;
|
|
17
|
+
keysAsync(range?: Range<K>): AsyncIterableIterator<K>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=counter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../src/lmdb/counter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,MAAM,CAAC;AAE1D,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGrF;;GAEG;AACH,qBAAa,gBAAgB,CAAC,CAAC,SAAS,GAAG,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;;gBAK/E,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM;IAMlD,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM;IAInB,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjC,OAAO,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAIrD,YAAY,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAI7E,IAAI,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAIxC,SAAS,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC;CAGjE"}
|