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

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.js +5 -7
  2. package/dest/indexeddb/array.js +44 -36
  3. package/dest/indexeddb/index.js +1 -4
  4. package/dest/indexeddb/map.js +72 -43
  5. package/dest/indexeddb/set.js +3 -4
  6. package/dest/indexeddb/singleton.js +17 -22
  7. package/dest/indexeddb/store.js +97 -93
  8. package/dest/interfaces/array.js +3 -2
  9. package/dest/interfaces/array_test_suite.js +29 -25
  10. package/dest/interfaces/common.js +3 -2
  11. package/dest/interfaces/counter.js +1 -2
  12. package/dest/interfaces/index.js +0 -1
  13. package/dest/interfaces/map.js +3 -2
  14. package/dest/interfaces/map_test_suite.js +87 -42
  15. package/dest/interfaces/set.js +1 -2
  16. package/dest/interfaces/set_test_suite.js +59 -22
  17. package/dest/interfaces/singleton.js +4 -2
  18. package/dest/interfaces/singleton_test_suite.js +7 -10
  19. package/dest/interfaces/store.js +1 -2
  20. package/dest/interfaces/store_test_suite.js +6 -9
  21. package/dest/interfaces/utils.js +12 -15
  22. package/dest/lmdb/array.js +46 -41
  23. package/dest/lmdb/counter.js +18 -24
  24. package/dest/lmdb/index.js +2 -6
  25. package/dest/lmdb/map.js +90 -68
  26. package/dest/lmdb/set.js +4 -5
  27. package/dest/lmdb/singleton.js +13 -14
  28. package/dest/lmdb/store.js +124 -134
  29. package/dest/lmdb-v2/factory.js +22 -19
  30. package/dest/lmdb-v2/index.js +0 -1
  31. package/dest/lmdb-v2/map.js +82 -85
  32. package/dest/lmdb-v2/message.js +6 -7
  33. package/dest/lmdb-v2/read_transaction.js +65 -53
  34. package/dest/lmdb-v2/singleton.js +7 -5
  35. package/dest/lmdb-v2/store.js +27 -26
  36. package/dest/lmdb-v2/utils.js +30 -30
  37. package/dest/lmdb-v2/write_transaction.js +130 -110
  38. package/dest/stores/index.js +0 -1
  39. package/dest/stores/l2_tips_store.js +26 -12
  40. package/dest/utils.js +3 -7
  41. package/package.json +6 -6
  42. package/src/interfaces/index.ts +1 -1
  43. package/dest/config.d.ts +0 -17
  44. package/dest/config.d.ts.map +0 -1
  45. package/dest/indexeddb/array.d.ts +0 -21
  46. package/dest/indexeddb/array.d.ts.map +0 -1
  47. package/dest/indexeddb/index.d.ts +0 -7
  48. package/dest/indexeddb/index.d.ts.map +0 -1
  49. package/dest/indexeddb/map.d.ts +0 -26
  50. package/dest/indexeddb/map.d.ts.map +0 -1
  51. package/dest/indexeddb/set.d.ts +0 -17
  52. package/dest/indexeddb/set.d.ts.map +0 -1
  53. package/dest/indexeddb/singleton.d.ts +0 -16
  54. package/dest/indexeddb/singleton.d.ts.map +0 -1
  55. package/dest/indexeddb/store.d.ts +0 -97
  56. package/dest/indexeddb/store.d.ts.map +0 -1
  57. package/dest/interfaces/array.d.ts +0 -80
  58. package/dest/interfaces/array.d.ts.map +0 -1
  59. package/dest/interfaces/array_test_suite.d.ts +0 -3
  60. package/dest/interfaces/array_test_suite.d.ts.map +0 -1
  61. package/dest/interfaces/common.d.ts +0 -23
  62. package/dest/interfaces/common.d.ts.map +0 -1
  63. package/dest/interfaces/counter.d.ts +0 -59
  64. package/dest/interfaces/counter.d.ts.map +0 -1
  65. package/dest/interfaces/index.d.ts +0 -8
  66. package/dest/interfaces/index.d.ts.map +0 -1
  67. package/dest/interfaces/map.d.ts +0 -134
  68. package/dest/interfaces/map.d.ts.map +0 -1
  69. package/dest/interfaces/map_test_suite.d.ts +0 -3
  70. package/dest/interfaces/map_test_suite.d.ts.map +0 -1
  71. package/dest/interfaces/set.d.ts +0 -44
  72. package/dest/interfaces/set.d.ts.map +0 -1
  73. package/dest/interfaces/set_test_suite.d.ts +0 -3
  74. package/dest/interfaces/set_test_suite.d.ts.map +0 -1
  75. package/dest/interfaces/singleton.d.ts +0 -29
  76. package/dest/interfaces/singleton.d.ts.map +0 -1
  77. package/dest/interfaces/singleton_test_suite.d.ts +0 -3
  78. package/dest/interfaces/singleton_test_suite.d.ts.map +0 -1
  79. package/dest/interfaces/store.d.ts +0 -145
  80. package/dest/interfaces/store.d.ts.map +0 -1
  81. package/dest/interfaces/store_test_suite.d.ts +0 -3
  82. package/dest/interfaces/store_test_suite.d.ts.map +0 -1
  83. package/dest/interfaces/utils.d.ts +0 -16
  84. package/dest/interfaces/utils.d.ts.map +0 -1
  85. package/dest/lmdb/array.d.ts +0 -23
  86. package/dest/lmdb/array.d.ts.map +0 -1
  87. package/dest/lmdb/counter.d.ts +0 -19
  88. package/dest/lmdb/counter.d.ts.map +0 -1
  89. package/dest/lmdb/index.d.ts +0 -12
  90. package/dest/lmdb/index.d.ts.map +0 -1
  91. package/dest/lmdb/map.d.ts +0 -52
  92. package/dest/lmdb/map.d.ts.map +0 -1
  93. package/dest/lmdb/set.d.ts +0 -18
  94. package/dest/lmdb/set.d.ts.map +0 -1
  95. package/dest/lmdb/singleton.d.ts +0 -14
  96. package/dest/lmdb/singleton.d.ts.map +0 -1
  97. package/dest/lmdb/store.d.ts +0 -110
  98. package/dest/lmdb/store.d.ts.map +0 -1
  99. package/dest/lmdb-v2/factory.d.ts +0 -9
  100. package/dest/lmdb-v2/factory.d.ts.map +0 -1
  101. package/dest/lmdb-v2/index.d.ts +0 -3
  102. package/dest/lmdb-v2/index.d.ts.map +0 -1
  103. package/dest/lmdb-v2/map.d.ts +0 -86
  104. package/dest/lmdb-v2/map.d.ts.map +0 -1
  105. package/dest/lmdb-v2/message.d.ts +0 -112
  106. package/dest/lmdb-v2/message.d.ts.map +0 -1
  107. package/dest/lmdb-v2/read_transaction.d.ts +0 -14
  108. package/dest/lmdb-v2/read_transaction.d.ts.map +0 -1
  109. package/dest/lmdb-v2/singleton.d.ts +0 -12
  110. package/dest/lmdb-v2/singleton.d.ts.map +0 -1
  111. package/dest/lmdb-v2/store.d.ts +0 -43
  112. package/dest/lmdb-v2/store.d.ts.map +0 -1
  113. package/dest/lmdb-v2/utils.d.ts +0 -19
  114. package/dest/lmdb-v2/utils.d.ts.map +0 -1
  115. package/dest/lmdb-v2/write_transaction.d.ts +0 -19
  116. package/dest/lmdb-v2/write_transaction.d.ts.map +0 -1
  117. package/dest/stores/index.d.ts +0 -2
  118. package/dest/stores/index.d.ts.map +0 -1
  119. package/dest/stores/l2_tips_store.d.ts +0 -13
  120. package/dest/stores/l2_tips_store.d.ts.map +0 -1
  121. package/dest/utils.d.ts +0 -12
  122. package/dest/utils.d.ts.map +0 -1
@@ -4,12 +4,20 @@ import { MsgpackChannel, NativeLMDBStore } from '@aztec/native';
4
4
  import { AsyncLocalStorage } from 'async_hooks';
5
5
  import { rm } from 'fs/promises';
6
6
  import { LMDBMap, LMDBMultiMap } from './map.js';
7
- import { Database, LMDBMessageType, } from './message.js';
7
+ import { Database, LMDBMessageType } from './message.js';
8
8
  import { ReadTransaction } from './read_transaction.js';
9
9
  import { LMDBSingleValue } from './singleton.js';
10
10
  import { WriteTransaction } from './write_transaction.js';
11
11
  export class AztecLMDBStoreV2 {
12
- constructor(dataDir, mapSize, maxReaders, log, cleanup) {
12
+ dataDir;
13
+ log;
14
+ cleanup;
15
+ open;
16
+ channel;
17
+ writerCtx;
18
+ writerQueue;
19
+ availableCursors;
20
+ constructor(dataDir, mapSize, maxReaders, log, cleanup){
13
21
  this.dataDir = dataDir;
14
22
  this.log = log;
15
23
  this.cleanup = cleanup;
@@ -28,11 +36,11 @@ export class AztecLMDBStoreV2 {
28
36
  this.writerQueue.start();
29
37
  await this.channel.sendMessage(LMDBMessageType.OPEN_DATABASE, {
30
38
  db: Database.DATA,
31
- uniqueKeys: true,
39
+ uniqueKeys: true
32
40
  });
33
41
  await this.channel.sendMessage(LMDBMessageType.OPEN_DATABASE, {
34
42
  db: Database.INDEX,
35
- uniqueKeys: false,
43
+ uniqueKeys: false
36
44
  });
37
45
  this.open = true;
38
46
  }
@@ -83,18 +91,16 @@ export class AztecLMDBStoreV2 {
83
91
  if (currentTx) {
84
92
  return await callback(currentTx);
85
93
  }
86
- return this.writerQueue.put(async () => {
94
+ return this.writerQueue.put(async ()=>{
87
95
  const tx = new WriteTransaction(this);
88
96
  try {
89
97
  const res = await this.writerCtx.run(tx, callback, tx);
90
98
  await tx.commit();
91
99
  return res;
92
- }
93
- catch (err) {
100
+ } catch (err) {
94
101
  this.log.error(`Failed to commit transaction`, err);
95
102
  throw err;
96
- }
97
- finally {
103
+ } finally{
98
104
  tx.close();
99
105
  }
100
106
  });
@@ -107,7 +113,10 @@ export class AztecLMDBStoreV2 {
107
113
  }
108
114
  async delete() {
109
115
  await this.close();
110
- await rm(this.dataDir, { recursive: true, force: true });
116
+ await rm(this.dataDir, {
117
+ recursive: true,
118
+ force: true
119
+ });
111
120
  this.log.verbose(`Deleted database files at ${this.dataDir}`);
112
121
  await this.cleanup?.();
113
122
  }
@@ -131,13 +140,9 @@ export class AztecLMDBStoreV2 {
131
140
  try {
132
141
  ({ response } = await this.channel.sendMessage(msgType, body));
133
142
  return response;
134
- }
135
- finally {
136
- if ((msgType === LMDBMessageType.START_CURSOR && response === undefined) ||
137
- msgType === LMDBMessageType.CLOSE_CURSOR ||
138
- // it's possible for a START_CURSOR command to not return a cursor (e.g. db is empty)
139
- (msgType === LMDBMessageType.START_CURSOR &&
140
- typeof response.cursor !== 'number')) {
143
+ } finally{
144
+ if (msgType === LMDBMessageType.START_CURSOR && response === undefined || msgType === LMDBMessageType.CLOSE_CURSOR || // it's possible for a START_CURSOR command to not return a cursor (e.g. db is empty)
145
+ msgType === LMDBMessageType.START_CURSOR && typeof response.cursor !== 'number') {
141
146
  this.availableCursors.release();
142
147
  }
143
148
  }
@@ -146,8 +151,8 @@ export class AztecLMDBStoreV2 {
146
151
  const resp = await this.sendMessage(LMDBMessageType.STATS, undefined);
147
152
  return {
148
153
  mappingSize: Number(resp.dbMapSizeBytes),
149
- actualSize: resp.stats.reduce((s, db) => Number(db.totalUsedSize) + s, 0),
150
- numItems: resp.stats.reduce((s, db) => Number(db.numDataItems) + s, 0),
154
+ actualSize: resp.stats.reduce((s, db)=>Number(db.totalUsedSize) + s, 0),
155
+ numItems: resp.stats.reduce((s, db)=>Number(db.numDataItems) + s, 0)
151
156
  };
152
157
  }
153
158
  }
@@ -155,8 +160,7 @@ export function execInWriteTx(store, fn) {
155
160
  const currentWrite = store.getCurrentWriteTx();
156
161
  if (currentWrite) {
157
162
  return fn(currentWrite);
158
- }
159
- else {
163
+ } else {
160
164
  return store.transactionAsync(fn);
161
165
  }
162
166
  }
@@ -164,15 +168,12 @@ export async function execInReadTx(store, fn) {
164
168
  const currentWrite = store.getCurrentWriteTx();
165
169
  if (currentWrite) {
166
170
  return await fn(currentWrite);
167
- }
168
- else {
171
+ } else {
169
172
  const tx = store.getReadTx();
170
173
  try {
171
174
  return await fn(tx);
172
- }
173
- finally {
175
+ } finally{
174
176
  tx.close();
175
177
  }
176
178
  }
177
179
  }
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi12Mi9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVNqQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsUUFBUSxFQUVSLGVBQWUsR0FHaEIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCLFlBQ1UsT0FBZSxFQUN2QixPQUFlLEVBQ2YsVUFBa0IsRUFDVixHQUFXLEVBQ1gsT0FBNkI7UUFKN0IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUdmLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQVgvQixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWIsY0FBUyxHQUFHLElBQUksaUJBQWlCLEVBQW9CLENBQUM7UUFDdEQsZ0JBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBVXRDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHVDQUF1QyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FB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
@@ -1,16 +1,14 @@
1
1
  import { MAXIMUM_KEY, fromBufferKey, toBufferKey } from 'ordered-binary';
2
2
  export function dedupeSortedArray(arr, cmp) {
3
- for (let i = 0; i < arr.length; i++) {
3
+ for(let i = 0; i < arr.length; i++){
4
4
  let j = i + 1;
5
- for (; j < arr.length; j++) {
5
+ for(; j < arr.length; j++){
6
6
  const res = cmp(arr[i], arr[j]);
7
7
  if (res === 0) {
8
8
  continue;
9
- }
10
- else if (res < 0) {
9
+ } else if (res < 0) {
11
10
  break;
12
- }
13
- else {
11
+ } else {
14
12
  throw new Error('Array not sorted');
15
13
  }
16
14
  }
@@ -22,13 +20,12 @@ export function dedupeSortedArray(arr, cmp) {
22
20
  export function insertIntoSortedArray(arr, item, cmp) {
23
21
  let left = 0;
24
22
  let right = arr.length;
25
- while (left < right) {
26
- const mid = (left + right) >> 1;
23
+ while(left < right){
24
+ const mid = left + right >> 1;
27
25
  const comparison = cmp(arr[mid], item);
28
26
  if (comparison < 0) {
29
27
  left = mid + 1;
30
- }
31
- else {
28
+ } else {
32
29
  right = mid;
33
30
  }
34
31
  }
@@ -37,16 +34,14 @@ export function insertIntoSortedArray(arr, item, cmp) {
37
34
  export function findIndexInSortedArray(values, needle, cmp) {
38
35
  let start = 0;
39
36
  let end = values.length - 1;
40
- while (start <= end) {
41
- const mid = start + (((end - start) / 2) | 0);
37
+ while(start <= end){
38
+ const mid = start + ((end - start) / 2 | 0);
42
39
  const res = cmp(values[mid], needle);
43
40
  if (res === 0) {
44
41
  return mid;
45
- }
46
- else if (res > 0) {
42
+ } else if (res > 0) {
47
43
  end = mid - 1;
48
- }
49
- else {
44
+ } else {
50
45
  start = mid + 1;
51
46
  }
52
47
  }
@@ -60,19 +55,17 @@ export function removeAnyOf(arr, vals, cmp) {
60
55
  let writeIdx = 0;
61
56
  let readIdx = 0;
62
57
  let valIdx = 0;
63
- while (readIdx < arr.length && valIdx < vals.length) {
58
+ while(readIdx < arr.length && valIdx < vals.length){
64
59
  const comparison = cmp(arr[readIdx], vals[valIdx]);
65
60
  if (comparison < 0) {
66
61
  arr[writeIdx++] = arr[readIdx++];
67
- }
68
- else if (comparison > 0) {
62
+ } else if (comparison > 0) {
69
63
  valIdx++;
70
- }
71
- else {
64
+ } else {
72
65
  readIdx++;
73
66
  }
74
67
  }
75
- while (readIdx < arr.length) {
68
+ while(readIdx < arr.length){
76
69
  arr[writeIdx++] = arr[readIdx++];
77
70
  }
78
71
  arr.length = writeIdx;
@@ -86,16 +79,16 @@ export function removeFromSortedArray(arr, val, cmp) {
86
79
  export function merge(arr, toInsert, cmp) {
87
80
  const result = new Array(arr.length + toInsert.length);
88
81
  let i = 0, j = 0, k = 0;
89
- while (i < arr.length && j < toInsert.length) {
82
+ while(i < arr.length && j < toInsert.length){
90
83
  result[k++] = cmp(arr[i], toInsert[j]) <= 0 ? arr[i++] : toInsert[j++];
91
84
  }
92
- while (i < arr.length) {
85
+ while(i < arr.length){
93
86
  result[k++] = arr[i++];
94
87
  }
95
- while (j < toInsert.length) {
88
+ while(j < toInsert.length){
96
89
  result[k++] = toInsert[j++];
97
90
  }
98
- for (i = 0; i < result.length; i++) {
91
+ for(i = 0; i < result.length; i++){
99
92
  arr[i] = result[i];
100
93
  }
101
94
  arr.length = result.length;
@@ -107,13 +100,21 @@ export function singleKeyCmp(a, b) {
107
100
  return Buffer.compare(a[0], b);
108
101
  }
109
102
  export function minKey(prefix) {
110
- return toBufferKey([prefix]);
103
+ return toBufferKey([
104
+ prefix
105
+ ]);
111
106
  }
112
107
  export function maxKey(prefix) {
113
- return toBufferKey([prefix, MAXIMUM_KEY]);
108
+ return toBufferKey([
109
+ prefix,
110
+ MAXIMUM_KEY
111
+ ]);
114
112
  }
115
113
  export function serializeKey(prefix, key) {
116
- return toBufferKey([prefix, key]);
114
+ return toBufferKey([
115
+ prefix,
116
+ key
117
+ ]);
117
118
  }
118
119
  export function deserializeKey(prefix, key) {
119
120
  const buf = Buffer.from(key);
@@ -123,4 +124,3 @@ export function deserializeKey(prefix, key) {
123
124
  }
124
125
  return parsed[1];
125
126
  }
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi12Mi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU16RSxNQUFNLFVBQVUsaUJBQWlCLENBQUksR0FBUSxFQUFFLEdBQVc7SUFDeEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzNCLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2QsU0FBUztZQUNYLENBQUM7aUJBQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLE1BQU07WUFDUixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFJLEdBQVEsRUFBRSxJQUFPLEVBQUUsR0FBMkI7SUFDckYsSUFBSSxJ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
@@ -1,30 +1,30 @@
1
- var _WriteTransaction_instances, _WriteTransaction_iterate;
2
- import { __classPrivateFieldGet } from "tslib";
3
1
  import { Database, LMDBMessageType } from './message.js';
4
2
  import { ReadTransaction } from './read_transaction.js';
5
- import { dedupeSortedArray, findInSortedArray, findIndexInSortedArray, insertIntoSortedArray, keyCmp, merge, removeAnyOf, removeFromSortedArray, singleKeyCmp, } from './utils.js';
3
+ import { dedupeSortedArray, findInSortedArray, findIndexInSortedArray, insertIntoSortedArray, keyCmp, merge, removeAnyOf, removeFromSortedArray, singleKeyCmp } from './utils.js';
6
4
  export class WriteTransaction extends ReadTransaction {
7
- constructor() {
8
- super(...arguments);
9
- _WriteTransaction_instances.add(this);
10
- // exposed for tests
11
- this.dataBatch = {
12
- addEntries: [],
13
- removeEntries: [],
14
- };
15
- this.indexBatch = {
16
- addEntries: [],
17
- removeEntries: [],
18
- };
19
- }
5
+ // exposed for tests
6
+ dataBatch = {
7
+ addEntries: [],
8
+ removeEntries: []
9
+ };
10
+ indexBatch = {
11
+ addEntries: [],
12
+ removeEntries: []
13
+ };
20
14
  set(key, value) {
21
15
  this.assertIsOpen();
22
16
  const addEntry = findInSortedArray(this.dataBatch.addEntries, key, singleKeyCmp);
23
17
  if (!addEntry) {
24
- insertIntoSortedArray(this.dataBatch.addEntries, [key, [value]], keyCmp);
25
- }
26
- else {
27
- addEntry[1] = [value];
18
+ insertIntoSortedArray(this.dataBatch.addEntries, [
19
+ key,
20
+ [
21
+ value
22
+ ]
23
+ ], keyCmp);
24
+ } else {
25
+ addEntry[1] = [
26
+ value
27
+ ];
28
28
  }
29
29
  const removeEntryIndex = findIndexInSortedArray(this.dataBatch.removeEntries, key, singleKeyCmp);
30
30
  if (removeEntryIndex > -1) {
@@ -35,7 +35,10 @@ export class WriteTransaction extends ReadTransaction {
35
35
  remove(key) {
36
36
  const removeEntryIndex = findIndexInSortedArray(this.dataBatch.removeEntries, key, singleKeyCmp);
37
37
  if (removeEntryIndex === -1) {
38
- this.dataBatch.removeEntries.push([key, null]);
38
+ this.dataBatch.removeEntries.push([
39
+ key,
40
+ null
41
+ ]);
39
42
  }
40
43
  const addEntryIndex = findIndexInSortedArray(this.dataBatch.addEntries, key, singleKeyCmp);
41
44
  if (addEntryIndex > -1) {
@@ -73,9 +76,11 @@ export class WriteTransaction extends ReadTransaction {
73
76
  if (addEntries) {
74
77
  merge(addEntries[1], values, Buffer.compare);
75
78
  dedupeSortedArray(addEntries[1], Buffer.compare);
76
- }
77
- else {
78
- insertIntoSortedArray(this.indexBatch.addEntries, [key, values], keyCmp);
79
+ } else {
80
+ insertIntoSortedArray(this.indexBatch.addEntries, [
81
+ key,
82
+ values
83
+ ], keyCmp);
79
84
  }
80
85
  return Promise.resolve();
81
86
  }
@@ -90,9 +95,11 @@ export class WriteTransaction extends ReadTransaction {
90
95
  }
91
96
  if (removeEntries) {
92
97
  removeEntries[1] = null;
93
- }
94
- else {
95
- insertIntoSortedArray(this.indexBatch.removeEntries, [key, null], keyCmp);
98
+ } else {
99
+ insertIntoSortedArray(this.indexBatch.removeEntries, [
100
+ key,
101
+ null
102
+ ], keyCmp);
96
103
  }
97
104
  return Promise.resolve();
98
105
  }
@@ -103,12 +110,14 @@ export class WriteTransaction extends ReadTransaction {
103
110
  }
104
111
  }
105
112
  if (removeEntries) {
106
- removeEntries[1] ?? (removeEntries[1] = []);
113
+ removeEntries[1] ??= [];
107
114
  merge(removeEntries[1], values, Buffer.compare);
108
115
  dedupeSortedArray(removeEntries[1], Buffer.compare);
109
- }
110
- else {
111
- insertIntoSortedArray(this.indexBatch.removeEntries, [key, values], keyCmp);
116
+ } else {
117
+ insertIntoSortedArray(this.indexBatch.removeEntries, [
118
+ key,
119
+ values
120
+ ], keyCmp);
112
121
  }
113
122
  return Promise.resolve();
114
123
  }
@@ -130,10 +139,10 @@ export class WriteTransaction extends ReadTransaction {
130
139
  return results;
131
140
  }
132
141
  async *iterate(startKey, endKey, reverse, limit) {
133
- yield* __classPrivateFieldGet(this, _WriteTransaction_instances, "m", _WriteTransaction_iterate).call(this, super.iterate(startKey, endKey, reverse), this.dataBatch, startKey, endKey, reverse, limit, (committed, toAdd) => (toAdd.length > 0 ? toAdd[0] : committed), vals => vals[0]);
142
+ yield* this.#iterate(super.iterate(startKey, endKey, reverse), this.dataBatch, startKey, endKey, reverse, limit, (committed, toAdd)=>toAdd.length > 0 ? toAdd[0] : committed, (vals)=>vals[0]);
134
143
  }
135
144
  async *iterateIndex(startKey, endKey, reverse, limit) {
136
- yield* __classPrivateFieldGet(this, _WriteTransaction_instances, "m", _WriteTransaction_iterate).call(this, super.iterateIndex(startKey, endKey, reverse), this.indexBatch, startKey, endKey, reverse, limit, (committed, toAdd, toRemove) => {
145
+ yield* this.#iterate(super.iterateIndex(startKey, endKey, reverse), this.indexBatch, startKey, endKey, reverse, limit, (committed, toAdd, toRemove)=>{
137
146
  if (toAdd.length > 0) {
138
147
  merge(committed, toAdd, Buffer.compare);
139
148
  dedupeSortedArray(committed, Buffer.compare);
@@ -142,93 +151,104 @@ export class WriteTransaction extends ReadTransaction {
142
151
  removeAnyOf(committed, toRemove, Buffer.compare);
143
152
  }
144
153
  return committed;
145
- }, vals => vals);
154
+ }, (vals)=>vals);
146
155
  }
147
- async commit() {
156
+ async *#iterate(iterator, batch, startKey, endKey, reverse = false, limit, merge, map) {
148
157
  this.assertIsOpen();
149
- this.close();
150
- await this.channel.sendMessage(LMDBMessageType.BATCH, {
151
- batches: new Map([
152
- [Database.DATA, this.dataBatch],
153
- [Database.INDEX, this.indexBatch],
154
- ]),
155
- });
156
- }
157
- }
158
- _WriteTransaction_instances = new WeakSet(), _WriteTransaction_iterate = async function* _WriteTransaction_iterate(iterator, batch, startKey, endKey, reverse = false, limit, merge, map) {
159
- this.assertIsOpen();
160
- // make a copy of this in case we're running in reverse
161
- const uncommittedEntries = [...batch.addEntries];
162
- // used to check we're in the right order when comparing between a key and uncommittedEntries
163
- let cmpDirection = -1;
164
- if (reverse) {
165
- cmpDirection = 1;
166
- uncommittedEntries.reverse();
167
- }
168
- let uncommittedEntriesIdx = 0;
169
- while (uncommittedEntriesIdx < uncommittedEntries.length) {
170
- const entry = uncommittedEntries[uncommittedEntriesIdx];
171
- // go to the first key in our cache that would be captured by the iterator
172
- if (Buffer.compare(entry[0], startKey) !== cmpDirection) {
173
- break;
174
- }
175
- uncommittedEntriesIdx++;
176
- }
177
- let count = 0;
178
- // helper to early return if we've reached our limit
179
- const checkLimit = typeof limit === 'number' ? () => count < limit : () => true;
180
- for await (const [key, values] of iterator) {
181
- // yield every key that we have cached that's captured by the iterator
182
- while (uncommittedEntriesIdx < uncommittedEntries.length && checkLimit()) {
158
+ // make a copy of this in case we're running in reverse
159
+ const uncommittedEntries = [
160
+ ...batch.addEntries
161
+ ];
162
+ // used to check we're in the right order when comparing between a key and uncommittedEntries
163
+ let cmpDirection = -1;
164
+ if (reverse) {
165
+ cmpDirection = 1;
166
+ uncommittedEntries.reverse();
167
+ }
168
+ let uncommittedEntriesIdx = 0;
169
+ while(uncommittedEntriesIdx < uncommittedEntries.length){
183
170
  const entry = uncommittedEntries[uncommittedEntriesIdx];
184
- if (endKey && Buffer.compare(entry[0], endKey) !== cmpDirection) {
171
+ // go to the first key in our cache that would be captured by the iterator
172
+ if (Buffer.compare(entry[0], startKey) !== cmpDirection) {
185
173
  break;
186
174
  }
187
- if (Buffer.compare(entry[0], key) === cmpDirection) {
188
- count++;
189
- yield [entry[0], map(entry[1])];
175
+ uncommittedEntriesIdx++;
176
+ }
177
+ let count = 0;
178
+ // helper to early return if we've reached our limit
179
+ const checkLimit = typeof limit === 'number' ? ()=>count < limit : ()=>true;
180
+ for await (const [key, values] of iterator){
181
+ // yield every key that we have cached that's captured by the iterator
182
+ while(uncommittedEntriesIdx < uncommittedEntries.length && checkLimit()){
183
+ const entry = uncommittedEntries[uncommittedEntriesIdx];
184
+ if (endKey && Buffer.compare(entry[0], endKey) !== cmpDirection) {
185
+ break;
186
+ }
187
+ if (Buffer.compare(entry[0], key) === cmpDirection) {
188
+ count++;
189
+ yield [
190
+ entry[0],
191
+ map(entry[1])
192
+ ];
193
+ } else {
194
+ break;
195
+ }
196
+ uncommittedEntriesIdx++;
190
197
  }
191
- else {
198
+ if (!checkLimit()) {
192
199
  break;
193
200
  }
194
- uncommittedEntriesIdx++;
195
- }
196
- if (!checkLimit()) {
197
- // we reached the imposed `limit`
198
- break;
199
- }
200
- const toRemove = findInSortedArray(batch.removeEntries, key, singleKeyCmp);
201
- // at this point we've either exhausted all uncommitted entries,
202
- // we reached a key strictly greater/smaller than `key`
203
- // or we found the key itself
204
- // check if it's the key and use the uncommitted value
205
- let toAdd = [];
206
- if (uncommittedEntriesIdx < uncommittedEntries.length &&
207
- Buffer.compare(uncommittedEntries[uncommittedEntriesIdx][0], key) === 0) {
208
- toAdd = uncommittedEntries[uncommittedEntriesIdx][1];
209
- uncommittedEntriesIdx++;
210
- }
211
- if (toRemove && !toRemove[1]) {
212
- // we were told to delete this key entirely
213
- continue;
201
+ const toRemove = findInSortedArray(batch.removeEntries, key, singleKeyCmp);
202
+ // at this point we've either exhausted all uncommitted entries,
203
+ // we reached a key strictly greater/smaller than `key`
204
+ // or we found the key itself
205
+ // check if it's the key and use the uncommitted value
206
+ let toAdd = [];
207
+ if (uncommittedEntriesIdx < uncommittedEntries.length && Buffer.compare(uncommittedEntries[uncommittedEntriesIdx][0], key) === 0) {
208
+ toAdd = uncommittedEntries[uncommittedEntriesIdx][1];
209
+ uncommittedEntriesIdx++;
210
+ }
211
+ if (toRemove && !toRemove[1]) {
212
+ continue;
213
+ } else {
214
+ const mergedValues = merge(values, toAdd, toRemove?.[1] ?? []);
215
+ if (mergedValues) {
216
+ count++;
217
+ yield [
218
+ key,
219
+ mergedValues
220
+ ];
221
+ }
222
+ }
214
223
  }
215
- else {
216
- const mergedValues = merge(values, toAdd, toRemove?.[1] ?? []);
217
- if (mergedValues) {
218
- count++;
219
- yield [key, mergedValues];
224
+ // emit all the uncommitted data that would be captured by this iterator
225
+ while(uncommittedEntriesIdx < uncommittedEntries.length && checkLimit()){
226
+ const entry = uncommittedEntries[uncommittedEntriesIdx];
227
+ if (endKey && Buffer.compare(entry[0], endKey) !== cmpDirection) {
228
+ break;
220
229
  }
230
+ count++;
231
+ yield [
232
+ entry[0],
233
+ map(entry[1])
234
+ ];
235
+ uncommittedEntriesIdx++;
221
236
  }
222
237
  }
223
- // emit all the uncommitted data that would be captured by this iterator
224
- while (uncommittedEntriesIdx < uncommittedEntries.length && checkLimit()) {
225
- const entry = uncommittedEntries[uncommittedEntriesIdx];
226
- if (endKey && Buffer.compare(entry[0], endKey) !== cmpDirection) {
227
- break;
228
- }
229
- count++;
230
- yield [entry[0], map(entry[1])];
231
- uncommittedEntriesIdx++;
238
+ async commit() {
239
+ this.assertIsOpen();
240
+ this.close();
241
+ await this.channel.sendMessage(LMDBMessageType.BATCH, {
242
+ batches: new Map([
243
+ [
244
+ Database.DATA,
245
+ this.dataBatch
246
+ ],
247
+ [
248
+ Database.INDEX,
249
+ this.indexBatch
250
+ ]
251
+ ])
252
+ });
232
253
  }
233
- };
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVfdHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi12Mi93cml0ZV90cmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBYyxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLE1BQU0sRUFDTixLQUFLLEVBQ0wsV0FBVyxFQUNYLHFCQUFxQixFQUNyQixZQUFZLEdBQ2IsTUFBTSxZQUFZLENBQUM7QUFFcEIsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFBckQ7OztRQUNFLG9CQUFvQjtRQUNKLGNBQVMsR0FBVTtZQUNqQyxVQUFVLEVBQUUsRUFBRTtZQUNkLGFBQWEsRUFBRSxFQUFFO1NBQ2xCLENBQUM7UUFDYyxlQUFVLEdBQVU7WUFDbEMsVUFBVSxFQUFFLEVBQUU7WUFDZCxhQUFhLEVBQUUsRUFBRTtTQUNsQixDQUFDO0lBa1NKLENBQUM7SUFoU0MsR0FBRyxDQUFDLEdBQWUsRUFBRSxLQUFpQjtRQUNwQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEIsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLHFCQUFxQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzRSxDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxD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
254
+ }
@@ -1,2 +1 @@
1
1
  export * from './l2_tips_store.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUMifQ==