@aztec/kv-store 0.0.0-test.1 → 0.0.1-commit.5daedc8

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 (150) hide show
  1. package/dest/config.d.ts +2 -2
  2. package/dest/config.d.ts.map +1 -1
  3. package/dest/config.js +5 -3
  4. package/dest/indexeddb/array.d.ts +3 -2
  5. package/dest/indexeddb/array.d.ts.map +1 -1
  6. package/dest/indexeddb/array.js +3 -0
  7. package/dest/indexeddb/index.d.ts +1 -1
  8. package/dest/indexeddb/index.js +1 -1
  9. package/dest/indexeddb/map.d.ts +12 -6
  10. package/dest/indexeddb/map.d.ts.map +1 -1
  11. package/dest/indexeddb/map.js +38 -60
  12. package/dest/indexeddb/multi_map.d.ts +13 -0
  13. package/dest/indexeddb/multi_map.d.ts.map +1 -0
  14. package/dest/indexeddb/multi_map.js +92 -0
  15. package/dest/indexeddb/set.d.ts +1 -1
  16. package/dest/indexeddb/set.d.ts.map +1 -1
  17. package/dest/indexeddb/singleton.d.ts +3 -2
  18. package/dest/indexeddb/singleton.d.ts.map +1 -1
  19. package/dest/indexeddb/singleton.js +3 -1
  20. package/dest/indexeddb/store.d.ts +13 -14
  21. package/dest/indexeddb/store.d.ts.map +1 -1
  22. package/dest/indexeddb/store.js +45 -42
  23. package/dest/interfaces/array.d.ts +5 -4
  24. package/dest/interfaces/array.d.ts.map +1 -1
  25. package/dest/interfaces/array.js +1 -3
  26. package/dest/interfaces/array_test_suite.d.ts +1 -1
  27. package/dest/interfaces/common.d.ts +11 -9
  28. package/dest/interfaces/common.d.ts.map +1 -1
  29. package/dest/interfaces/common.js +8 -3
  30. package/dest/interfaces/counter.d.ts +1 -1
  31. package/dest/interfaces/index.d.ts +4 -2
  32. package/dest/interfaces/index.d.ts.map +1 -1
  33. package/dest/interfaces/index.js +2 -0
  34. package/dest/interfaces/map.d.ts +21 -49
  35. package/dest/interfaces/map.d.ts.map +1 -1
  36. package/dest/interfaces/map.js +1 -1
  37. package/dest/interfaces/map_test_suite.d.ts +1 -1
  38. package/dest/interfaces/map_test_suite.d.ts.map +1 -1
  39. package/dest/interfaces/map_test_suite.js +135 -70
  40. package/dest/interfaces/multi_map.d.ts +41 -0
  41. package/dest/interfaces/multi_map.d.ts.map +1 -0
  42. package/dest/interfaces/multi_map.js +3 -0
  43. package/dest/interfaces/multi_map_test_suite.d.ts +3 -0
  44. package/dest/interfaces/multi_map_test_suite.d.ts.map +1 -0
  45. package/dest/interfaces/multi_map_test_suite.js +339 -0
  46. package/dest/interfaces/set.d.ts +1 -1
  47. package/dest/interfaces/set_test_suite.d.ts +1 -1
  48. package/dest/interfaces/singleton.d.ts +1 -1
  49. package/dest/interfaces/singleton_test_suite.d.ts +1 -1
  50. package/dest/interfaces/store.d.ts +18 -43
  51. package/dest/interfaces/store.d.ts.map +1 -1
  52. package/dest/interfaces/utils.d.ts +2 -1
  53. package/dest/interfaces/utils.d.ts.map +1 -1
  54. package/dest/interfaces/utils.js +2 -1
  55. package/dest/lmdb/array.d.ts +3 -2
  56. package/dest/lmdb/array.d.ts.map +1 -1
  57. package/dest/lmdb/counter.d.ts +1 -1
  58. package/dest/lmdb/counter.d.ts.map +1 -1
  59. package/dest/lmdb/index.d.ts +1 -1
  60. package/dest/lmdb/index.js +2 -2
  61. package/dest/lmdb/map.d.ts +11 -23
  62. package/dest/lmdb/map.d.ts.map +1 -1
  63. package/dest/lmdb/map.js +15 -81
  64. package/dest/lmdb/multi_map.d.ts +13 -0
  65. package/dest/lmdb/multi_map.d.ts.map +1 -0
  66. package/dest/lmdb/multi_map.js +44 -0
  67. package/dest/lmdb/set.d.ts +1 -1
  68. package/dest/lmdb/set.d.ts.map +1 -1
  69. package/dest/lmdb/singleton.d.ts +1 -1
  70. package/dest/lmdb/singleton.d.ts.map +1 -1
  71. package/dest/lmdb/store.d.ts +9 -25
  72. package/dest/lmdb/store.d.ts.map +1 -1
  73. package/dest/lmdb/store.js +11 -31
  74. package/dest/lmdb-v2/array.d.ts +3 -2
  75. package/dest/lmdb-v2/array.d.ts.map +1 -1
  76. package/dest/lmdb-v2/array.js +1 -0
  77. package/dest/lmdb-v2/factory.d.ts +4 -7
  78. package/dest/lmdb-v2/factory.d.ts.map +1 -1
  79. package/dest/lmdb-v2/factory.js +16 -6
  80. package/dest/lmdb-v2/index.d.ts +1 -1
  81. package/dest/lmdb-v2/map.d.ts +11 -44
  82. package/dest/lmdb-v2/map.d.ts.map +1 -1
  83. package/dest/lmdb-v2/map.js +17 -103
  84. package/dest/lmdb-v2/message.d.ts +24 -5
  85. package/dest/lmdb-v2/message.d.ts.map +1 -1
  86. package/dest/lmdb-v2/message.js +6 -4
  87. package/dest/lmdb-v2/multi_map.d.ts +52 -0
  88. package/dest/lmdb-v2/multi_map.d.ts.map +1 -0
  89. package/dest/lmdb-v2/multi_map.js +124 -0
  90. package/dest/lmdb-v2/read_transaction.d.ts +3 -1
  91. package/dest/lmdb-v2/read_transaction.d.ts.map +1 -1
  92. package/dest/lmdb-v2/read_transaction.js +34 -0
  93. package/dest/lmdb-v2/set.d.ts +15 -0
  94. package/dest/lmdb-v2/set.d.ts.map +1 -0
  95. package/dest/lmdb-v2/set.js +23 -0
  96. package/dest/lmdb-v2/singleton.d.ts +1 -1
  97. package/dest/lmdb-v2/singleton.d.ts.map +1 -1
  98. package/dest/lmdb-v2/singleton.js +1 -0
  99. package/dest/lmdb-v2/store.d.ts +10 -9
  100. package/dest/lmdb-v2/store.d.ts.map +1 -1
  101. package/dest/lmdb-v2/store.js +19 -7
  102. package/dest/lmdb-v2/utils.d.ts +3 -5
  103. package/dest/lmdb-v2/utils.d.ts.map +1 -1
  104. package/dest/lmdb-v2/write_transaction.d.ts +3 -5
  105. package/dest/lmdb-v2/write_transaction.d.ts.map +1 -1
  106. package/dest/stores/index.d.ts +2 -1
  107. package/dest/stores/index.d.ts.map +1 -1
  108. package/dest/stores/index.js +1 -0
  109. package/dest/stores/l2_tips_store.d.ts +3 -2
  110. package/dest/stores/l2_tips_store.d.ts.map +1 -1
  111. package/dest/stores/l2_tips_store.js +18 -9
  112. package/dest/utils.d.ts +1 -1
  113. package/package.json +21 -16
  114. package/src/config.ts +6 -4
  115. package/src/indexeddb/array.ts +5 -1
  116. package/src/indexeddb/index.ts +2 -2
  117. package/src/indexeddb/map.ts +35 -53
  118. package/src/indexeddb/multi_map.ts +91 -0
  119. package/src/indexeddb/singleton.ts +4 -1
  120. package/src/indexeddb/store.ts +66 -56
  121. package/src/interfaces/array.ts +5 -3
  122. package/src/interfaces/common.ts +20 -9
  123. package/src/interfaces/index.ts +3 -1
  124. package/src/interfaces/map.ts +19 -53
  125. package/src/interfaces/map_test_suite.ts +73 -44
  126. package/src/interfaces/multi_map.ts +45 -0
  127. package/src/interfaces/multi_map_test_suite.ts +342 -0
  128. package/src/interfaces/store.ts +18 -53
  129. package/src/interfaces/utils.ts +1 -0
  130. package/src/lmdb/array.ts +2 -1
  131. package/src/lmdb/index.ts +3 -3
  132. package/src/lmdb/map.ts +23 -94
  133. package/src/lmdb/multi_map.ts +51 -0
  134. package/src/lmdb/store.ts +23 -47
  135. package/src/lmdb-v2/array.ts +7 -2
  136. package/src/lmdb-v2/factory.ts +17 -10
  137. package/src/lmdb-v2/map.ts +29 -126
  138. package/src/lmdb-v2/message.ts +23 -0
  139. package/src/lmdb-v2/multi_map.ts +150 -0
  140. package/src/lmdb-v2/read_transaction.ts +40 -0
  141. package/src/lmdb-v2/set.ts +33 -0
  142. package/src/lmdb-v2/singleton.ts +5 -1
  143. package/src/lmdb-v2/store.ts +22 -14
  144. package/src/lmdb-v2/write_transaction.ts +2 -2
  145. package/src/stores/index.ts +2 -0
  146. package/src/stores/l2_tips_store.ts +18 -9
  147. package/dest/interfaces/store_test_suite.d.ts +0 -3
  148. package/dest/interfaces/store_test_suite.d.ts.map +0 -1
  149. package/dest/interfaces/store_test_suite.js +0 -37
  150. package/src/interfaces/store_test_suite.ts +0 -56
@@ -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, AztecAsyncMultiMap, AztecMap, AztecMapWithSize, AztecMultiMap, AztecMultiMapWithSize } from '../interfaces/map.js';
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, // defaults to 1 GB map size
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
@@ -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=store.d.ts.map
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sbWRiL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBaUIsS0FBSyxZQUFZLEVBQVEsTUFBTSxNQUFNLENBQUM7QUFJOUQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFFLE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEYsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BGLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVE5RTs7R0FFRztBQUNILHFCQUFhLGNBQWUsWUFBVyxZQUFZLEVBQUUsaUJBQWlCOzthQVVsRCxXQUFXLEVBQUUsT0FBTztJQUNwQyxPQUFPLENBQUMsSUFBSTtJQVZkLFdBQVcsT0FBaUI7SUFPNUIsWUFDRSxNQUFNLEVBQUUsWUFBWSxFQUNKLFdBQVcsRUFBRSxPQUFPLEVBQzVCLElBQUksRUFBRSxNQUFNLEVBZXJCO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FDVCxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQ2IsU0FBUyxTQUFrQixFQUMzQixTQUFTLEdBQUUsT0FBZSxFQUMxQixHQUFHLHlDQUFnQyxHQUNsQyxjQUFjLENBT2hCO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBRTFGO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FFbkU7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUV6RztJQUVELFdBQVcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUUvRTtJQUVEOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsQ0FBQyxTQUFTLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBRTNFO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBRXpFO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FFNUM7SUFFRDs7OztPQUlHO0lBQ0csZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBRWhFO0lBRUQ7O09BRUc7SUFDRyxLQUFLLGtCQUlWO0lBRUQ7O09BRUc7SUFDRyxJQUFJLGtCQUlUO0lBRUQ7O09BRUc7SUFDRyxLQUFLLGtCQUlWO0lBRUQsa0VBQWtFO0lBQzVELE1BQU0sa0JBT1g7SUFFRCxZQUFZLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQW9CakM7SUFFRCxPQUFPLENBQUMsaUJBQWlCO0lBNEJ6QixRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUU1RDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/lmdb/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/lmdb/store.ts"],"names":[],"mappings":"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"}
@@ -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, LmdbAztecMapWithSize } from './map.js';
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 LmdbAztecMap(this.#multiMapData, name);
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
@@ -184,10 +156,15 @@ import { LmdbAztecSingleton } from './singleton.js';
184
156
  if ('mapSize' in stats && typeof stats.mapSize === 'number') {
185
157
  mapSize = stats.mapSize;
186
158
  }
159
+ let physicalFileSize = 0;
160
+ if ('physicalFileSize' in stats && typeof stats.physicalFileSize === 'number') {
161
+ physicalFileSize = stats.physicalFileSize;
162
+ }
187
163
  const dataResult = this.estimateSubDBSize(this.#data);
188
164
  const multiResult = this.estimateSubDBSize(this.#multiMapData);
189
165
  return Promise.resolve({
190
166
  mappingSize: mapSize,
167
+ physicalFileSize: physicalFileSize,
191
168
  actualSize: dataResult.actualSize + multiResult.actualSize,
192
169
  numItems: dataResult.numItems + multiResult.numItems
193
170
  });
@@ -213,4 +190,7 @@ import { LmdbAztecSingleton } from './singleton.js';
213
190
  numItems
214
191
  };
215
192
  }
193
+ backupTo(_dstPath, _compact) {
194
+ throw new Error('Method not implemented.');
195
+ }
216
196
  }
@@ -1,6 +1,7 @@
1
1
  import type { AztecAsyncArray } from '../interfaces/array.js';
2
+ import type { Value } from '../interfaces/common.js';
2
3
  import { AztecLMDBStoreV2 } from './store.js';
3
- export declare class LMDBArray<T> implements AztecAsyncArray<T> {
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=array.d.ts.map
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sbWRiLXYyL2FycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXJELE9BQU8sRUFBRSxnQkFBZ0IsRUFBK0IsTUFBTSxZQUFZLENBQUM7QUFHM0UscUJBQWEsU0FBUyxDQUFDLENBQUMsU0FBUyxLQUFLLENBQUUsWUFBVyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBTWpFLE9BQU8sQ0FBQyxLQUFLO0lBTGYsT0FBTyxDQUFDLE1BQU0sQ0FBOEI7SUFDNUMsT0FBTyxDQUFDLE9BQU8sQ0FBaUI7SUFDaEMsT0FBTyxDQUFDLE1BQU0sQ0FBUztJQUV2QixZQUNVLEtBQUssRUFBRSxnQkFBZ0IsRUFDL0IsSUFBSSxFQUFFLE1BQU0sRUFJYjtJQUVELEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQWM1QjtJQUVELElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBU2xDO0lBRUQsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBWTdDO0lBRUQsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FhN0M7SUFFSyxXQUFXLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVuQztJQUVNLFlBQVksSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQXlCeEQ7SUFFTSxXQUFXLElBQUkscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBSTdDO0lBRUQsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUkscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBRWpEO0NBQ0YifQ==
@@ -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;AAG9D,OAAO,EAAE,gBAAgB,EAA+B,MAAM,YAAY,CAAC;AAG3E,qBAAa,SAAS,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IAKzC,OAAO,CAAC,KAAK;IAJzB,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAS;gBAEH,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM;IAKzD,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAgB7B,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAWnC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAc9C,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAexC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,YAAY,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IA2BlD,WAAW,IAAI,qBAAqB,CAAC,CAAC,CAAC;IAM9C,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC;CAGnD"}
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;AAIrD,OAAO,EAAE,gBAAgB,EAA+B,MAAM,YAAY,CAAC;AAG3E,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"}
@@ -1,4 +1,5 @@
1
1
  import { Encoder } from 'msgpackr/pack';
2
+ // eslint-disable-next-line import/no-cycle
2
3
  import { execInReadTx, execInWriteTx } from './store.js';
3
4
  import { deserializeKey, serializeKey } from './utils.js';
4
5
  export class LMDBArray {
@@ -3,10 +3,7 @@ import { type Logger } from '@aztec/foundation/log';
3
3
  import type { DataStoreConfig } from '../config.js';
4
4
  import { AztecLMDBStoreV2 } from './store.js';
5
5
  export declare function createStore(name: string, schemaVersion: number, config: DataStoreConfig, log?: Logger): Promise<AztecLMDBStoreV2>;
6
- export declare function openTmpStore(name: string, ephemeral?: boolean, dbMapSizeKb?: number, // 10GB
7
- maxReaders?: number, log?: Logger): Promise<AztecLMDBStoreV2>;
8
- export declare function openStoreAt(dataDir: string, dbMapSizeKb?: number, // 10GB
9
- maxReaders?: number, log?: Logger): Promise<AztecLMDBStoreV2>;
10
- export declare function openVersionedStoreAt(dataDir: string, schemaVersion: number, rollupAddress: EthAddress, dbMapSizeKb?: number, // 10GB
11
- maxReaders?: number, log?: Logger): Promise<AztecLMDBStoreV2>;
12
- //# sourceMappingURL=factory.d.ts.map
6
+ export declare function openTmpStore(name: string, ephemeral?: boolean, dbMapSizeKb?: number, maxReaders?: number, log?: Logger): Promise<AztecLMDBStoreV2>;
7
+ export declare function openStoreAt(dataDir: string, dbMapSizeKb?: number, maxReaders?: number, log?: Logger): Promise<AztecLMDBStoreV2>;
8
+ export declare function openVersionedStoreAt(dataDirectory: string, schemaVersion: number, rollupAddress: EthAddress, dbMapSizeKb?: number, maxReaders?: number, log?: Logger): Promise<AztecLMDBStoreV2>;
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xtZGItdjIvZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBT2xFLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFJOUMsd0JBQXNCLFdBQVcsQ0FDL0IsSUFBSSxFQUFFLE1BQU0sRUFDWixhQUFhLEVBQUUsTUFBTSxFQUNyQixNQUFNLEVBQUUsZUFBZSxFQUN2QixHQUFHLEdBQUUsTUFBaUQsR0FDckQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBNkIzQjtBQUVELHdCQUFzQixZQUFZLENBQ2hDLElBQUksRUFBRSxNQUFNLEVBQ1osU0FBUyxHQUFFLE9BQWMsRUFDekIsV0FBVyxTQUFxQixFQUNoQyxVQUFVLFNBQWMsRUFDeEIsR0FBRyxHQUFFLE1BQWlELEdBQ3JELE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQXFCM0I7QUFFRCx3QkFBc0IsV0FBVyxDQUMvQixPQUFPLEVBQUUsTUFBTSxFQUNmLFdBQVcsU0FBcUIsRUFDaEMsVUFBVSxTQUFjLEVBQ3hCLEdBQUcsR0FBRSxNQUF5QyxHQUM3QyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FHM0I7QUFFRCx3QkFBc0Isb0JBQW9CLENBQ3hDLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLGFBQWEsRUFBRSxVQUFVLEVBQ3pCLFdBQVcsU0FBcUIsRUFDaEMsVUFBVSxTQUFjLEVBQ3hCLEdBQUcsR0FBRSxNQUF5QyxHQUM3QyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FTM0IifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAOlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI9C,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,eAAe,EACvB,GAAG,GAAE,MAAiD,GACrD,OAAO,CAAC,gBAAgB,CAAC,CAyB3B;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,OAAc,EACzB,WAAW,SAAqB,EAAE,OAAO;AACzC,UAAU,SAAc,EACxB,GAAG,GAAE,MAAiD,GACrD,OAAO,CAAC,gBAAgB,CAAC,CAqB3B;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,WAAW,SAAqB,EAAE,OAAO;AACzC,UAAU,SAAc,EACxB,GAAG,GAAE,MAAyC,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,UAAU,EACzB,WAAW,SAAqB,EAAE,OAAO;AACzC,UAAU,SAAc,EACxB,GAAG,GAAE,MAAyC,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CAM3B"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAOlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI9C,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,eAAe,EACvB,GAAG,GAAE,MAAiD,GACrD,OAAO,CAAC,gBAAgB,CAAC,CA6B3B;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,OAAc,EACzB,WAAW,SAAqB,EAChC,UAAU,SAAc,EACxB,GAAG,GAAE,MAAiD,GACrD,OAAO,CAAC,gBAAgB,CAAC,CAqB3B;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,WAAW,SAAqB,EAChC,UAAU,SAAc,EACxB,GAAG,GAAE,MAAyC,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,UAAU,EACzB,WAAW,SAAqB,EAChC,UAAU,SAAc,EACxB,GAAG,GAAE,MAAyC,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CAS3B"}
@@ -17,11 +17,16 @@ export async function createStore(name, schemaVersion, config, log = createLogge
17
17
  });
18
18
  const rollupAddress = l1Contracts ? l1Contracts.rollupAddress : EthAddress.ZERO;
19
19
  // Create a version manager
20
- const versionManager = new DatabaseVersionManager(schemaVersion, rollupAddress, subDir, (dbDirectory)=>AztecLMDBStoreV2.new(dbDirectory, config.dataStoreMapSizeKB, MAX_READERS, ()=>Promise.resolve(), log));
21
- log.info(`Creating ${name} data store at directory ${subDir} with map size ${config.dataStoreMapSizeKB} KB (LMDB v2)`);
20
+ const versionManager = new DatabaseVersionManager({
21
+ schemaVersion,
22
+ rollupAddress,
23
+ dataDirectory: subDir,
24
+ onOpen: (dbDirectory)=>AztecLMDBStoreV2.new(dbDirectory, config.dataStoreMapSizeKb, MAX_READERS, ()=>Promise.resolve(), log)
25
+ });
26
+ log.info(`Creating ${name} data store at directory ${subDir} with map size ${config.dataStoreMapSizeKb} KB (LMDB v2)`);
22
27
  [store] = await versionManager.open();
23
28
  } else {
24
- store = await openTmpStore(name, true, config.dataStoreMapSizeKB, MAX_READERS, log);
29
+ store = await openTmpStore(name, true, config.dataStoreMapSizeKb, MAX_READERS, log);
25
30
  }
26
31
  return store;
27
32
  }
@@ -53,8 +58,13 @@ export async function openStoreAt(dataDir, dbMapSizeKb = 10 * 1_024 * 1_024, max
53
58
  log.debug(`Opening data store at: ${dataDir} with size: ${dbMapSizeKb} KB (LMDB v2)`);
54
59
  return await AztecLMDBStoreV2.new(dataDir, dbMapSizeKb, maxReaders, undefined, log);
55
60
  }
56
- export async function openVersionedStoreAt(dataDir, schemaVersion, rollupAddress, dbMapSizeKb = 10 * 1_024 * 1_024, maxReaders = MAX_READERS, log = createLogger('kv-store:lmdb-v2')) {
57
- log.debug(`Opening data store at: ${dataDir} with size: ${dbMapSizeKb} KB (LMDB v2)`);
58
- const [store] = await new DatabaseVersionManager(schemaVersion, rollupAddress, dataDir, (dataDir)=>AztecLMDBStoreV2.new(dataDir, dbMapSizeKb, maxReaders, undefined, log)).open();
61
+ export async function openVersionedStoreAt(dataDirectory, schemaVersion, rollupAddress, dbMapSizeKb = 10 * 1_024 * 1_024, maxReaders = MAX_READERS, log = createLogger('kv-store:lmdb-v2')) {
62
+ log.debug(`Opening data store at: ${dataDirectory} with size: ${dbMapSizeKb} KB (LMDB v2)`);
63
+ const [store] = await new DatabaseVersionManager({
64
+ schemaVersion,
65
+ rollupAddress,
66
+ dataDirectory,
67
+ onOpen: (dataDir)=>AztecLMDBStoreV2.new(dataDir, dbMapSizeKb, maxReaders, undefined, log)
68
+ }).open();
59
69
  return store;
60
70
  }
@@ -1,3 +1,3 @@
1
1
  export * from './store.js';
2
2
  export * from './factory.js';
3
- //# sourceMappingURL=index.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sbWRiLXYyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDIn0=
@@ -1,7 +1,7 @@
1
- import type { Key, Range } from '../interfaces/common.js';
2
- import type { AztecAsyncMap, AztecAsyncMultiMap } from '../interfaces/map.js';
1
+ import type { Key, Range, Value } from '../interfaces/common.js';
2
+ import type { AztecAsyncMap } from '../interfaces/map.js';
3
3
  import { type AztecLMDBStoreV2 } from './store.js';
4
- export declare class LMDBMap<K extends Key, V> implements AztecAsyncMap<K, V> {
4
+ export declare class LMDBMap<K extends Key, V extends Value> implements AztecAsyncMap<K, V> {
5
5
  private store;
6
6
  private prefix;
7
7
  private encoder;
@@ -13,45 +13,13 @@ export declare class LMDBMap<K extends Key, V> implements AztecAsyncMap<K, V> {
13
13
  */
14
14
  set(key: K, val: V): Promise<void>;
15
15
  /**
16
- * Sets the value at the given key if it does not already exist.
17
- * @param key - The key to set the value at
18
- * @param val - The value to set
19
- */
20
- setIfNotExists(key: K, val: V): Promise<boolean>;
21
- /**
22
- * Deletes the value at the given key.
23
- * @param key - The key to delete the value at
16
+ * Sets the values at the given keys.
17
+ * @param entries - The entries to set
24
18
  */
25
- delete(key: K): Promise<void>;
26
- getAsync(key: K): Promise<V | undefined>;
27
- hasAsync(key: K): Promise<boolean>;
28
- /**
29
- * Iterates over the map's key-value entries in the key's natural order
30
- * @param range - The range of keys to iterate over
31
- */
32
- entriesAsync(range?: Range<K>): AsyncIterableIterator<[K, V]>;
33
- /**
34
- * Iterates over the map's values in the key's natural order
35
- * @param range - The range of keys to iterate over
36
- */
37
- valuesAsync(range?: Range<K>): AsyncIterableIterator<V>;
38
- /**
39
- * Iterates over the map's keys in the key's natural order
40
- * @param range - The range of keys to iterate over
41
- */
42
- keysAsync(range?: Range<K>): AsyncIterableIterator<K>;
43
- }
44
- export declare class LMDBMultiMap<K extends Key, V> implements AztecAsyncMultiMap<K, V> {
45
- private store;
46
- private prefix;
47
- private encoder;
48
- constructor(store: AztecLMDBStoreV2, name: string);
49
- /**
50
- * Sets the value at the given key.
51
- * @param key - The key to set the value at
52
- * @param val - The value to set
53
- */
54
- set(key: K, val: V): Promise<void>;
19
+ setMany(entries: {
20
+ key: K;
21
+ value: V;
22
+ }[]): Promise<void>;
55
23
  /**
56
24
  * Sets the value at the given key if it does not already exist.
57
25
  * @param key - The key to set the value at
@@ -65,6 +33,7 @@ export declare class LMDBMultiMap<K extends Key, V> implements AztecAsyncMultiMa
65
33
  delete(key: K): Promise<void>;
66
34
  getAsync(key: K): Promise<V | undefined>;
67
35
  hasAsync(key: K): Promise<boolean>;
36
+ sizeAsync(): Promise<number>;
68
37
  /**
69
38
  * Iterates over the map's key-value entries in the key's natural order
70
39
  * @param range - The range of keys to iterate over
@@ -80,7 +49,5 @@ export declare class LMDBMultiMap<K extends Key, V> implements AztecAsyncMultiMa
80
49
  * @param range - The range of keys to iterate over
81
50
  */
82
51
  keysAsync(range?: Range<K>): AsyncIterableIterator<K>;
83
- deleteValue(key: K, val: V | undefined): Promise<void>;
84
- getValuesAsync(key: K): AsyncIterableIterator<V>;
85
52
  }
86
- //# sourceMappingURL=map.d.ts.map
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi12Mi9tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUcxRCxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBK0IsTUFBTSxZQUFZLENBQUM7QUFHaEYscUJBQWEsT0FBTyxDQUFDLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEtBQUssQ0FBRSxZQUFXLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBSy9FLE9BQU8sQ0FBQyxLQUFLO0lBSmYsT0FBTyxDQUFDLE1BQU0sQ0FBUztJQUN2QixPQUFPLENBQUMsT0FBTyxDQUFpQjtJQUVoQyxZQUNVLEtBQUssRUFBRSxnQkFBZ0IsRUFDL0IsSUFBSSxFQUFFLE1BQU0sRUFHYjtJQUNEOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFakM7SUFFRDs7O09BR0c7SUFDRyxPQUFPLENBQUMsT0FBTyxFQUFFO1FBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7S0FBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQU01RDtJQUVEOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FVL0M7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRTVCO0lBRUQsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FLdkM7SUFFRCxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBRWpDO0lBRUQsU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFM0I7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBOEJuRTtJQUVEOzs7T0FHRztJQUNJLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBSTdEO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FJM0Q7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/map.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,KAAK,gBAAgB,EAA+B,MAAM,YAAY,CAAC;AAGhF,qBAAa,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,KAAK,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAK/E,OAAO,CAAC,KAAK;IAJf,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAiB;IAEhC,YACU,KAAK,EAAE,gBAAgB,EAC/B,IAAI,EAAE,MAAM,EAGb;IACD;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjC;IAED;;;OAGG;IACG,OAAO,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5D;IAED;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAU/C;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5B;IAED,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAKvC;IAED,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAEjC;IAED,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAE3B;IAED;;;OAGG;IACI,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CA8BnE;IAED;;;OAGG;IACI,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAI7D;IAED;;;OAGG;IACI,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAI3D;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { Encoder } from 'msgpackr';
2
+ // eslint-disable-next-line import/no-cycle
2
3
  import { execInReadTx, execInWriteTx } from './store.js';
3
4
  import { deserializeKey, maxKey, minKey, serializeKey } from './utils.js';
4
5
  export class LMDBMap {
@@ -18,6 +19,16 @@ export class LMDBMap {
18
19
  return execInWriteTx(this.store, (tx)=>tx.set(serializeKey(this.prefix, key), this.encoder.pack(val)));
19
20
  }
20
21
  /**
22
+ * Sets the values at the given keys.
23
+ * @param entries - The entries to set
24
+ */ async setMany(entries) {
25
+ await execInWriteTx(this.store, async (tx)=>{
26
+ for (const { key, value } of entries){
27
+ await tx.set(serializeKey(this.prefix, key), this.encoder.pack(value));
28
+ }
29
+ });
30
+ }
31
+ /**
21
32
  * Sets the value at the given key if it does not already exist.
22
33
  * @param key - The key to set the value at
23
34
  * @param val - The value to set
@@ -47,20 +58,23 @@ export class LMDBMap {
47
58
  hasAsync(key) {
48
59
  return execInReadTx(this.store, async (tx)=>!!await tx.get(serializeKey(this.prefix, key)));
49
60
  }
61
+ sizeAsync() {
62
+ return execInReadTx(this.store, (tx)=>tx.countEntries(minKey(this.prefix), maxKey(this.prefix), false));
63
+ }
50
64
  /**
51
65
  * Iterates over the map's key-value entries in the key's natural order
52
66
  * @param range - The range of keys to iterate over
53
67
  */ async *entriesAsync(range) {
54
68
  const reverse = range?.reverse ?? false;
55
- const startKey = range?.start ? serializeKey(this.prefix, range.start) : minKey(this.prefix);
56
- const endKey = range?.end ? serializeKey(this.prefix, range.end) : reverse ? maxKey(this.prefix) : undefined;
69
+ const startKey = range?.start !== undefined ? serializeKey(this.prefix, range.start) : minKey(this.prefix);
70
+ const endKey = range?.end !== undefined ? serializeKey(this.prefix, range.end) : reverse ? maxKey(this.prefix) : undefined;
57
71
  let tx = this.store.getCurrentWriteTx();
58
72
  const shouldClose = !tx;
59
73
  tx ??= this.store.getReadTx();
60
74
  try {
61
75
  for await (const [key, val] of tx.iterate(reverse ? endKey : startKey, reverse ? startKey : endKey, reverse, range?.limit)){
62
76
  const deserializedKey = deserializeKey(this.prefix, key);
63
- if (!deserializedKey) {
77
+ if (deserializedKey === false) {
64
78
  break;
65
79
  }
66
80
  yield [
@@ -91,103 +105,3 @@ export class LMDBMap {
91
105
  }
92
106
  }
93
107
  }
94
- export class LMDBMultiMap {
95
- store;
96
- prefix;
97
- encoder;
98
- constructor(store, name){
99
- this.store = store;
100
- this.encoder = new Encoder();
101
- this.prefix = `multimap:${name}`;
102
- }
103
- /**
104
- * Sets the value at the given key.
105
- * @param key - The key to set the value at
106
- * @param val - The value to set
107
- */ set(key, val) {
108
- return execInWriteTx(this.store, (tx)=>tx.setIndex(serializeKey(this.prefix, key), this.encoder.pack(val)));
109
- }
110
- /**
111
- * Sets the value at the given key if it does not already exist.
112
- * @param key - The key to set the value at
113
- * @param val - The value to set
114
- */ setIfNotExists(key, val) {
115
- return execInWriteTx(this.store, async (tx)=>{
116
- const exists = !!await this.getAsync(key);
117
- if (!exists) {
118
- await tx.setIndex(serializeKey(this.prefix, key), this.encoder.pack(val));
119
- return true;
120
- }
121
- return false;
122
- });
123
- }
124
- /**
125
- * Deletes the value at the given key.
126
- * @param key - The key to delete the value at
127
- */ delete(key) {
128
- return execInWriteTx(this.store, (tx)=>tx.removeIndex(serializeKey(this.prefix, key)));
129
- }
130
- getAsync(key) {
131
- return execInReadTx(this.store, async (tx)=>{
132
- const val = await tx.getIndex(serializeKey(this.prefix, key));
133
- return val.length > 0 ? this.encoder.unpack(val[0]) : undefined;
134
- });
135
- }
136
- hasAsync(key) {
137
- return execInReadTx(this.store, async (tx)=>(await tx.getIndex(serializeKey(this.prefix, key))).length > 0);
138
- }
139
- /**
140
- * Iterates over the map's key-value entries in the key's natural order
141
- * @param range - The range of keys to iterate over
142
- */ async *entriesAsync(range) {
143
- const reverse = range?.reverse ?? false;
144
- const startKey = range?.start ? serializeKey(this.prefix, range.start) : minKey(this.prefix);
145
- const endKey = range?.end ? serializeKey(this.prefix, range.end) : reverse ? maxKey(this.prefix) : undefined;
146
- let tx = this.store.getCurrentWriteTx();
147
- const shouldClose = !tx;
148
- tx ??= this.store.getReadTx();
149
- try {
150
- for await (const [key, vals] of tx.iterateIndex(reverse ? endKey : startKey, reverse ? startKey : endKey, reverse, range?.limit)){
151
- const deserializedKey = deserializeKey(this.prefix, key);
152
- if (!deserializedKey) {
153
- break;
154
- }
155
- for (const val of vals){
156
- yield [
157
- deserializedKey,
158
- this.encoder.unpack(val)
159
- ];
160
- }
161
- }
162
- } finally{
163
- if (shouldClose) {
164
- tx.close();
165
- }
166
- }
167
- }
168
- /**
169
- * Iterates over the map's values in the key's natural order
170
- * @param range - The range of keys to iterate over
171
- */ async *valuesAsync(range) {
172
- for await (const [_, value] of this.entriesAsync(range)){
173
- yield value;
174
- }
175
- }
176
- /**
177
- * Iterates over the map's keys in the key's natural order
178
- * @param range - The range of keys to iterate over
179
- */ async *keysAsync(range) {
180
- for await (const [key, _] of this.entriesAsync(range)){
181
- yield key;
182
- }
183
- }
184
- deleteValue(key, val) {
185
- return execInWriteTx(this.store, (tx)=>tx.removeIndex(serializeKey(this.prefix, key), this.encoder.pack(val)));
186
- }
187
- async *getValuesAsync(key) {
188
- const values = await execInReadTx(this.store, (tx)=>tx.getIndex(serializeKey(this.prefix, key)));
189
- for (const value of values){
190
- yield this.encoder.unpack(value);
191
- }
192
- }
193
- }
@@ -9,10 +9,12 @@ export declare enum LMDBMessageType {
9
9
  HAS = 102,
10
10
  START_CURSOR = 103,
11
11
  ADVANCE_CURSOR = 104,
12
- CLOSE_CURSOR = 105,
13
- BATCH = 106,
14
- STATS = 107,
15
- CLOSE = 108
12
+ ADVANCE_CURSOR_COUNT = 105,
13
+ CLOSE_CURSOR = 106,
14
+ BATCH = 107,
15
+ STATS = 108,
16
+ CLOSE = 109,
17
+ COPY_STORE = 110
16
18
  }
17
19
  type Key = Uint8Array;
18
20
  type Value = Uint8Array;
@@ -45,9 +47,17 @@ interface AdvanceCursorRequest {
45
47
  cursor: number;
46
48
  count: number | null;
47
49
  }
50
+ interface AdvanceCursorCountRequest {
51
+ cursor: number;
52
+ endKey: Key;
53
+ }
48
54
  interface CloseCursorRequest {
49
55
  cursor: number;
50
56
  }
57
+ interface CopyStoreRequest {
58
+ dstPath: string;
59
+ compact: boolean;
60
+ }
51
61
  export interface Batch {
52
62
  addEntries: Array<KeyValues>;
53
63
  removeEntries: Array<KeyOptionalValues>;
@@ -61,10 +71,12 @@ export type LMDBRequestBody = {
61
71
  [LMDBMessageType.HAS]: HasRequest;
62
72
  [LMDBMessageType.START_CURSOR]: StartCursorRequest;
63
73
  [LMDBMessageType.ADVANCE_CURSOR]: AdvanceCursorRequest;
74
+ [LMDBMessageType.ADVANCE_CURSOR_COUNT]: AdvanceCursorCountRequest;
64
75
  [LMDBMessageType.CLOSE_CURSOR]: CloseCursorRequest;
65
76
  [LMDBMessageType.BATCH]: BatchRequest;
66
77
  [LMDBMessageType.STATS]: void;
67
78
  [LMDBMessageType.CLOSE]: void;
79
+ [LMDBMessageType.COPY_STORE]: CopyStoreRequest;
68
80
  };
69
81
  interface GetResponse {
70
82
  values: OptionalValues;
@@ -80,6 +92,10 @@ interface AdvanceCursorResponse {
80
92
  entries: Array<KeyValues>;
81
93
  done: boolean;
82
94
  }
95
+ interface AdvanceCursorCountResponse {
96
+ count: number;
97
+ done: boolean;
98
+ }
83
99
  interface BatchResponse {
84
100
  durationNs: number;
85
101
  }
@@ -93,6 +109,7 @@ interface StatsResponse {
93
109
  totalUsedSize: bigint | number;
94
110
  }>;
95
111
  dbMapSizeBytes: bigint | number;
112
+ dbPhysicalFileSizeBytes: bigint | number;
96
113
  }
97
114
  export type LMDBResponseBody = {
98
115
  [LMDBMessageType.OPEN_DATABASE]: BoolResponse;
@@ -100,13 +117,15 @@ export type LMDBResponseBody = {
100
117
  [LMDBMessageType.HAS]: HasResponse;
101
118
  [LMDBMessageType.START_CURSOR]: StartCursorResponse;
102
119
  [LMDBMessageType.ADVANCE_CURSOR]: AdvanceCursorResponse;
120
+ [LMDBMessageType.ADVANCE_CURSOR_COUNT]: AdvanceCursorCountResponse;
103
121
  [LMDBMessageType.CLOSE_CURSOR]: BoolResponse;
104
122
  [LMDBMessageType.BATCH]: BatchResponse;
105
123
  [LMDBMessageType.STATS]: StatsResponse;
106
124
  [LMDBMessageType.CLOSE]: BoolResponse;
125
+ [LMDBMessageType.COPY_STORE]: BoolResponse;
107
126
  };
108
127
  export interface LMDBMessageChannel {
109
128
  sendMessage<T extends LMDBMessageType>(msgType: T, body: LMDBRequestBody[T]): Promise<LMDBResponseBody[T]>;
110
129
  }
111
130
  export {};
112
- //# sourceMappingURL=message.d.ts.map
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xtZGItdjIvbWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBWSxRQUFRO0lBQ2xCLElBQUksU0FBUztJQUNiLEtBQUssVUFBVTtDQUNoQjtBQUVELGVBQU8sTUFBTSxnQkFBZ0IsS0FBSyxDQUFDO0FBRW5DLG9CQUFZLGVBQWU7SUFDekIsYUFBYSxNQUFNO0lBQ25CLEdBQUcsTUFBQTtJQUNILEdBQUcsTUFBQTtJQUVILFlBQVksTUFBQTtJQUNaLGNBQWMsTUFBQTtJQUNkLG9CQUFvQixNQUFBO0lBQ3BCLFlBQVksTUFBQTtJQUVaLEtBQUssTUFBQTtJQUVMLEtBQUssTUFBQTtJQUVMLEtBQUssTUFBQTtJQUNMLFVBQVUsTUFBQTtDQUNYO0FBRUQsS0FBSyxHQUFHLEdBQUcsVUFBVSxDQUFDO0FBQ3RCLEtBQUssS0FBSyxHQUFHLFVBQVUsQ0FBQztBQUN4QixLQUFLLGNBQWMsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDNUMsS0FBSyxpQkFBaUIsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDcEQsS0FBSyxTQUFTLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUVoQyxVQUFVLG1CQUFtQjtJQUMzQixFQUFFLEVBQUUsTUFBTSxDQUFDO0lBQ1gsVUFBVSxDQUFDLEVBQUUsT0FBTyxDQUFDO0NBQ3RCO0FBRUQsVUFBVSxVQUFVO0lBQ2xCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNaLEVBQUUsRUFBRSxNQUFNLENBQUM7Q0FDWjtBQUVELFVBQVUsV0FBVztJQUNuQixNQUFNLEVBQUUsY0FBYyxDQUFDO0NBQ3hCO0FBRUQsVUFBVSxVQUFVO0lBQ2xCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFD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
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/message.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,oBAAY,eAAe;IACzB,aAAa,MAAM;IACnB,GAAG,MAAA;IACH,GAAG,MAAA;IAEH,YAAY,MAAA;IACZ,cAAc,MAAA;IACd,YAAY,MAAA;IAEZ,KAAK,MAAA;IAEL,KAAK,MAAA;IAEL,KAAK,MAAA;CACN;AAED,KAAK,GAAG,GAAG,UAAU,CAAC;AACtB,KAAK,KAAK,GAAG,UAAU,CAAC;AACxB,KAAK,cAAc,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;AAC5C,KAAK,iBAAiB,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;AAEhC,UAAU,mBAAmB;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,kBAAkB;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7B,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;CACzC;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC7B;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAErD,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;IAClC,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;IAElC,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IACnD,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACvD,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAEnD,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAEtC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IAE9B,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;CAC/B,CAAC;AAEF,UAAU,WAAW;IACnB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CAC3B;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1B,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,IAAI,CAAC;CACV;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;QAC9B,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;KAChC,CAAC,CAAC;IACH,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IAE9C,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IACnC,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAEnC,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACpD,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACxD,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAE7C,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAEvC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAEvC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;CACvC,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,CAAC,SAAS,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5G"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/message.ts"],"names":[],"mappings":"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"}