@lodestar/db 1.39.1 → 1.40.0-dev.193b2e2047

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.
@@ -1,7 +1,7 @@
1
1
  import { Type } from "@chainsafe/ssz";
2
2
  import { ChainForkConfig } from "@lodestar/config";
3
3
  import { KeyValue } from "./controller/index.js";
4
- import { Db, FilterOptions } from "./controller/interface.js";
4
+ import { Db, DbBatch, FilterOptions } from "./controller/interface.js";
5
5
  type Id = Uint8Array | string | number | bigint;
6
6
  /**
7
7
  * Repository is a high level kv storage
@@ -50,6 +50,10 @@ export declare abstract class PrefixedRepository<P, I extends Id, T> {
50
50
  putManyBinary(prefix: P, items: KeyValue<I, Uint8Array>[]): Promise<void>;
51
51
  delete(prefix: P, id: I): Promise<void>;
52
52
  deleteMany(prefix: P | P[]): Promise<void>;
53
+ batch(prefix: P, batch: DbBatch<I, T>): Promise<void>;
54
+ batchBinary(prefix: P, batch: DbBatch<I, Uint8Array>): Promise<void>;
55
+ values(prefix: P | P[]): Promise<T[]>;
56
+ valuesBinary(prefix: P | P[]): Promise<Uint8Array[]>;
53
57
  valuesStream(prefix: P | P[]): AsyncIterable<T>;
54
58
  valuesStreamBinary(prefix: P | P[]): AsyncIterable<{
55
59
  prefix: P;
@@ -1 +1 @@
1
- {"version":3,"file":"abstractPrefixedRepository.d.ts","sourceRoot":"","sources":["../src/abstractPrefixedRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstractPrefixedRepository.d.ts","sourceRoot":"","sources":["../src/abstractPrefixedRepository.ts"],"names":[],"mappings":"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"}
@@ -113,6 +113,55 @@ export class PrefixedRepository {
113
113
  }
114
114
  await this.db.batchDelete(keys.flat(), this.dbReqOpts);
115
115
  }
116
+ async batch(prefix, batch) {
117
+ const batchWithKeys = [];
118
+ for (const b of batch) {
119
+ if (b.type === "del") {
120
+ batchWithKeys.push({ type: b.type, key: this.wrapKey(this.encodeKeyRaw(prefix, b.key)) });
121
+ }
122
+ else {
123
+ batchWithKeys.push({
124
+ type: b.type,
125
+ key: this.wrapKey(this.encodeKeyRaw(prefix, b.key)),
126
+ value: this.encodeValue(b.value),
127
+ });
128
+ }
129
+ }
130
+ await this.db.batch(batchWithKeys, this.dbReqOpts);
131
+ }
132
+ async batchBinary(prefix, batch) {
133
+ const batchWithKeys = [];
134
+ for (const b of batch) {
135
+ batchWithKeys.push({ ...b, key: this.wrapKey(this.encodeKeyRaw(prefix, b.key)) });
136
+ }
137
+ await this.db.batch(batchWithKeys, this.dbReqOpts);
138
+ }
139
+ async values(prefix) {
140
+ const result = [];
141
+ for (const p of Array.isArray(prefix) ? prefix : [prefix]) {
142
+ for await (const vb of this.db.valuesStream({
143
+ gte: this.wrapKey(this.getMinKeyRaw(p)),
144
+ lte: this.wrapKey(this.getMaxKeyRaw(p)),
145
+ bucketId: this.bucketId,
146
+ })) {
147
+ result.push(this.decodeValue(vb));
148
+ }
149
+ }
150
+ return result;
151
+ }
152
+ async valuesBinary(prefix) {
153
+ const result = [];
154
+ for (const p of Array.isArray(prefix) ? prefix : [prefix]) {
155
+ for await (const vb of this.db.valuesStream({
156
+ gte: this.wrapKey(this.getMinKeyRaw(p)),
157
+ lte: this.wrapKey(this.getMaxKeyRaw(p)),
158
+ bucketId: this.bucketId,
159
+ })) {
160
+ result.push(vb);
161
+ }
162
+ }
163
+ return result;
164
+ }
116
165
  async *valuesStream(prefix) {
117
166
  for (const p of Array.isArray(prefix) ? prefix : [prefix]) {
118
167
  for await (const vb of this.db.valuesStream({
@@ -1 +1 @@
1
- {"version":3,"file":"abstractPrefixedRepository.js","sourceRoot":"","sources":["../src/abstractPrefixedRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstractPrefixedRepository.js","sourceRoot":"","sources":["../src/abstractPrefixedRepository.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,43 @@
1
1
  import { Type } from "@chainsafe/ssz";
2
2
  import { ChainForkConfig } from "@lodestar/config";
3
3
  import { FilterOptions, KeyValue } from "./controller/index.js";
4
- import { Db } from "./controller/interface.js";
4
+ import { Db, DbBatch, DbReqOpts } from "./controller/interface.js";
5
5
  export type Id = Uint8Array | string | number | bigint;
6
+ /**
7
+ * BinaryRepository is a high level kv storage
8
+ * managing a Uint8Array to Uint8Array kv database
9
+ * It translates typed keys and Uint8Array values required by the underlying database
10
+ */
11
+ export declare abstract class BinaryRepository<I extends Id> {
12
+ protected config: ChainForkConfig;
13
+ protected db: Db;
14
+ protected bucket: number;
15
+ protected readonly bucketId: string;
16
+ protected readonly dbReqOpts: DbReqOpts;
17
+ protected readonly minKey: Uint8Array;
18
+ protected readonly maxKey: Uint8Array;
19
+ protected constructor(config: ChainForkConfig, db: Db, bucket: number, bucketId: string);
20
+ keys(opts?: FilterOptions<I>): Promise<I[]>;
21
+ keysStream(opts?: FilterOptions<I>): AsyncIterable<I>;
22
+ firstKey(): Promise<I | null>;
23
+ lastKey(): Promise<I | null>;
24
+ encodeKey(id: I): Uint8Array;
25
+ decodeKey(key: Uint8Array): I;
26
+ getBinary(id: I): Promise<Uint8Array | null>;
27
+ putBinary(id: I, value: Uint8Array): Promise<void>;
28
+ binaries(opts?: FilterOptions<I>): Promise<Uint8Array[]>;
29
+ lastBinary(): Promise<Uint8Array | null>;
30
+ batchPutBinary(items: KeyValue<I, Uint8Array>[]): Promise<void>;
31
+ binaryEntriesStream(opts?: FilterOptions<I>): AsyncIterable<KeyValue<Uint8Array, Uint8Array>>;
32
+ has(id: I): Promise<boolean>;
33
+ delete(id: I): Promise<void>;
34
+ batchDelete(ids: I[]): Promise<void>;
35
+ batchBinary(batch: DbBatch<I, Uint8Array>): Promise<void>;
36
+ /**
37
+ * Transforms opts from I to Uint8Array
38
+ */
39
+ protected dbFilterOptions(opts?: FilterOptions<I>): FilterOptions<Uint8Array>;
40
+ }
6
41
  /**
7
42
  * Repository is a high level kv storage
8
43
  * managing a Uint8Array to Uint8Array kv database
@@ -11,50 +46,27 @@ export type Id = Uint8Array | string | number | bigint;
11
46
  * By default, SSZ-encoded values,
12
47
  * indexed by root
13
48
  */
14
- export declare abstract class Repository<I extends Id, T> {
15
- protected config: ChainForkConfig;
16
- protected db: Db;
17
- protected bucket: number;
49
+ export declare abstract class Repository<I extends Id, T> extends BinaryRepository<I> {
18
50
  protected type: Type<T>;
19
- protected readonly bucketId: string;
20
- private readonly dbReqOpts;
21
- private readonly minKey;
22
- private readonly maxKey;
23
51
  protected constructor(config: ChainForkConfig, db: Db, bucket: number, type: Type<T>, bucketId: string);
24
52
  encodeValue(value: T): Uint8Array;
25
53
  decodeValue(data: Uint8Array): T;
26
- encodeKey(id: I): Uint8Array;
27
- decodeKey(key: Uint8Array): I;
28
54
  get(id: I): Promise<T | null>;
29
- getBinary(id: I): Promise<Uint8Array | null>;
30
- has(id: I): Promise<boolean>;
31
55
  put(id: I, value: T): Promise<void>;
32
- putBinary(id: I, value: Uint8Array): Promise<void>;
33
- delete(id: I): Promise<void>;
34
56
  getId(value: T): I;
35
57
  add(value: T): Promise<void>;
36
58
  remove(value: T): Promise<void>;
37
59
  batchPut(items: KeyValue<I, T>[]): Promise<void>;
38
- batchPutBinary(items: KeyValue<I, Uint8Array>[]): Promise<void>;
39
- batchDelete(ids: I[]): Promise<void>;
60
+ batch(batch: DbBatch<I, T>): Promise<void>;
40
61
  batchAdd(values: T[]): Promise<void>;
41
62
  batchRemove(values: T[]): Promise<void>;
42
- keys(opts?: FilterOptions<I>): Promise<I[]>;
43
- keysStream(opts?: FilterOptions<I>): AsyncIterable<I>;
44
63
  values(opts?: FilterOptions<I>): Promise<T[]>;
45
64
  valuesStream(opts?: FilterOptions<I>): AsyncIterable<T>;
46
- binaryEntriesStream(opts?: FilterOptions<I>): AsyncIterable<KeyValue<Uint8Array, Uint8Array>>;
47
65
  entries(opts?: FilterOptions<I>): Promise<KeyValue<I, T>[]>;
48
66
  entriesStream(opts?: FilterOptions<I>): AsyncIterable<KeyValue<I, T>>;
49
- firstKey(): Promise<I | null>;
50
- lastKey(): Promise<I | null>;
51
67
  firstValue(): Promise<T | null>;
52
68
  lastValue(): Promise<T | null>;
53
69
  firstEntry(): Promise<KeyValue<I, T> | null>;
54
70
  lastEntry(): Promise<KeyValue<I, T> | null>;
55
- /**
56
- * Transforms opts from I to Uint8Array
57
- */
58
- protected dbFilterOptions(opts?: FilterOptions<I>): FilterOptions<Uint8Array>;
59
71
  }
60
72
  //# sourceMappingURL=abstractRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstractRepository.d.ts","sourceRoot":"","sources":["../src/abstractRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstractRepository.d.ts","sourceRoot":"","sources":["../src/abstractRepository.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,53 @@
1
1
  import { BUCKET_LENGTH } from "./const.js";
2
2
  import { encodeKey as _encodeKey } from "./util.js";
3
3
  /**
4
- * Repository is a high level kv storage
4
+ * BinaryRepository is a high level kv storage
5
5
  * managing a Uint8Array to Uint8Array kv database
6
- * It translates typed keys and values to Uint8Arrays required by the underlying database
7
- *
8
- * By default, SSZ-encoded values,
9
- * indexed by root
6
+ * It translates typed keys and Uint8Array values required by the underlying database
10
7
  */
11
- export class Repository {
8
+ export class BinaryRepository {
12
9
  config;
13
10
  db;
14
11
  bucket;
15
- type;
16
12
  bucketId;
17
13
  dbReqOpts;
18
14
  minKey;
19
15
  maxKey;
20
- constructor(config, db, bucket, type, bucketId) {
16
+ constructor(config, db, bucket, bucketId) {
21
17
  this.config = config;
22
18
  this.db = db;
23
19
  this.bucket = bucket;
24
- this.type = type;
25
20
  this.bucketId = bucketId;
26
21
  this.dbReqOpts = { bucketId: this.bucketId };
27
22
  this.minKey = _encodeKey(bucket, Buffer.alloc(0));
28
23
  this.maxKey = _encodeKey(bucket + 1, Buffer.alloc(0));
29
24
  }
30
- encodeValue(value) {
31
- return this.type.serialize(value);
25
+ async keys(opts) {
26
+ const data = await this.db.keys(this.dbFilterOptions(opts));
27
+ return (data ?? []).map((data) => this.decodeKey(data));
32
28
  }
33
- decodeValue(data) {
34
- return this.type.deserialize(data);
29
+ async *keysStream(opts) {
30
+ const keysStream = this.db.keysStream(this.dbFilterOptions(opts));
31
+ const decodeKey = this.decodeKey.bind(this);
32
+ for await (const key of keysStream) {
33
+ yield decodeKey(key);
34
+ }
35
+ }
36
+ async firstKey() {
37
+ // Metrics accounted in this.keys()
38
+ const keys = await this.keys({ limit: 1, bucketId: this.bucketId });
39
+ if (!keys.length) {
40
+ return null;
41
+ }
42
+ return keys[0];
43
+ }
44
+ async lastKey() {
45
+ // Metrics accounted in this.keys()
46
+ const keys = await this.keys({ limit: 1, reverse: true, bucketId: this.bucketId });
47
+ if (!keys.length) {
48
+ return null;
49
+ }
50
+ return keys[0];
35
51
  }
36
52
  encodeKey(id) {
37
53
  return _encodeKey(this.bucket, id);
@@ -39,30 +55,123 @@ export class Repository {
39
55
  decodeKey(key) {
40
56
  return key.slice(BUCKET_LENGTH);
41
57
  }
42
- async get(id) {
43
- const value = await this.db.get(this.encodeKey(id), this.dbReqOpts);
44
- if (!value)
45
- return null;
46
- return this.decodeValue(value);
47
- }
48
58
  async getBinary(id) {
49
59
  const value = await this.db.get(this.encodeKey(id), this.dbReqOpts);
50
60
  if (!value)
51
61
  return null;
52
62
  return value;
53
63
  }
54
- async has(id) {
55
- return (await this.get(id)) !== null;
56
- }
57
- async put(id, value) {
58
- await this.db.put(this.encodeKey(id), this.encodeValue(value), this.dbReqOpts);
59
- }
60
64
  async putBinary(id, value) {
61
65
  await this.db.put(this.encodeKey(id), value, this.dbReqOpts);
62
66
  }
67
+ async binaries(opts) {
68
+ const data = await this.db.values(this.dbFilterOptions(opts));
69
+ return data ?? [];
70
+ }
71
+ async lastBinary() {
72
+ // Metrics accounted in this.values()
73
+ const binaryValues = await this.binaries({ limit: 1, reverse: true, bucketId: this.bucketId });
74
+ if (!binaryValues.length) {
75
+ return null;
76
+ }
77
+ return binaryValues[0];
78
+ }
79
+ // Similar to batchPut but we support value as Uint8Array
80
+ async batchPutBinary(items) {
81
+ if (items.length === 1) {
82
+ return this.db.put(this.encodeKey(items[0].key), items[0].value, this.dbReqOpts);
83
+ }
84
+ await this.db.batchPut(Array.from({ length: items.length }, (_, i) => ({
85
+ key: this.encodeKey(items[i].key),
86
+ value: items[i].value,
87
+ })), this.dbReqOpts);
88
+ }
89
+ async *binaryEntriesStream(opts) {
90
+ yield* this.db.entriesStream(this.dbFilterOptions(opts));
91
+ }
92
+ async has(id) {
93
+ return (await this.getBinary(id)) !== null;
94
+ }
63
95
  async delete(id) {
64
96
  await this.db.delete(this.encodeKey(id), this.dbReqOpts);
65
97
  }
98
+ async batchDelete(ids) {
99
+ if (ids.length === 1) {
100
+ return this.delete(ids[0]);
101
+ }
102
+ await this.db.batchDelete(Array.from({ length: ids.length }, (_, i) => this.encodeKey(ids[i])), this.dbReqOpts);
103
+ }
104
+ async batchBinary(batch) {
105
+ const batchWithKeys = [];
106
+ for (const b of batch) {
107
+ batchWithKeys.push({ ...b, key: this.encodeKey(b.key) });
108
+ }
109
+ await this.db.batch(batchWithKeys, this.dbReqOpts);
110
+ }
111
+ /**
112
+ * Transforms opts from I to Uint8Array
113
+ */
114
+ dbFilterOptions(opts) {
115
+ const optsBuff = {
116
+ bucketId: this.bucketId,
117
+ };
118
+ // Set at least one min key
119
+ if (opts?.lt !== undefined) {
120
+ optsBuff.lt = this.encodeKey(opts.lt);
121
+ }
122
+ else if (opts?.lte !== undefined) {
123
+ optsBuff.lte = this.encodeKey(opts.lte);
124
+ }
125
+ else {
126
+ optsBuff.lt = this.maxKey;
127
+ }
128
+ // Set at least one max key
129
+ if (opts?.gt !== undefined) {
130
+ optsBuff.gt = this.encodeKey(opts.gt);
131
+ }
132
+ else if (opts?.gte !== undefined) {
133
+ optsBuff.gte = this.encodeKey(opts.gte);
134
+ }
135
+ else {
136
+ optsBuff.gte = this.minKey;
137
+ }
138
+ if (opts?.reverse !== undefined)
139
+ optsBuff.reverse = opts.reverse;
140
+ if (opts?.limit !== undefined)
141
+ optsBuff.limit = opts.limit;
142
+ return optsBuff;
143
+ }
144
+ }
145
+ /**
146
+ * Repository is a high level kv storage
147
+ * managing a Uint8Array to Uint8Array kv database
148
+ * It translates typed keys and values to Uint8Arrays required by the underlying database
149
+ *
150
+ * By default, SSZ-encoded values,
151
+ * indexed by root
152
+ */
153
+ export class Repository extends BinaryRepository {
154
+ type;
155
+ constructor(config, db, bucket, type, bucketId) {
156
+ super(config, db, bucket, bucketId);
157
+ this.type = type;
158
+ this.type = type;
159
+ }
160
+ encodeValue(value) {
161
+ return this.type.serialize(value);
162
+ }
163
+ decodeValue(data) {
164
+ return this.type.deserialize(data);
165
+ }
166
+ async get(id) {
167
+ const value = await this.db.get(this.encodeKey(id), this.dbReqOpts);
168
+ if (!value)
169
+ return null;
170
+ return this.decodeValue(value);
171
+ }
172
+ async put(id, value) {
173
+ await this.db.put(this.encodeKey(id), this.encodeValue(value), this.dbReqOpts);
174
+ }
66
175
  // The Id can be inferred from the value
67
176
  getId(value) {
68
177
  return this.type.hashTreeRoot(value);
@@ -82,21 +191,17 @@ export class Repository {
82
191
  value: this.encodeValue(items[i].value),
83
192
  })), this.dbReqOpts);
84
193
  }
85
- // Similar to batchPut but we support value as Uint8Array
86
- async batchPutBinary(items) {
87
- if (items.length === 1) {
88
- return this.db.put(this.encodeKey(items[0].key), items[0].value, this.dbReqOpts);
194
+ async batch(batch) {
195
+ const batchWithKeys = [];
196
+ for (const b of batch) {
197
+ if (b.type === "del") {
198
+ batchWithKeys.push({ ...b, key: this.encodeKey(b.key) });
199
+ }
200
+ else {
201
+ batchWithKeys.push({ ...b, key: this.encodeKey(b.key), value: this.encodeValue(b.value) });
202
+ }
89
203
  }
90
- await this.db.batchPut(Array.from({ length: items.length }, (_, i) => ({
91
- key: this.encodeKey(items[i].key),
92
- value: items[i].value,
93
- })), this.dbReqOpts);
94
- }
95
- async batchDelete(ids) {
96
- if (ids.length === 1) {
97
- return this.delete(ids[0]);
98
- }
99
- await this.db.batchDelete(Array.from({ length: ids.length }, (_, i) => this.encodeKey(ids[i])), this.dbReqOpts);
204
+ await this.db.batch(batchWithKeys, this.dbReqOpts);
100
205
  }
101
206
  async batchAdd(values) {
102
207
  // handle single value in batchPut
@@ -109,19 +214,8 @@ export class Repository {
109
214
  // handle single value in batchDelete
110
215
  await this.batchDelete(Array.from({ length: values.length }, (_ignored, i) => this.getId(values[i])));
111
216
  }
112
- async keys(opts) {
113
- const data = await this.db.keys(this.dbFilterOptions(opts));
114
- return (data ?? []).map((data) => this.decodeKey(data));
115
- }
116
- async *keysStream(opts) {
117
- const keysStream = this.db.keysStream(this.dbFilterOptions(opts));
118
- const decodeKey = this.decodeKey.bind(this);
119
- for await (const key of keysStream) {
120
- yield decodeKey(key);
121
- }
122
- }
123
217
  async values(opts) {
124
- const data = await this.db.values(this.dbFilterOptions(opts));
218
+ const data = await this.binaries(opts);
125
219
  return (data ?? []).map((data) => this.decodeValue(data));
126
220
  }
127
221
  async *valuesStream(opts) {
@@ -131,9 +225,6 @@ export class Repository {
131
225
  yield decodeValue(value);
132
226
  }
133
227
  }
134
- async *binaryEntriesStream(opts) {
135
- yield* this.db.entriesStream(this.dbFilterOptions(opts));
136
- }
137
228
  async entries(opts) {
138
229
  const data = await this.db.entries(this.dbFilterOptions(opts));
139
230
  return (data ?? []).map((data) => ({
@@ -152,22 +243,6 @@ export class Repository {
152
243
  };
153
244
  }
154
245
  }
155
- async firstKey() {
156
- // Metrics accounted in this.keys()
157
- const keys = await this.keys({ limit: 1, bucketId: this.bucketId });
158
- if (!keys.length) {
159
- return null;
160
- }
161
- return keys[0];
162
- }
163
- async lastKey() {
164
- // Metrics accounted in this.keys()
165
- const keys = await this.keys({ limit: 1, reverse: true, bucketId: this.bucketId });
166
- if (!keys.length) {
167
- return null;
168
- }
169
- return keys[0];
170
- }
171
246
  async firstValue() {
172
247
  // Metrics accounted in this.values()
173
248
  const values = await this.values({ limit: 1, bucketId: this.bucketId });
@@ -200,38 +275,5 @@ export class Repository {
200
275
  }
201
276
  return entries[0];
202
277
  }
203
- /**
204
- * Transforms opts from I to Uint8Array
205
- */
206
- dbFilterOptions(opts) {
207
- const optsBuff = {
208
- bucketId: this.bucketId,
209
- };
210
- // Set at least one min key
211
- if (opts?.lt !== undefined) {
212
- optsBuff.lt = this.encodeKey(opts.lt);
213
- }
214
- else if (opts?.lte !== undefined) {
215
- optsBuff.lte = this.encodeKey(opts.lte);
216
- }
217
- else {
218
- optsBuff.lt = this.maxKey;
219
- }
220
- // Set at least on max key
221
- if (opts?.gt !== undefined) {
222
- optsBuff.gt = this.encodeKey(opts.gt);
223
- }
224
- else if (opts?.gte !== undefined) {
225
- optsBuff.gte = this.encodeKey(opts.gte);
226
- }
227
- else {
228
- optsBuff.gte = this.minKey;
229
- }
230
- if (opts?.reverse !== undefined)
231
- optsBuff.reverse = opts.reverse;
232
- if (opts?.limit !== undefined)
233
- optsBuff.limit = opts.limit;
234
- return optsBuff;
235
- }
236
278
  }
237
279
  //# sourceMappingURL=abstractRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstractRepository.js","sourceRoot":"","sources":["../src/abstractRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstractRepository.js","sourceRoot":"","sources":["../src/abstractRepository.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type { DatabaseController, Db, DbReqOpts, FilterOptions, KeyValue } from "./interface.js";
1
+ export type { DatabaseController, Db, DbBatch, DbBatchOperation, DbReqOpts, FilterOptions, KeyValue, } from "./interface.js";
2
2
  export { LevelDbController } from "./level.js";
3
3
  export type { LevelDbControllerMetrics } from "./metrics.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/controller/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAC,kBAAkB,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAC7C,YAAY,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/controller/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,EAAE,EACF,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,QAAQ,GACT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAC7C,YAAY,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controller/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controller/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC"}