@aztec/kv-store 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.75.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
@@ -0,0 +1,97 @@
1
+ import { type Logger } from '@aztec/foundation/log';
2
+ import { type DBSchema, type IDBPDatabase } from 'idb';
3
+ import { type AztecAsyncArray } from '../interfaces/array.js';
4
+ import { type Key, type StoreSize } from '../interfaces/common.js';
5
+ import { type AztecAsyncCounter } from '../interfaces/counter.js';
6
+ import { type AztecAsyncMap, type AztecAsyncMultiMap } from '../interfaces/map.js';
7
+ import { type AztecAsyncSet } from '../interfaces/set.js';
8
+ import { type AztecAsyncSingleton } from '../interfaces/singleton.js';
9
+ import { type AztecAsyncKVStore } from '../interfaces/store.js';
10
+ export type StoredData<V> = {
11
+ value: V;
12
+ container: string;
13
+ key: string;
14
+ keyCount: number;
15
+ slot: string;
16
+ };
17
+ export interface AztecIDBSchema extends DBSchema {
18
+ data: {
19
+ value: StoredData<any>;
20
+ key: string;
21
+ indexes: {
22
+ container: string;
23
+ key: string;
24
+ keyCount: number;
25
+ };
26
+ };
27
+ }
28
+ /**
29
+ * A key-value store backed by IndexedDB.
30
+ */
31
+ export declare class AztecIndexedDBStore implements AztecAsyncKVStore {
32
+ #private;
33
+ readonly isEphemeral: boolean;
34
+ constructor(rootDB: IDBPDatabase<AztecIDBSchema>, isEphemeral: boolean, log: Logger, name: string);
35
+ /**
36
+ * Creates a new AztecKVStore backed by IndexedDB. The path to the database is optional. If not provided,
37
+ * the database will be stored in a temporary location and be deleted when the process exists.
38
+ *
39
+ *
40
+ * @param path - A path on the disk to store the database. Optional
41
+ * @param ephemeral - true if the store should only exist in memory and not automatically be flushed to disk. Optional
42
+ * @param log - A logger to use. Optional
43
+ * @returns The store
44
+ */
45
+ static open(log: Logger, name?: string, ephemeral?: boolean): Promise<AztecIndexedDBStore>;
46
+ /**
47
+ * Forks the current DB into a new DB by backing it up to a temporary location and opening a new indexedb.
48
+ * @returns A new AztecIndexedDBStore.
49
+ */
50
+ fork(): Promise<AztecAsyncKVStore>;
51
+ /**
52
+ * Creates a new AztecMap in the store.
53
+ * @param name - Name of the map
54
+ * @returns A new AztecMap
55
+ */
56
+ openMap<K extends Key, V>(name: string): AztecAsyncMap<K, V>;
57
+ /**
58
+ * Creates a new AztecSet in the store.
59
+ * @param name - Name of the set
60
+ * @returns A new AztecSet
61
+ */
62
+ openSet<K extends Key>(name: string): AztecAsyncSet<K>;
63
+ /**
64
+ * Creates a new AztecMultiMap in the store. A multi-map stores multiple values for a single key automatically.
65
+ * @param name - Name of the map
66
+ * @returns A new AztecMultiMap
67
+ */
68
+ openMultiMap<K extends Key, V>(name: string): AztecAsyncMultiMap<K, V>;
69
+ openCounter<K extends Key>(_name: string): AztecAsyncCounter<K>;
70
+ /**
71
+ * Creates a new AztecArray in the store.
72
+ * @param name - Name of the array
73
+ * @returns A new AztecArray
74
+ */
75
+ openArray<T>(name: string): AztecAsyncArray<T>;
76
+ /**
77
+ * Creates a new AztecSingleton in the store.
78
+ * @param name - Name of the singleton
79
+ * @returns A new AztecSingleton
80
+ */
81
+ openSingleton<T>(name: string): AztecAsyncSingleton<T>;
82
+ /**
83
+ * Runs a callback in a transaction.
84
+ * @param callback - Function to execute in a transaction
85
+ * @returns A promise that resolves to the return value of the callback
86
+ */
87
+ transactionAsync<T>(callback: () => Promise<T>): Promise<T>;
88
+ /**
89
+ * Clears all entries in the store & sub DBs.
90
+ */
91
+ clear(): Promise<void>;
92
+ /** Deletes this store and removes the database */
93
+ delete(): Promise<void>;
94
+ estimateSize(): Promise<StoreSize>;
95
+ close(): Promise<void>;
96
+ }
97
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/indexeddb/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAoB,MAAM,KAAK,CAAC;AAEzE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAMhE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzG,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,EAAE;QACJ,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;QACvB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/D,CAAC;CACH;AAED;;GAEG;AAEH,qBAAa,mBAAoB,YAAW,iBAAiB;;aASO,WAAW,EAAE,OAAO;gBAA1E,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,EAAkB,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAKjH;;;;;;;;;OASG;WACU,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgBvG;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAmBxC;;;;OAIG;IACH,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAM5D;;;;OAIG;IACH,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;IAMtD;;;;OAIG;IACH,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;IAMtE,WAAW,CAAC,CAAC,SAAS,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAI/D;;;;OAIG;IACH,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC;IAM9C;;;;OAIG;IACH,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC;IAMtD;;;;OAIG;IACG,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAkBjE;;OAEG;IACG,KAAK;IAIX,kDAAkD;IAClD,MAAM;IAMN,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvB"}
@@ -1,3 +1,5 @@
1
+ var _AztecIndexedDBStore_log, _AztecIndexedDBStore_rootDB, _AztecIndexedDBStore_name, _AztecIndexedDBStore_containers;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { deleteDB, openDB } from 'idb';
2
4
  import { IndexedDBAztecArray } from './array.js';
3
5
  import { IndexedDBAztecMap } from './map.js';
@@ -5,128 +7,122 @@ import { IndexedDBAztecSet } from './set.js';
5
7
  import { IndexedDBAztecSingleton } from './singleton.js';
6
8
  /**
7
9
  * A key-value store backed by IndexedDB.
8
- */ export class AztecIndexedDBStore {
9
- isEphemeral;
10
- #log;
11
- #rootDB;
12
- #name;
13
- #containers;
14
- constructor(rootDB, isEphemeral, log, name){
10
+ */
11
+ export class AztecIndexedDBStore {
12
+ constructor(rootDB, isEphemeral, log, name) {
15
13
  this.isEphemeral = isEphemeral;
16
- this.#containers = new Set();
17
- this.#rootDB = rootDB;
18
- this.#log = log;
19
- this.#name = name;
14
+ _AztecIndexedDBStore_log.set(this, void 0);
15
+ _AztecIndexedDBStore_rootDB.set(this, void 0);
16
+ _AztecIndexedDBStore_name.set(this, void 0);
17
+ _AztecIndexedDBStore_containers.set(this, new Set());
18
+ __classPrivateFieldSet(this, _AztecIndexedDBStore_rootDB, rootDB, "f");
19
+ __classPrivateFieldSet(this, _AztecIndexedDBStore_log, log, "f");
20
+ __classPrivateFieldSet(this, _AztecIndexedDBStore_name, name, "f");
20
21
  }
21
22
  /**
22
- * Creates a new AztecKVStore backed by IndexedDB. The path to the database is optional. If not provided,
23
- * the database will be stored in a temporary location and be deleted when the process exists.
24
- *
25
- *
26
- * @param path - A path on the disk to store the database. Optional
27
- * @param ephemeral - true if the store should only exist in memory and not automatically be flushed to disk. Optional
28
- * @param log - A logger to use. Optional
29
- * @returns The store
30
- */ static async open(log, name, ephemeral = false) {
23
+ * Creates a new AztecKVStore backed by IndexedDB. The path to the database is optional. If not provided,
24
+ * the database will be stored in a temporary location and be deleted when the process exists.
25
+ *
26
+ *
27
+ * @param path - A path on the disk to store the database. Optional
28
+ * @param ephemeral - true if the store should only exist in memory and not automatically be flushed to disk. Optional
29
+ * @param log - A logger to use. Optional
30
+ * @returns The store
31
+ */
32
+ static async open(log, name, ephemeral = false) {
31
33
  name = name && !ephemeral ? name : self.crypto.getRandomValues(new Uint8Array(16)).join('');
32
34
  log.debug(`Opening IndexedDB ${ephemeral ? 'temp ' : ''}database with name ${name}`);
33
35
  const rootDB = await openDB(name, 1, {
34
- upgrade (db) {
35
- const objectStore = db.createObjectStore('data', {
36
- keyPath: 'slot'
37
- });
38
- objectStore.createIndex('key', [
39
- 'container',
40
- 'key'
41
- ], {
42
- unique: false
43
- });
44
- objectStore.createIndex('keyCount', [
45
- 'container',
46
- 'key',
47
- 'keyCount'
48
- ], {
49
- unique: false
50
- });
51
- }
36
+ upgrade(db) {
37
+ const objectStore = db.createObjectStore('data', { keyPath: 'slot' });
38
+ objectStore.createIndex('key', ['container', 'key'], { unique: false });
39
+ objectStore.createIndex('keyCount', ['container', 'key', 'keyCount'], { unique: false });
40
+ },
52
41
  });
53
42
  const kvStore = new AztecIndexedDBStore(rootDB, ephemeral, log, name);
54
43
  return kvStore;
55
44
  }
56
45
  /**
57
- * Forks the current DB into a new DB by backing it up to a temporary location and opening a new indexedb.
58
- * @returns A new AztecIndexedDBStore.
59
- */ async fork() {
60
- const forkedStore = await AztecIndexedDBStore.open(this.#log, undefined, true);
61
- this.#log.verbose(`Forking store to ${forkedStore.#name}`);
46
+ * Forks the current DB into a new DB by backing it up to a temporary location and opening a new indexedb.
47
+ * @returns A new AztecIndexedDBStore.
48
+ */
49
+ async fork() {
50
+ const forkedStore = await AztecIndexedDBStore.open(__classPrivateFieldGet(this, _AztecIndexedDBStore_log, "f"), undefined, true);
51
+ __classPrivateFieldGet(this, _AztecIndexedDBStore_log, "f").verbose(`Forking store to ${__classPrivateFieldGet(forkedStore, _AztecIndexedDBStore_name, "f")}`);
62
52
  // Copy old data to new store
63
- const oldData = this.#rootDB.transaction('data').store;
53
+ const oldData = __classPrivateFieldGet(this, _AztecIndexedDBStore_rootDB, "f").transaction('data').store;
64
54
  const dataToWrite = [];
65
- for await (const cursor of oldData.iterate()){
55
+ for await (const cursor of oldData.iterate()) {
66
56
  dataToWrite.push(cursor.value);
67
57
  }
68
- const tx = forkedStore.#rootDB.transaction('data', 'readwrite').store;
69
- for (const data of dataToWrite){
58
+ const tx = __classPrivateFieldGet(forkedStore, _AztecIndexedDBStore_rootDB, "f").transaction('data', 'readwrite').store;
59
+ for (const data of dataToWrite) {
70
60
  await tx.add(data);
71
61
  }
72
- this.#log.debug(`Forked store at ${forkedStore.#name} opened successfully`);
62
+ __classPrivateFieldGet(this, _AztecIndexedDBStore_log, "f").debug(`Forked store at ${__classPrivateFieldGet(forkedStore, _AztecIndexedDBStore_name, "f")} opened successfully`);
73
63
  return forkedStore;
74
64
  }
75
65
  /**
76
- * Creates a new AztecMap in the store.
77
- * @param name - Name of the map
78
- * @returns A new AztecMap
79
- */ openMap(name) {
80
- const map = new IndexedDBAztecMap(this.#rootDB, name);
81
- this.#containers.add(map);
66
+ * Creates a new AztecMap in the store.
67
+ * @param name - Name of the map
68
+ * @returns A new AztecMap
69
+ */
70
+ openMap(name) {
71
+ const map = new IndexedDBAztecMap(__classPrivateFieldGet(this, _AztecIndexedDBStore_rootDB, "f"), name);
72
+ __classPrivateFieldGet(this, _AztecIndexedDBStore_containers, "f").add(map);
82
73
  return map;
83
74
  }
84
75
  /**
85
- * Creates a new AztecSet in the store.
86
- * @param name - Name of the set
87
- * @returns A new AztecSet
88
- */ openSet(name) {
89
- const set = new IndexedDBAztecSet(this.#rootDB, name);
90
- this.#containers.add(set);
76
+ * Creates a new AztecSet in the store.
77
+ * @param name - Name of the set
78
+ * @returns A new AztecSet
79
+ */
80
+ openSet(name) {
81
+ const set = new IndexedDBAztecSet(__classPrivateFieldGet(this, _AztecIndexedDBStore_rootDB, "f"), name);
82
+ __classPrivateFieldGet(this, _AztecIndexedDBStore_containers, "f").add(set);
91
83
  return set;
92
84
  }
93
85
  /**
94
- * Creates a new AztecMultiMap in the store. A multi-map stores multiple values for a single key automatically.
95
- * @param name - Name of the map
96
- * @returns A new AztecMultiMap
97
- */ openMultiMap(name) {
98
- const multimap = new IndexedDBAztecMap(this.#rootDB, name);
99
- this.#containers.add(multimap);
86
+ * Creates a new AztecMultiMap in the store. A multi-map stores multiple values for a single key automatically.
87
+ * @param name - Name of the map
88
+ * @returns A new AztecMultiMap
89
+ */
90
+ openMultiMap(name) {
91
+ const multimap = new IndexedDBAztecMap(__classPrivateFieldGet(this, _AztecIndexedDBStore_rootDB, "f"), name);
92
+ __classPrivateFieldGet(this, _AztecIndexedDBStore_containers, "f").add(multimap);
100
93
  return multimap;
101
94
  }
102
95
  openCounter(_name) {
103
96
  throw new Error('Method not implemented.');
104
97
  }
105
98
  /**
106
- * Creates a new AztecArray in the store.
107
- * @param name - Name of the array
108
- * @returns A new AztecArray
109
- */ openArray(name) {
110
- const array = new IndexedDBAztecArray(this.#rootDB, name);
111
- this.#containers.add(array);
99
+ * Creates a new AztecArray in the store.
100
+ * @param name - Name of the array
101
+ * @returns A new AztecArray
102
+ */
103
+ openArray(name) {
104
+ const array = new IndexedDBAztecArray(__classPrivateFieldGet(this, _AztecIndexedDBStore_rootDB, "f"), name);
105
+ __classPrivateFieldGet(this, _AztecIndexedDBStore_containers, "f").add(array);
112
106
  return array;
113
107
  }
114
108
  /**
115
- * Creates a new AztecSingleton in the store.
116
- * @param name - Name of the singleton
117
- * @returns A new AztecSingleton
118
- */ openSingleton(name) {
119
- const singleton = new IndexedDBAztecSingleton(this.#rootDB, name);
120
- this.#containers.add(singleton);
109
+ * Creates a new AztecSingleton in the store.
110
+ * @param name - Name of the singleton
111
+ * @returns A new AztecSingleton
112
+ */
113
+ openSingleton(name) {
114
+ const singleton = new IndexedDBAztecSingleton(__classPrivateFieldGet(this, _AztecIndexedDBStore_rootDB, "f"), name);
115
+ __classPrivateFieldGet(this, _AztecIndexedDBStore_containers, "f").add(singleton);
121
116
  return singleton;
122
117
  }
123
118
  /**
124
- * Runs a callback in a transaction.
125
- * @param callback - Function to execute in a transaction
126
- * @returns A promise that resolves to the return value of the callback
127
- */ async transactionAsync(callback) {
128
- const tx = this.#rootDB.transaction('data', 'readwrite');
129
- for (const container of this.#containers){
119
+ * Runs a callback in a transaction.
120
+ * @param callback - Function to execute in a transaction
121
+ * @returns A promise that resolves to the return value of the callback
122
+ */
123
+ async transactionAsync(callback) {
124
+ const tx = __classPrivateFieldGet(this, _AztecIndexedDBStore_rootDB, "f").transaction('data', 'readwrite');
125
+ for (const container of __classPrivateFieldGet(this, _AztecIndexedDBStore_containers, "f")) {
130
126
  container.db = tx.store;
131
127
  }
132
128
  // Avoid awaiting this promise so it doesn't get scheduled in the next microtask
@@ -134,7 +130,7 @@ import { IndexedDBAztecSingleton } from './singleton.js';
134
130
  const runningPromise = callback();
135
131
  // Wait for the transaction to finish
136
132
  await tx.done;
137
- for (const container of this.#containers){
133
+ for (const container of __classPrivateFieldGet(this, _AztecIndexedDBStore_containers, "f")) {
138
134
  container.db = undefined;
139
135
  }
140
136
  // Return the result of the callback.
@@ -142,23 +138,23 @@ import { IndexedDBAztecSingleton } from './singleton.js';
142
138
  return await runningPromise;
143
139
  }
144
140
  /**
145
- * Clears all entries in the store & sub DBs.
146
- */ async clear() {
147
- await this.#rootDB.transaction('data', 'readwrite').store.clear();
141
+ * Clears all entries in the store & sub DBs.
142
+ */
143
+ async clear() {
144
+ await __classPrivateFieldGet(this, _AztecIndexedDBStore_rootDB, "f").transaction('data', 'readwrite').store.clear();
148
145
  }
149
- /** Deletes this store and removes the database */ delete() {
150
- this.#containers.clear();
151
- this.#rootDB.close();
152
- return deleteDB(this.#name);
146
+ /** Deletes this store and removes the database */
147
+ delete() {
148
+ __classPrivateFieldGet(this, _AztecIndexedDBStore_containers, "f").clear();
149
+ __classPrivateFieldGet(this, _AztecIndexedDBStore_rootDB, "f").close();
150
+ return deleteDB(__classPrivateFieldGet(this, _AztecIndexedDBStore_name, "f"));
153
151
  }
154
152
  estimateSize() {
155
- return Promise.resolve({
156
- mappingSize: 0,
157
- actualSize: 0,
158
- numItems: 0
159
- });
153
+ return Promise.resolve({ mappingSize: 0, actualSize: 0, numItems: 0 });
160
154
  }
161
155
  close() {
162
156
  return Promise.resolve();
163
157
  }
164
158
  }
159
+ _AztecIndexedDBStore_log = new WeakMap(), _AztecIndexedDBStore_rootDB = new WeakMap(), _AztecIndexedDBStore_name = new WeakMap(), _AztecIndexedDBStore_containers = new WeakMap();
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXhlZGRiL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBTyxFQUFvQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBU3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBWXpEOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQVM5QixZQUFZLE1BQW9DLEVBQWtCLFdBQW9CLEVBQUUsR0FBVyxFQUFFLElBQVk7UUFBL0MsZ0JBQVcsR0FBWCxXQUFXLENBQVM7UUFSdEYsMkNBQWE7UUFDYiw4Q0FBc0M7UUFDdEMsNENBQWM7UUFFZCwwQ0FBYyxJQUFJLEdBQUcsRUFFbEIsRUFBQztRQUdGLHVCQUFBLElBQUksK0JBQVcsTUFBTSxNQUFBLENBQUM7UUFDdEIsdUJBQUEsSUFBSSw0QkFBUSxHQUFHLE1BQUEsQ0FBQztRQUNoQix1QkFBQSxJQUFJLDZCQUFTLElBQUksTUFBQSxDQUFDO0lBQ3BCLENBQUM7SUFDRDs7Ozs7Ozs7O09BU0c7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFXLEVBQUUsSUFBYSxFQUFFLFlBQXFCLEtBQUs7UUFDdEUsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RixHQUFHLENB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
@@ -0,0 +1,80 @@
1
+ /**
2
+ * An array backed by a persistent store. Can not have any holes in it.
3
+ */
4
+ interface BaseAztecArray<T> {
5
+ /**
6
+ * Pushes values to the end of the array
7
+ * @param vals - The values to push to the end of the array
8
+ * @returns The new length of the array
9
+ */
10
+ push(...vals: T[]): Promise<number>;
11
+ /**
12
+ * Pops a value from the end of the array.
13
+ * @returns The value that was popped, or undefined if the array was empty
14
+ */
15
+ pop(): Promise<T | undefined>;
16
+ /**
17
+ * Updates the value at the given index. Index can be in the range [-length, length - 1).
18
+ * @param index - The index to set the value at
19
+ * @param val - The value to set
20
+ * @returns Whether the value was set
21
+ */
22
+ setAt(index: number, val: T): Promise<boolean>;
23
+ }
24
+ /**
25
+ * An array backed by a persistent store. Can not have any holes in it.
26
+ */
27
+ export interface AztecAsyncArray<T> extends BaseAztecArray<T> {
28
+ /**
29
+ * The size of the array
30
+ */
31
+ lengthAsync(): Promise<number>;
32
+ /**
33
+ * Gets the value at the given index. Index can be in the range [-length, length - 1).
34
+ * If the index is negative, it will be treated as an offset from the end of the array.
35
+ *
36
+ * @param index - The index to get the value from
37
+ * @returns The value at the given index or undefined if the index is out of bounds
38
+ */
39
+ atAsync(index: number): Promise<T | undefined>;
40
+ /**
41
+ * Iterates over the array with indexes.
42
+ */
43
+ entriesAsync(): AsyncIterableIterator<[number, T]>;
44
+ /**
45
+ * Iterates over the array.
46
+ */
47
+ valuesAsync(): AsyncIterableIterator<T>;
48
+ /**
49
+ * Iterates over the array.
50
+ */
51
+ [Symbol.asyncIterator](): AsyncIterableIterator<T>;
52
+ }
53
+ export interface AztecArray<T> extends BaseAztecArray<T> {
54
+ /**
55
+ * The size of the array
56
+ */
57
+ length: number;
58
+ /**
59
+ * Gets the value at the given index. Index can be in the range [-length, length - 1).
60
+ * If the index is negative, it will be treated as an offset from the end of the array.
61
+ *
62
+ * @param index - The index to get the value from
63
+ * @returns The value at the given index or undefined if the index is out of bounds
64
+ */
65
+ at(index: number): T | undefined;
66
+ /**
67
+ * Iterates over the array with indexes.
68
+ */
69
+ entries(): IterableIterator<[number, T]>;
70
+ /**
71
+ * Iterates over the array.
72
+ */
73
+ values(): IterableIterator<T>;
74
+ /**
75
+ * Iterates over the array.
76
+ */
77
+ [Symbol.iterator](): IterableIterator<T>;
78
+ }
79
+ export {};
80
+ //# sourceMappingURL=array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/interfaces/array.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,UAAU,cAAc,CAAC,CAAC;IACxB;;;;OAIG;IACH,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC;;;OAGG;IACH,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAC3D;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAE/C;;OAEG;IACH,YAAY,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnD;;OAEG;IACH,WAAW,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAExC;;OAEG;IACH,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACtD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAEjC;;OAEG;IACH,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzC;;OAEG;IACH,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAE9B;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC1C"}
@@ -1,3 +1,2 @@
1
- /**
2
- * An array backed by a persistent store. Can not have any holes in it.
3
- */ export { };
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,3 @@
1
+ import { type AztecAsyncKVStore, type AztecKVStore } from './store.js';
2
+ export declare function describeAztecArray(testName: string, getStore: () => AztecKVStore | Promise<AztecAsyncKVStore>, forceAsync?: boolean): void;
3
+ //# sourceMappingURL=array_test_suite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array_test_suite.d.ts","sourceRoot":"","sources":["../../src/interfaces/array_test_suite.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGvE,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC,EACzD,UAAU,GAAE,OAAe,QAsH5B"}
@@ -2,29 +2,37 @@ import { toArray } from '@aztec/foundation/iterable';
2
2
  import { expect } from 'chai';
3
3
  import { isSyncStore } from './utils.js';
4
4
  export function describeAztecArray(testName, getStore, forceAsync = false) {
5
- describe(testName, ()=>{
5
+ describe(testName, () => {
6
6
  let store;
7
7
  let arr;
8
- beforeEach(async ()=>{
8
+ beforeEach(async () => {
9
9
  store = await getStore();
10
10
  arr = store.openArray('test');
11
11
  });
12
- afterEach(async ()=>{
12
+ afterEach(async () => {
13
13
  await store.delete();
14
14
  });
15
15
  async function length(sut = arr) {
16
- return isSyncStore(store) && !forceAsync ? sut.length : await sut.lengthAsync();
16
+ return isSyncStore(store) && !forceAsync
17
+ ? sut.length
18
+ : await sut.lengthAsync();
17
19
  }
18
20
  async function at(index) {
19
- return isSyncStore(store) && !forceAsync ? arr.at(index) : await arr.atAsync(index);
21
+ return isSyncStore(store) && !forceAsync
22
+ ? arr.at(index)
23
+ : await arr.atAsync(index);
20
24
  }
21
25
  async function entries() {
22
- return isSyncStore(store) && !forceAsync ? await toArray(arr.entries()) : await toArray(arr.entriesAsync());
26
+ return isSyncStore(store) && !forceAsync
27
+ ? await toArray(arr.entries())
28
+ : await toArray(arr.entriesAsync());
23
29
  }
24
30
  async function values(sut = arr) {
25
- return isSyncStore(store) && !forceAsync ? await toArray(sut.values()) : await toArray(sut.valuesAsync());
31
+ return isSyncStore(store) && !forceAsync
32
+ ? await toArray(sut.values())
33
+ : await toArray(sut.valuesAsync());
26
34
  }
27
- it('should be able to push and pop values', async ()=>{
35
+ it('should be able to push and pop values', async () => {
28
36
  await arr.push(1);
29
37
  await arr.push(2);
30
38
  await arr.push(3);
@@ -34,7 +42,7 @@ export function describeAztecArray(testName, getStore, forceAsync = false) {
34
42
  expect(await arr.pop()).to.equal(1);
35
43
  expect(await arr.pop()).to.equal(undefined);
36
44
  });
37
- it('should be able to get values by index', async ()=>{
45
+ it('should be able to get values by index', async () => {
38
46
  await arr.push(1);
39
47
  await arr.push(2);
40
48
  await arr.push(3);
@@ -47,7 +55,7 @@ export function describeAztecArray(testName, getStore, forceAsync = false) {
47
55
  expect(await at(-3)).to.equal(1);
48
56
  expect(await at(-4)).to.equal(undefined);
49
57
  });
50
- it('should be able to set values by index', async ()=>{
58
+ it('should be able to set values by index', async () => {
51
59
  await arr.push(1);
52
60
  await arr.push(2);
53
61
  await arr.push(3);
@@ -68,31 +76,18 @@ export function describeAztecArray(testName, getStore, forceAsync = false) {
68
76
  expect(await at(-3)).to.equal(10);
69
77
  expect(await at(-4)).to.equal(undefined);
70
78
  });
71
- it('should be able to iterate over values', async ()=>{
79
+ it('should be able to iterate over values', async () => {
72
80
  await arr.push(1);
73
81
  await arr.push(2);
74
82
  await arr.push(3);
75
- expect(await values()).to.deep.equal([
76
- 1,
77
- 2,
78
- 3
79
- ]);
83
+ expect(await values()).to.deep.equal([1, 2, 3]);
80
84
  expect(await entries()).to.deep.equal([
81
- [
82
- 0,
83
- 1
84
- ],
85
- [
86
- 1,
87
- 2
88
- ],
89
- [
90
- 2,
91
- 3
92
- ]
85
+ [0, 1],
86
+ [1, 2],
87
+ [2, 3],
93
88
  ]);
94
89
  });
95
- it('should be able to restore state', async ()=>{
90
+ it('should be able to restore state', async () => {
96
91
  await arr.push(1);
97
92
  await arr.push(2);
98
93
  await arr.push(3);
@@ -102,3 +97,4 @@ export function describeAztecArray(testName, getStore, forceAsync = false) {
102
97
  });
103
98
  });
104
99
  }
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlfdGVzdF9zdWl0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmZhY2VzL2FycmF5X3Rlc3Rfc3VpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXJELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJOUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV6QyxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFFBQWdCLEVBQ2hCLFFBQXlELEVBQ3pELGFBQXNCLEtBQUs7SUFFM0IsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDdEIsSUFBSSxLQUF1QyxDQUFDO1FBQzVDLElBQUksR0FBaUQsQ0FBQztRQUV0RCxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDcEIsS0FBSyxHQUFHLE1BQU0sUUFBUSxFQUFFLENBQUM7WUFDekIsR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQVMsTUFBTSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDbkIsTUFBTSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxLQUFLLFVBQVUsTUFBTSxDQUFDLE1BQW9ELEdBQUc7WUFDM0UsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVO2dCQUN0QyxDQUFDLENBQUUsR0FBMEIsQ0FBQyxNQUFNO2dCQUNwQyxDQUFDLENBQUMsTUFBTyxHQUErQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNELENBQUM7UUFFRCxLQUFLLFVBQVUsRUFBRSxDQUFDLEtBQWE7WUFDN0IsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVO2dCQUN0QyxDQUFDLENBQUUsR0FB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LEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNyRCxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEIsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVsQixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0MsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3QyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFOUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV4QyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUvQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVoRCxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsdUNBQXVDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDckQsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQixNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFbEIsTUFBTSxDQUFDLE1BQU0sTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRCxNQUFNLENBQUMsTUFBTSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNwQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ04sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNOLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNQLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQy9DLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQixNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEIsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWxCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQVMsTUFBTSxDQUFDLENBQUM7WUFDN0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QyxNQUFNLENBQUMsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMifQ==
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The key type for use with the kv-store
3
+ */
4
+ export type Key = string | number;
5
+ /**
6
+ * A range of keys to iterate over.
7
+ */
8
+ export type Range<K extends Key = Key> = {
9
+ /** The key of the first item to include */
10
+ start?: K;
11
+ /** The key of the last item to include */
12
+ end?: K;
13
+ /** Whether to iterate in reverse */
14
+ reverse?: boolean;
15
+ /** The maximum number of items to iterate over */
16
+ limit?: number;
17
+ };
18
+ export type StoreSize = {
19
+ mappingSize: number;
20
+ actualSize: number;
21
+ numItems: number;
22
+ };
23
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/interfaces/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI;IACvC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,0CAA0C;IAC1C,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -1,3 +1,2 @@
1
- /**
2
- * The key type for use with the kv-store
3
- */ export { };
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==