@aztec/kv-store 0.66.0 → 0.67.1-devnet

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.
Files changed (103) hide show
  1. package/dest/indexeddb/array.d.ts +21 -0
  2. package/dest/indexeddb/array.d.ts.map +1 -0
  3. package/dest/indexeddb/array.js +96 -0
  4. package/dest/indexeddb/index.d.ts +7 -0
  5. package/dest/indexeddb/index.d.ts.map +1 -0
  6. package/dest/indexeddb/index.js +22 -0
  7. package/dest/indexeddb/map.d.ts +26 -0
  8. package/dest/indexeddb/map.d.ts.map +1 -0
  9. package/dest/indexeddb/map.js +104 -0
  10. package/dest/indexeddb/set.d.ts +17 -0
  11. package/dest/indexeddb/set.d.ts.map +1 -0
  12. package/dest/indexeddb/set.js +25 -0
  13. package/dest/indexeddb/singleton.d.ts +16 -0
  14. package/dest/indexeddb/singleton.d.ts.map +1 -0
  15. package/dest/indexeddb/singleton.js +42 -0
  16. package/dest/indexeddb/store.d.ts +100 -0
  17. package/dest/indexeddb/store.d.ts.map +1 -0
  18. package/dest/indexeddb/store.js +157 -0
  19. package/dest/interfaces/array.d.ts +43 -11
  20. package/dest/interfaces/array.d.ts.map +1 -1
  21. package/dest/interfaces/array_test_suite.d.ts +3 -0
  22. package/dest/interfaces/array_test_suite.d.ts.map +1 -0
  23. package/dest/interfaces/array_test_suite.js +100 -0
  24. package/dest/interfaces/counter.d.ts +21 -1
  25. package/dest/interfaces/counter.d.ts.map +1 -1
  26. package/dest/interfaces/map.d.ts +80 -12
  27. package/dest/interfaces/map.d.ts.map +1 -1
  28. package/dest/interfaces/map_test_suite.d.ts +3 -0
  29. package/dest/interfaces/map_test_suite.d.ts.map +1 -0
  30. package/dest/interfaces/map_test_suite.js +117 -0
  31. package/dest/interfaces/set.d.ts +23 -7
  32. package/dest/interfaces/set.d.ts.map +1 -1
  33. package/dest/interfaces/set_test_suite.d.ts +3 -0
  34. package/dest/interfaces/set_test_suite.d.ts.map +1 -0
  35. package/dest/interfaces/set_test_suite.js +59 -0
  36. package/dest/interfaces/singleton.d.ts +14 -5
  37. package/dest/interfaces/singleton.d.ts.map +1 -1
  38. package/dest/interfaces/singleton_test_suite.d.ts +3 -0
  39. package/dest/interfaces/singleton_test_suite.d.ts.map +1 -0
  40. package/dest/interfaces/singleton_test_suite.js +33 -0
  41. package/dest/interfaces/store.d.ts +83 -8
  42. package/dest/interfaces/store.d.ts.map +1 -1
  43. package/dest/interfaces/store_test_suite.d.ts +3 -0
  44. package/dest/interfaces/store_test_suite.d.ts.map +1 -0
  45. package/dest/interfaces/store_test_suite.js +40 -0
  46. package/dest/interfaces/utils.d.ts +16 -0
  47. package/dest/interfaces/utils.d.ts.map +1 -0
  48. package/dest/interfaces/utils.js +19 -0
  49. package/dest/lmdb/array.d.ts +7 -2
  50. package/dest/lmdb/array.d.ts.map +1 -1
  51. package/dest/lmdb/array.js +20 -1
  52. package/dest/lmdb/counter.d.ts +5 -2
  53. package/dest/lmdb/counter.d.ts.map +1 -1
  54. package/dest/lmdb/counter.js +10 -1
  55. package/dest/lmdb/index.d.ts +10 -0
  56. package/dest/lmdb/index.d.ts.map +1 -1
  57. package/dest/lmdb/index.js +28 -1
  58. package/dest/lmdb/map.d.ts +25 -3
  59. package/dest/lmdb/map.d.ts.map +1 -1
  60. package/dest/lmdb/map.js +112 -26
  61. package/dest/lmdb/set.d.ts +4 -2
  62. package/dest/lmdb/set.d.ts.map +1 -1
  63. package/dest/lmdb/set.js +9 -1
  64. package/dest/lmdb/singleton.d.ts +3 -2
  65. package/dest/lmdb/singleton.d.ts.map +1 -1
  66. package/dest/lmdb/singleton.js +4 -1
  67. package/dest/lmdb/store.d.ts +35 -15
  68. package/dest/lmdb/store.d.ts.map +1 -1
  69. package/dest/lmdb/store.js +47 -27
  70. package/dest/stores/l2_tips_store.d.ts +2 -2
  71. package/dest/stores/l2_tips_store.d.ts.map +1 -1
  72. package/dest/stores/l2_tips_store.js +13 -13
  73. package/dest/utils.d.ts +8 -7
  74. package/dest/utils.d.ts.map +1 -1
  75. package/dest/utils.js +6 -29
  76. package/package.json +54 -37
  77. package/src/indexeddb/array.ts +118 -0
  78. package/src/indexeddb/index.ts +29 -0
  79. package/src/indexeddb/map.ts +142 -0
  80. package/src/indexeddb/set.ts +37 -0
  81. package/src/indexeddb/singleton.ts +49 -0
  82. package/src/indexeddb/store.ts +193 -0
  83. package/src/interfaces/array.ts +48 -12
  84. package/src/interfaces/array_test_suite.ts +130 -0
  85. package/src/interfaces/counter.ts +23 -1
  86. package/src/interfaces/map.ts +90 -14
  87. package/src/interfaces/map_test_suite.ts +158 -0
  88. package/src/interfaces/set.ts +25 -8
  89. package/src/interfaces/set_test_suite.ts +81 -0
  90. package/src/interfaces/singleton.ts +14 -6
  91. package/src/interfaces/singleton_test_suite.ts +46 -0
  92. package/src/interfaces/store.ts +99 -8
  93. package/src/interfaces/store_test_suite.ts +56 -0
  94. package/src/interfaces/utils.ts +21 -0
  95. package/src/lmdb/array.ts +26 -2
  96. package/src/lmdb/counter.ts +14 -2
  97. package/src/lmdb/index.ts +36 -0
  98. package/src/lmdb/map.ts +130 -23
  99. package/src/lmdb/set.ts +12 -2
  100. package/src/lmdb/singleton.ts +6 -2
  101. package/src/lmdb/store.ts +73 -43
  102. package/src/stores/l2_tips_store.ts +17 -17
  103. package/src/utils.ts +8 -37
@@ -17,6 +17,9 @@ export class LmdbAztecArray {
17
17
  get length() {
18
18
  return __classPrivateFieldGet(this, _LmdbAztecArray_length, "f").get() ?? 0;
19
19
  }
20
+ lengthAsync() {
21
+ return Promise.resolve(this.length);
22
+ }
20
23
  push(...vals) {
21
24
  return __classPrivateFieldGet(this, _LmdbAztecArray_db, "f").childTransaction(() => {
22
25
  let length = this.length;
@@ -52,6 +55,9 @@ export class LmdbAztecArray {
52
55
  }
53
56
  return __classPrivateFieldGet(this, _LmdbAztecArray_db, "f").get(__classPrivateFieldGet(this, _LmdbAztecArray_instances, "m", _LmdbAztecArray_slot).call(this, index));
54
57
  }
58
+ atAsync(index) {
59
+ return Promise.resolve(this.at(index));
60
+ }
55
61
  setAt(index, val) {
56
62
  if (index < 0) {
57
63
  index = this.length + index;
@@ -71,16 +77,29 @@ export class LmdbAztecArray {
71
77
  yield [index, value];
72
78
  }
73
79
  }
80
+ async *entriesAsync() {
81
+ for (const [key, value] of this.entries()) {
82
+ yield [key, value];
83
+ }
84
+ }
74
85
  *values() {
75
86
  for (const [_, value] of this.entries()) {
76
87
  yield value;
77
88
  }
78
89
  }
90
+ async *valuesAsync() {
91
+ for (const [_, value] of this.entries()) {
92
+ yield value;
93
+ }
94
+ }
79
95
  [(_LmdbAztecArray_db = new WeakMap(), _LmdbAztecArray_name = new WeakMap(), _LmdbAztecArray_length = new WeakMap(), _LmdbAztecArray_instances = new WeakSet(), Symbol.iterator)]() {
80
96
  return this.values();
81
97
  }
98
+ [Symbol.asyncIterator]() {
99
+ return this.valuesAsync();
100
+ }
82
101
  }
83
102
  _LmdbAztecArray_slot = function _LmdbAztecArray_slot(index) {
84
103
  return ['array', __classPrivateFieldGet(this, _LmdbAztecArray_name, "f"), 'slot', index];
85
104
  };
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi9hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3BEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBWSxFQUEwQixFQUFFLE9BQWU7O1FBSnZELHFDQUFpQztRQUNqQyx1Q0FBYztRQUNkLHlDQUFvQztRQUdsQyx1QkFBQSxJQUFJLHdCQUFTLE9BQU8sTUFBQSxDQUFDO1FBQ3JCLHVCQUFBLElBQUksMEJBQVcsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsR0FBRyxPQUFPLGNBQWMsQ0FBQyxNQUFBLENBQUM7UUFDcEUsdUJBQUEsSUFBSSxzQkFBTyxFQUFpQyxNQUFBLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sdUJBQUEsSUFBSSw4QkFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQUcsSUFBUztRQUNmLE9BQU8sdUJBQUEsSUFBSSwwQkFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRTtZQUNwQyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3pCLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3ZCLEtBQUssdUJBQUEsSUFBSSwwQkFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBQSxJQUFJLHVEQUFNLE1BQVYsSUFBSSxFQUFPLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBQ2QsQ0FBQztZQUVELEtBQUssdUJBQUEsSUFBSSw4QkFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUU5QixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyx1QkFBQSxJQUFJLDBCQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFO1lBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDM0IsSUFBSSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUM7WUFFRCxNQUFNLElBQUksR0FBRyx1QkFBQSxJQUFJLHVEQUFNLE1BQVYsSUFBSSxFQUFPLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNwQyxNQUFNLEdBQUcsR0FBRyx1QkFBQSxJQUFJLDBCQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBTSxDQUFDO1lBRXBDLEtBQUssdUJBQUEsSUFBSSwwQkFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixLQUFLLHVCQUFBLElBQUksOEJBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRWxDLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsRUFBRSxDQUFDLEtBQWE7UUFDZCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNkLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUM5QixDQUFDO1FBRUQsOEVBQThFO1FBQzlFLDRFQUE0RTtRQUM1RSxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyx1QkFBQSxJQUFJLDBCQUFJLENBQUMsR0FBRyxDQUFDLHVCQUFBLElBQUksdURBQU0sTUFBVixJQUFJLEVBQU8sS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWEsRUFBRSxHQUFNO1FBQ3pCLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2QsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQzlCLENBQUM7UUFFRCxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU8sdUJBQUEsSUFBSSwwQkFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBQSxJQUFJLHVEQUFNLE1BQVYsSUFBSSxFQUFPLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxDQUFDLE9BQU87UUFDTixNQUFNLE1BQU0sR0FBRyx1QkFBQSxJQUFJLDBCQUFJLENBQUMsUUFBUSxDQUFDO1lBQy9CLEtBQUssRUFBRSx1QkFBQSxJQUFJLHVEQUFNLE1BQVYsSUFBSSxFQUFPLENBQUMsQ0FBQztZQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDbkIsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3BDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsQ0FBQyxNQUFNO1FBQ0wsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCwrSkFBQyxNQUFNLENBQUMsUUFBUSxFQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdkIsQ0FBQztDQUtGO3FEQUhPLEtBQWE7SUFDakIsT0FBTyxDQUFDLE9BQU8sRUFBRSx1QkFBQSxJQUFJLDRCQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzlDLENBQUMifQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi9hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3BEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBWSxFQUEwQixFQUFFLE9BQWU7O1FBSnZELHFDQUFpQztRQUNqQyx1Q0FBYztRQUNkLHlDQUFvQztRQUdsQyx1QkFBQSxJQUFJLHdCQUFTLE9BQU8sTUFBQSxDQUFDO1FBQ3JCLHVCQUFBLElBQUksMEJBQVcsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsR0FBRyxPQUFPLGNBQWMsQ0FBQyxNQUFBLENBQUM7UUFDcEUsdUJBQUEsSUFBSSxzQkFBTyxFQUFpQyxNQUFBLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sdUJBQUEsSUFBSSw4QkFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFHLElBQVM7UUFDZixPQUFPLHVCQUFBLElBQUksMEJBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN6QixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN2QixLQUFLLHVCQUFBLElBQUksMEJBQUksQ0FBQyxHQUFHLENBQUMsdUJBQUEsSUFBSSx1REFBTSxNQUFWLElBQUksRUFBTyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDM0MsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUNkLENBQUM7WUFFRCxLQUFLLHVCQUFBLElB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
@@ -1,16 +1,19 @@
1
1
  import { type Key as BaseKey, type Database } from 'lmdb';
2
2
  import { type Key, type Range } from '../interfaces/common.js';
3
- import { type AztecCounter } from '../interfaces/counter.js';
3
+ import { type AztecAsyncCounter, type AztecCounter } from '../interfaces/counter.js';
4
4
  /**
5
5
  * A counter implementation backed by LMDB
6
6
  */
7
- export declare class LmdbAztecCounter<K extends Key> implements AztecCounter<K> {
7
+ export declare class LmdbAztecCounter<K extends Key> implements AztecCounter<K>, AztecAsyncCounter<K> {
8
8
  #private;
9
9
  constructor(db: Database<unknown, BaseKey>, name: string);
10
10
  set(key: K, value: number): Promise<void>;
11
11
  update(key: K, delta?: number): Promise<void>;
12
12
  get(key: K): number;
13
+ getAsync(key: K): Promise<number>;
13
14
  entries(range?: Range<K>): IterableIterator<[K, number]>;
15
+ entriesAsync(range?: Range<K>): AsyncIterableIterator<[K, number]>;
14
16
  keys(range?: Range<K>): IterableIterator<K>;
17
+ keysAsync(range?: Range<K>): AsyncIterableIterator<K>;
15
18
  }
16
19
  //# sourceMappingURL=counter.d.ts.map
@@ -1 +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,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D;;GAEG;AACH,qBAAa,gBAAgB,CAAC,CAAC,SAAS,GAAG,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;;gBAKzD,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,OAAO,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAI5D,IAAI,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;CAGhD"}
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"}
@@ -36,12 +36,21 @@ export class LmdbAztecCounter {
36
36
  get(key) {
37
37
  return __classPrivateFieldGet(this, _LmdbAztecCounter_map, "f").get(key) ?? 0;
38
38
  }
39
+ getAsync(key) {
40
+ return Promise.resolve(this.get(key));
41
+ }
39
42
  entries(range = {}) {
40
43
  return __classPrivateFieldGet(this, _LmdbAztecCounter_map, "f").entries(range);
41
44
  }
45
+ async *entriesAsync(range = {}) {
46
+ yield* this.entries(range);
47
+ }
42
48
  keys(range = {}) {
43
49
  return __classPrivateFieldGet(this, _LmdbAztecCounter_map, "f").keys(range);
44
50
  }
51
+ async *keysAsync(range = {}) {
52
+ yield* this.keys(range);
53
+ }
45
54
  }
46
55
  _LmdbAztecCounter_db = new WeakMap(), _LmdbAztecCounter_name = new WeakMap(), _LmdbAztecCounter_map = new WeakMap();
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sbWRiL2NvdW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUszQixZQUFZLEVBQThCLEVBQUUsSUFBWTtRQUp4RCx1Q0FBYztRQUNkLHlDQUFjO1FBQ2Qsd0NBQThCO1FBRzVCLHVCQUFBLElBQUksd0JBQU8sRUFBRSxNQUFBLENBQUM7UUFDZCx1QkFBQSxJQUFJLDBCQUFTLElBQUksTUFBQSxDQUFDO1FBQ2xCLHVCQUFBLElBQUkseUJBQVEsSUFBSSxZQUFZLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFBLENBQUM7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBTSxFQUFFLEtBQWE7UUFDN0IsTUFBTSx1QkFBQSxJQUFJLDZCQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQU0sRUFBRSxLQUFLLEdBQUcsQ0FBQztRQUN0QixPQUFPLHVCQUFBLElBQUksNEJBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsTUFBTSxPQUFPLEdBQUcsdUJBQUEsSUFBSSw2QkFBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUU3QixJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDYixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixHQUFHLGVBQWUsdUJBQUEsSUFBSSw4QkFBTSxhQUFhLENBQUMsQ0FBQztZQUM5RSxDQUFDO1lBRUQsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsS0FBSyx1QkFBQSxJQUFJLDZCQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixzRkFBc0Y7Z0JBQ3RGLDhDQUE4QztnQkFDOUMsS0FBSyx1QkFBQSxJQUFJLDZCQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQU07UUFDUixPQUFPLHVCQUFBLElBQUksNkJBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxPQUFPLENBQUMsUUFBa0IsRUFBRTtRQUMxQixPQUFPLHVCQUFBLElBQUksNkJBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksQ0FBQyxRQUFrQixFQUFFO1FBQ3ZCLE9BQU8sdUJBQUEsSUFBSSw2QkFBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0YifQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sbWRiL2NvdW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUszQixZQUFZLEVBQThCLEVBQUUsSUFBWTtRQUp4RCx1Q0FBYztRQUNkLHlDQUFjO1FBQ2Qsd0NBQThCO1FBRzVCLHVCQUFBLElBQUksd0JBQU8sRUFBRSxNQUFBLENBQUM7UUFDZCx1QkFBQSxJQUFJLDBCQUFTLElBQUksTUFBQSxDQUFDO1FBQ2xCLHVCQUFBLElBQUkseUJBQVEsSUFBSSxZQUFZLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFBLENBQUM7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBTSxFQUFFLEtBQWE7UUFDN0IsTUFBTSx1QkFBQSxJQUFJLDZCQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQU0sRUFBRSxLQUFLLEdBQUcsQ0FBQztRQUN0QixPQUFPLHVCQUFBLElBQUksNEJBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsTUFBTSxPQUFPLEdBQUcsdUJBQUEsSUFBSSw2QkFBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUU3QixJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDYixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixHQUFHLGVBQWUsdUJBQUEsSUFBSSw4QkFBTSxhQUFhLENBQUMsQ0FBQztZQUM5RSxDQUFDO1lBRUQsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsS0FBSyx1QkFBQSxJQUFJLDZCQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixzRkFBc0Y7Z0JBQ3RGLDhDQUE4QztnQkFDOUMsS0FBSyx1QkFBQSxJQUFJLDZCQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQU07UUFDUixPQUFPLHVCQUFBLElBQUksNkJBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBTTtRQUNiLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFrQixFQUFFO1FBQzFCLE9BQU8sdUJBQUEsSUFBSSw2QkFBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQWtCLEVBQUU7UUFDdEMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQWtCLEVBQUU7UUFDdkIsT0FBTyx1QkFBQSxJQUFJLDZCQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBa0IsRUFBRTtRQUNuQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDRiJ9
@@ -1,2 +1,12 @@
1
+ import { type Logger } from '@aztec/foundation/log';
2
+ import { type DataStoreConfig } from '../config.js';
3
+ import { AztecLmdbStore } from './store.js';
1
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;
2
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lmdb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,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;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"}
@@ -1,2 +1,29 @@
1
+ import { createLogger } from '@aztec/foundation/log';
2
+ import { join } from 'path';
3
+ import { initStoreForRollup } from '../utils.js';
4
+ import { AztecLmdbStore } from './store.js';
1
5
  export { AztecLmdbStore } from './store.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDIn0=
6
+ export function createStore(name, config, log = createLogger('kv-store')) {
7
+ let { dataDirectory } = config;
8
+ if (typeof dataDirectory !== 'undefined') {
9
+ dataDirectory = join(dataDirectory, name);
10
+ }
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`);
14
+ const store = AztecLmdbStore.open(dataDirectory, config.dataStoreMapSizeKB, false);
15
+ if (config.l1Contracts?.rollupAddress) {
16
+ return initStoreForRollup(store, config.l1Contracts.rollupAddress, log);
17
+ }
18
+ return store;
19
+ }
20
+ /**
21
+ * Opens a temporary store for testing purposes.
22
+ * @param ephemeral - true if the store should only exist in memory and not automatically be flushed to disk. Optional
23
+ * @returns A new store
24
+ */
25
+ export function openTmpStore(ephemeral = false) {
26
+ const mapSize = 1024 * 1024 * 10; // 10 GB map size
27
+ return AztecLmdbStore.open(undefined, mapSize, ephemeral);
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc1QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTVDLE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWSxFQUFFLE1BQXVCLEVBQUUsTUFBYyxZQUFZLENBQUMsVUFBVSxDQUFDO0lBQ3ZHLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDL0IsSUFBSSxPQUFPLGFBQWEsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FDTixhQUFhO1FBQ1gsQ0FBQyxDQUFDLFlBQVksSUFBSSw0QkFBNEIsYUFBYSxrQkFBa0IsTUFBTSxDQUFDLGtCQUFrQixLQUFLO1FBQzNHLENBQUMsQ0FBQyxZQUFZLElBQUksdUNBQXVDLE1BQU0sQ0FBQyxrQkFBa0IsS0FBSyxDQUMxRixDQUFDO0lBRUYsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25GLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQztRQUN0QyxPQUFPLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBQ0Q7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsWUFBcUIsS0FBSztJQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQjtJQUNuRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM1RCxDQUFDIn0=
@@ -2,29 +2,51 @@
2
2
  /// <reference types="node" resolution-mode="require"/>
3
3
  import { type Database } from 'lmdb';
4
4
  import { type Key, type Range } from '../interfaces/common.js';
5
- import { type AztecMultiMap } from '../interfaces/map.js';
5
+ import { type AztecAsyncMultiMap, type AztecMapWithSize, type AztecMultiMap } from '../interfaces/map.js';
6
6
  /** The slot where a key-value entry would be stored */
7
7
  type MapValueSlot<K extends Key | Buffer> = ['map', string, 'slot', K];
8
8
  /**
9
9
  * A map backed by LMDB.
10
10
  */
11
- export declare class LmdbAztecMap<K extends Key, V> implements AztecMultiMap<K, V> {
12
- #private;
11
+ export declare class LmdbAztecMap<K extends Key, V> implements AztecMultiMap<K, V>, AztecAsyncMultiMap<K, V> {
13
12
  protected db: Database<[K, V], MapValueSlot<K>>;
14
13
  protected name: string;
14
+ protected startSentinel: MapValueSlot<Buffer>;
15
+ protected endSentinel: MapValueSlot<Buffer>;
15
16
  constructor(rootDb: Database, mapName: string);
16
17
  close(): Promise<void>;
17
18
  get(key: K): V | undefined;
19
+ getAsync(key: K): Promise<V | undefined>;
18
20
  getValues(key: K): IterableIterator<V>;
21
+ getValuesAsync(key: K): AsyncIterableIterator<V>;
19
22
  has(key: K): boolean;
23
+ hasAsync(key: K): Promise<boolean>;
20
24
  set(key: K, val: V): Promise<void>;
21
25
  swap(key: K, fn: (val: V | undefined) => V): Promise<void>;
22
26
  setIfNotExists(key: K, val: V): Promise<boolean>;
23
27
  delete(key: K): Promise<void>;
24
28
  deleteValue(key: K, val: V): Promise<void>;
25
29
  entries(range?: Range<K>): IterableIterator<[K, V]>;
30
+ entriesAsync(range?: Range<K> | undefined): AsyncIterableIterator<[K, V]>;
26
31
  values(range?: Range<K>): IterableIterator<V>;
32
+ valuesAsync(range?: Range<K>): AsyncIterableIterator<V>;
27
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;
28
50
  }
29
51
  export {};
30
52
  //# sourceMappingURL=map.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/lmdb/map.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,QAAQ,EAAqB,MAAM,MAAM,CAAC;AAExD,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,uDAAuD;AACvD,KAAK,YAAY,CAAC,CAAC,SAAS,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAEvE;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;;IACxE,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;gBAKX,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;IAW7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAIzB,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAOvC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAId,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAO1C,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7B,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,OAAO,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAoCvD,MAAM,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAMjD,IAAI,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;CASjD"}
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,57 +1,65 @@
1
- var _LmdbAztecMap_instances, _LmdbAztecMap_startSentinel, _LmdbAztecMap_endSentinel, _LmdbAztecMap_slot;
1
+ var _LmdbAztecMapWithSize_sizeCache;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
3
  /**
4
4
  * A map backed by LMDB.
5
5
  */
6
6
  export class LmdbAztecMap {
7
7
  constructor(rootDb, mapName) {
8
- _LmdbAztecMap_instances.add(this);
9
- _LmdbAztecMap_startSentinel.set(this, void 0);
10
- _LmdbAztecMap_endSentinel.set(this, void 0);
11
8
  this.name = mapName;
12
9
  this.db = rootDb;
13
10
  // sentinels are used to define the start and end of the map
14
11
  // with LMDB's key encoding, no _primitive value_ can be "less than" an empty buffer or greater than Byte 255
15
12
  // these will be used later to answer range queries
16
- __classPrivateFieldSet(this, _LmdbAztecMap_startSentinel, ['map', this.name, 'slot', Buffer.from([])], "f");
17
- __classPrivateFieldSet(this, _LmdbAztecMap_endSentinel, ['map', this.name, 'slot', Buffer.from([255])], "f");
13
+ this.startSentinel = ['map', this.name, 'slot', Buffer.from([])];
14
+ this.endSentinel = ['map', this.name, 'slot', Buffer.from([255])];
18
15
  }
19
16
  close() {
20
17
  return this.db.close();
21
18
  }
22
19
  get(key) {
23
- return this.db.get(__classPrivateFieldGet(this, _LmdbAztecMap_instances, "m", _LmdbAztecMap_slot).call(this, key))?.[1];
20
+ return this.db.get(this.slot(key))?.[1];
21
+ }
22
+ getAsync(key) {
23
+ return Promise.resolve(this.get(key));
24
24
  }
25
25
  *getValues(key) {
26
- const values = this.db.getValues(__classPrivateFieldGet(this, _LmdbAztecMap_instances, "m", _LmdbAztecMap_slot).call(this, key));
26
+ const values = this.db.getValues(this.slot(key));
27
27
  for (const value of values) {
28
28
  yield value?.[1];
29
29
  }
30
30
  }
31
+ async *getValuesAsync(key) {
32
+ for (const value of this.getValues(key)) {
33
+ yield value;
34
+ }
35
+ }
31
36
  has(key) {
32
- return this.db.doesExist(__classPrivateFieldGet(this, _LmdbAztecMap_instances, "m", _LmdbAztecMap_slot).call(this, key));
37
+ return this.db.doesExist(this.slot(key));
38
+ }
39
+ hasAsync(key) {
40
+ return Promise.resolve(this.has(key));
33
41
  }
34
42
  async set(key, val) {
35
- await this.db.put(__classPrivateFieldGet(this, _LmdbAztecMap_instances, "m", _LmdbAztecMap_slot).call(this, key), [key, val]);
43
+ await this.db.put(this.slot(key), [key, val]);
36
44
  }
37
45
  swap(key, fn) {
38
46
  return this.db.childTransaction(() => {
39
- const slot = __classPrivateFieldGet(this, _LmdbAztecMap_instances, "m", _LmdbAztecMap_slot).call(this, key);
47
+ const slot = this.slot(key);
40
48
  const entry = this.db.get(slot);
41
49
  void this.db.put(slot, [key, fn(entry?.[1])]);
42
50
  });
43
51
  }
44
52
  setIfNotExists(key, val) {
45
- const slot = __classPrivateFieldGet(this, _LmdbAztecMap_instances, "m", _LmdbAztecMap_slot).call(this, key);
53
+ const slot = this.slot(key);
46
54
  return this.db.ifNoExists(slot, () => {
47
55
  void this.db.put(slot, [key, val]);
48
56
  });
49
57
  }
50
58
  async delete(key) {
51
- await this.db.remove(__classPrivateFieldGet(this, _LmdbAztecMap_instances, "m", _LmdbAztecMap_slot).call(this, key));
59
+ await this.db.remove(this.slot(key));
52
60
  }
53
61
  async deleteValue(key, val) {
54
- await this.db.remove(__classPrivateFieldGet(this, _LmdbAztecMap_instances, "m", _LmdbAztecMap_slot).call(this, key), [key, val]);
62
+ await this.db.remove(this.slot(key), [key, val]);
55
63
  }
56
64
  *entries(range = {}) {
57
65
  const { reverse = false, limit } = range;
@@ -59,18 +67,18 @@ export class LmdbAztecMap {
59
67
  // in that case, we need to swap the start and end sentinels
60
68
  const start = reverse
61
69
  ? range.end
62
- ? __classPrivateFieldGet(this, _LmdbAztecMap_instances, "m", _LmdbAztecMap_slot).call(this, range.end)
63
- : __classPrivateFieldGet(this, _LmdbAztecMap_endSentinel, "f")
70
+ ? this.slot(range.end)
71
+ : this.endSentinel
64
72
  : range.start
65
- ? __classPrivateFieldGet(this, _LmdbAztecMap_instances, "m", _LmdbAztecMap_slot).call(this, range.start)
66
- : __classPrivateFieldGet(this, _LmdbAztecMap_startSentinel, "f");
73
+ ? this.slot(range.start)
74
+ : this.startSentinel;
67
75
  const end = reverse
68
76
  ? range.start
69
- ? __classPrivateFieldGet(this, _LmdbAztecMap_instances, "m", _LmdbAztecMap_slot).call(this, range.start)
70
- : __classPrivateFieldGet(this, _LmdbAztecMap_startSentinel, "f")
77
+ ? this.slot(range.start)
78
+ : this.startSentinel
71
79
  : range.end
72
- ? __classPrivateFieldGet(this, _LmdbAztecMap_instances, "m", _LmdbAztecMap_slot).call(this, range.end)
73
- : __classPrivateFieldGet(this, _LmdbAztecMap_endSentinel, "f");
80
+ ? this.slot(range.end)
81
+ : this.endSentinel;
74
82
  const lmdbRange = {
75
83
  start,
76
84
  end,
@@ -82,18 +90,96 @@ export class LmdbAztecMap {
82
90
  yield [key, value];
83
91
  }
84
92
  }
93
+ async *entriesAsync(range) {
94
+ for (const entry of this.entries(range)) {
95
+ yield entry;
96
+ }
97
+ }
85
98
  *values(range = {}) {
86
99
  for (const [_, value] of this.entries(range)) {
87
100
  yield value;
88
101
  }
89
102
  }
103
+ async *valuesAsync(range = {}) {
104
+ for await (const [_, value] of this.entriesAsync(range)) {
105
+ yield value;
106
+ }
107
+ }
90
108
  *keys(range = {}) {
91
109
  for (const [key, _] of this.entries(range)) {
92
110
  yield key;
93
111
  }
94
112
  }
113
+ async *keysAsync(range = {}) {
114
+ for await (const [key, _] of this.entriesAsync(range)) {
115
+ yield key;
116
+ }
117
+ }
118
+ slot(key) {
119
+ return ['map', this.name, 'slot', key];
120
+ }
121
+ async clear() {
122
+ const lmdbRange = {
123
+ start: this.startSentinel,
124
+ end: this.endSentinel,
125
+ };
126
+ const iterator = this.db.getRange(lmdbRange);
127
+ for (const { key } of iterator) {
128
+ await this.db.remove(key);
129
+ }
130
+ }
131
+ }
132
+ export class LmdbAztecMapWithSize extends LmdbAztecMap {
133
+ constructor(rootDb, mapName) {
134
+ super(rootDb, mapName);
135
+ _LmdbAztecMapWithSize_sizeCache.set(this, void 0);
136
+ }
137
+ async set(key, val) {
138
+ await this.db.childTransaction(() => {
139
+ const exists = this.db.doesExist(this.slot(key));
140
+ this.db.putSync(this.slot(key), [key, val], {
141
+ appendDup: true,
142
+ });
143
+ if (!exists) {
144
+ __classPrivateFieldSet(this, _LmdbAztecMapWithSize_sizeCache, undefined, "f"); // Invalidate cache
145
+ }
146
+ });
147
+ }
148
+ async delete(key) {
149
+ await this.db.childTransaction(async () => {
150
+ const exists = this.db.doesExist(this.slot(key));
151
+ if (exists) {
152
+ await this.db.remove(this.slot(key));
153
+ __classPrivateFieldSet(this, _LmdbAztecMapWithSize_sizeCache, undefined, "f"); // Invalidate cache
154
+ }
155
+ });
156
+ }
157
+ async deleteValue(key, val) {
158
+ await this.db.childTransaction(async () => {
159
+ const exists = this.db.doesExist(this.slot(key));
160
+ if (exists) {
161
+ await this.db.remove(this.slot(key), [key, val]);
162
+ __classPrivateFieldSet(this, _LmdbAztecMapWithSize_sizeCache, undefined, "f"); // Invalidate cache
163
+ }
164
+ });
165
+ }
166
+ /**
167
+ * Gets the size of the map by counting entries.
168
+ * @returns The number of entries in the map
169
+ */
170
+ size() {
171
+ if (__classPrivateFieldGet(this, _LmdbAztecMapWithSize_sizeCache, "f") === undefined) {
172
+ __classPrivateFieldSet(this, _LmdbAztecMapWithSize_sizeCache, this.db.getCount({
173
+ start: this.startSentinel,
174
+ end: this.endSentinel,
175
+ }), "f");
176
+ }
177
+ return __classPrivateFieldGet(this, _LmdbAztecMapWithSize_sizeCache, "f");
178
+ }
179
+ // Reset cache on clear/drop operations
180
+ clearCache() {
181
+ __classPrivateFieldSet(this, _LmdbAztecMapWithSize_sizeCache, undefined, "f");
182
+ }
95
183
  }
96
- _LmdbAztecMap_startSentinel = new WeakMap(), _LmdbAztecMap_endSentinel = new WeakMap(), _LmdbAztecMap_instances = new WeakSet(), _LmdbAztecMap_slot = function _LmdbAztecMap_slot(key) {
97
- return ['map', this.name, 'slot', key];
98
- };
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xtZGIvbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQU92QixZQUFZLE1BQWdCLEVBQUUsT0FBZTs7UUFIN0MsOENBQXFDO1FBQ3JDLDRDQUFtQztRQUdqQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNwQixJQUFJLENBQUMsRUFBRSxHQUFHLE1BQTJDLENBQUM7UUFFdEQsNERBQTREO1FBQzVELDZHQUE2RztRQUM3RyxtREFBbUQ7UUFDbkQsdUJBQUEsSUFBSSwrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFBLENBQUM7UUFDbEUsdUJBQUEsSUFBSSw2QkFBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBQSxDQUFDO0lBQ3JFLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsdUJBQUEsSUFBSSxtREFBTSxNQUFWLElBQUksRUFBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELENBQUMsU0FBUyxDQUFDLEdBQU07UUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyx1QkFBQSxJQUFJLG1EQUFNLE1BQVYsSUFBSSxFQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEQsS0FBSyxN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
184
+ _LmdbAztecMapWithSize_sizeCache = new WeakMap();
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xtZGIvbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQU92QixZQUFZLE1BQWdCLEVBQUUsT0FBZTtRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNwQixJQUFJLENBQUMsRUFBRSxHQUFHLE1BQTJDLENBQUM7UUFFdEQsNERBQTREO1FBQzVELDZHQUE2RztRQUM3RyxtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFNO1FBQ2IsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsQ0FBQyxTQUFTLENBQUMsR0FBTTtRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FB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
@@ -1,16 +1,18 @@
1
1
  import { type Database } from 'lmdb';
2
2
  import { type Key, type Range } from '../interfaces/common.js';
3
- import { type AztecSet } from '../interfaces/set.js';
3
+ import { type AztecAsyncSet, type AztecSet } from '../interfaces/set.js';
4
4
  /**
5
5
  * A set backed by LMDB.
6
6
  */
7
- export declare class LmdbAztecSet<K extends Key> implements AztecSet<K> {
7
+ export declare class LmdbAztecSet<K extends Key> implements AztecSet<K>, AztecAsyncSet<K> {
8
8
  private map;
9
9
  constructor(rootDb: Database, mapName: string);
10
10
  close(): Promise<void>;
11
11
  has(key: K): boolean;
12
+ hasAsync(key: K): Promise<boolean>;
12
13
  add(key: K): Promise<void>;
13
14
  delete(key: K): Promise<void>;
14
15
  entries(range?: Range<K>): IterableIterator<K>;
16
+ entriesAsync(range?: Range<K>): AsyncIterableIterator<K>;
15
17
  }
16
18
  //# sourceMappingURL=set.d.ts.map
@@ -1 +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,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,GAAG,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;IAC7D,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,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;CAGnD"}
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
@@ -12,6 +12,9 @@ export class LmdbAztecSet {
12
12
  has(key) {
13
13
  return this.map.has(key);
14
14
  }
15
+ hasAsync(key) {
16
+ return Promise.resolve(this.has(key));
17
+ }
15
18
  add(key) {
16
19
  return this.map.set(key, true);
17
20
  }
@@ -21,5 +24,10 @@ export class LmdbAztecSet {
21
24
  entries(range = {}) {
22
25
  return this.map.keys(range);
23
26
  }
27
+ async *entriesAsync(range = {}) {
28
+ for await (const key of this.map.keysAsync(range)) {
29
+ yield key;
30
+ }
31
+ }
24
32
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xtZGIvc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUFZLE1BQWdCLEVBQUUsT0FBZTtRQUMzQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQU07UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBTTtRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFrQixFQUFFO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGIn0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xtZGIvc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUFZLE1BQWdCLEVBQUUsT0FBZTtRQUMzQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQU07UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBTTtRQUNiLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTyxDQUFDLFFBQWtCLEVBQUU7UUFDMUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQWtCLEVBQUU7UUFDdEMsSUFBSSxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsRCxNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
@@ -1,12 +1,13 @@
1
1
  import { type Database, type Key } from 'lmdb';
2
- import { type AztecSingleton } from '../interfaces/singleton.js';
2
+ import { type AztecAsyncSingleton, type AztecSingleton } from '../interfaces/singleton.js';
3
3
  /**
4
4
  * Stores a single value in LMDB.
5
5
  */
6
- export declare class LmdbAztecSingleton<T> implements AztecSingleton<T> {
6
+ export declare class LmdbAztecSingleton<T> implements AztecSingleton<T>, AztecAsyncSingleton<T> {
7
7
  #private;
8
8
  constructor(db: Database<unknown, Key>, name: string);
9
9
  get(): T | undefined;
10
+ getAsync(): Promise<T | undefined>;
10
11
  set(val: T): Promise<boolean>;
11
12
  delete(): Promise<boolean>;
12
13
  }
@@ -1 +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,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAKjE;;GAEG;AACH,qBAAa,kBAAkB,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;;gBAIjD,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM;IAKpD,GAAG,IAAI,CAAC,GAAG,SAAS;IAIpB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAG3B"}
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"}
@@ -13,6 +13,9 @@ export class LmdbAztecSingleton {
13
13
  get() {
14
14
  return __classPrivateFieldGet(this, _LmdbAztecSingleton_db, "f").get(__classPrivateFieldGet(this, _LmdbAztecSingleton_slot, "f"));
15
15
  }
16
+ getAsync() {
17
+ return Promise.resolve(this.get());
18
+ }
16
19
  set(val) {
17
20
  return __classPrivateFieldGet(this, _LmdbAztecSingleton_db, "f").put(__classPrivateFieldGet(this, _LmdbAztecSingleton_slot, "f"), val);
18
21
  }
@@ -21,4 +24,4 @@ export class LmdbAztecSingleton {
21
24
  }
22
25
  }
23
26
  _LmdbAztecSingleton_db = new WeakMap(), _LmdbAztecSingleton_slot = new WeakMap();
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xldG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xtZGIvc2luZ2xldG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQVksRUFBMEIsRUFBRSxJQUFZO1FBSHBELHlDQUE0QjtRQUM1QiwyQ0FBaUI7UUFHZix1QkFBQSxJQUFJLDBCQUFPLEVBQTRCLE1BQUEsQ0FBQztRQUN4Qyx1QkFBQSxJQUFJLDRCQUFTLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsTUFBQSxDQUFDO0lBQzVDLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyx1QkFBQSxJQUFJLDhCQUFJLENBQUMsR0FBRyxDQUFDLHVCQUFBLElBQUksZ0NBQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBTTtRQUNSLE9BQU8sdUJBQUEsSUFBSSw4QkFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBQSxJQUFJLGdDQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLHVCQUFBLElBQUksOEJBQUksQ0FBQyxNQUFNLENBQUMsdUJBQUEsSUFBSSxnQ0FBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGIn0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xldG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xtZGIvc2luZ2xldG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQVksRUFBMEIsRUFBRSxJQUFZO1FBSHBELHlDQUE0QjtRQUM1QiwyQ0FBaUI7UUFHZix1QkFBQSxJQUFJLDBCQUFPLEVBQTRCLE1BQUEsQ0FBQztRQUN4Qyx1QkFBQSxJQUFJLDRCQUFTLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsTUFBQSxDQUFDO0lBQzVDLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyx1QkFBQSxJQUFJLDhCQUFJLENBQUMsR0FBRyxDQUFDLHVCQUFBLElBQUksZ0NBQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBTTtRQUNSLE9BQU8sdUJBQUEsSUFBSSw4QkFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBQSxJQUFJLGdDQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLHVCQUFBLElBQUksOEJBQUksQ0FBQyxNQUFNLENBQUMsdUJBQUEsSUFBSSxnQ0FBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGIn0=