@aztec/kv-store 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.76.0

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