@aztec/kv-store 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.76.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/config.d.ts +17 -0
- package/dest/config.d.ts.map +1 -0
- package/dest/config.js +7 -5
- package/dest/indexeddb/array.d.ts +21 -0
- package/dest/indexeddb/array.d.ts.map +1 -0
- package/dest/indexeddb/array.js +36 -44
- package/dest/indexeddb/index.d.ts +7 -0
- package/dest/indexeddb/index.d.ts.map +1 -0
- package/dest/indexeddb/index.js +4 -1
- package/dest/indexeddb/map.d.ts +26 -0
- package/dest/indexeddb/map.d.ts.map +1 -0
- package/dest/indexeddb/map.js +43 -72
- package/dest/indexeddb/set.d.ts +17 -0
- package/dest/indexeddb/set.d.ts.map +1 -0
- package/dest/indexeddb/set.js +4 -3
- package/dest/indexeddb/singleton.d.ts +16 -0
- package/dest/indexeddb/singleton.d.ts.map +1 -0
- package/dest/indexeddb/singleton.js +22 -17
- package/dest/indexeddb/store.d.ts +97 -0
- package/dest/indexeddb/store.d.ts.map +1 -0
- package/dest/indexeddb/store.js +93 -97
- package/dest/interfaces/array.d.ts +80 -0
- package/dest/interfaces/array.d.ts.map +1 -0
- package/dest/interfaces/array.js +2 -3
- package/dest/interfaces/array_test_suite.d.ts +3 -0
- package/dest/interfaces/array_test_suite.d.ts.map +1 -0
- package/dest/interfaces/array_test_suite.js +25 -29
- package/dest/interfaces/common.d.ts +23 -0
- package/dest/interfaces/common.d.ts.map +1 -0
- package/dest/interfaces/common.js +2 -3
- package/dest/interfaces/counter.d.ts +59 -0
- package/dest/interfaces/counter.d.ts.map +1 -0
- package/dest/interfaces/counter.js +2 -1
- package/dest/interfaces/index.d.ts +8 -0
- package/dest/interfaces/index.d.ts.map +1 -0
- package/dest/interfaces/index.js +1 -0
- package/dest/interfaces/map.d.ts +134 -0
- package/dest/interfaces/map.d.ts.map +1 -0
- package/dest/interfaces/map.js +2 -3
- package/dest/interfaces/map_test_suite.d.ts +3 -0
- package/dest/interfaces/map_test_suite.d.ts.map +1 -0
- package/dest/interfaces/map_test_suite.js +42 -87
- package/dest/interfaces/set.d.ts +44 -0
- package/dest/interfaces/set.d.ts.map +1 -0
- package/dest/interfaces/set.js +2 -1
- package/dest/interfaces/set_test_suite.d.ts +3 -0
- package/dest/interfaces/set_test_suite.d.ts.map +1 -0
- package/dest/interfaces/set_test_suite.js +22 -59
- package/dest/interfaces/singleton.d.ts +29 -0
- package/dest/interfaces/singleton.d.ts.map +1 -0
- package/dest/interfaces/singleton.js +2 -4
- package/dest/interfaces/singleton_test_suite.d.ts +3 -0
- package/dest/interfaces/singleton_test_suite.d.ts.map +1 -0
- package/dest/interfaces/singleton_test_suite.js +10 -7
- package/dest/interfaces/store.d.ts +145 -0
- package/dest/interfaces/store.d.ts.map +1 -0
- package/dest/interfaces/store.js +2 -1
- package/dest/interfaces/store_test_suite.d.ts +3 -0
- package/dest/interfaces/store_test_suite.d.ts.map +1 -0
- package/dest/interfaces/store_test_suite.js +9 -6
- package/dest/interfaces/utils.d.ts +16 -0
- package/dest/interfaces/utils.d.ts.map +1 -0
- package/dest/interfaces/utils.js +15 -12
- package/dest/lmdb/array.d.ts +23 -0
- package/dest/lmdb/array.d.ts.map +1 -0
- package/dest/lmdb/array.js +41 -46
- package/dest/lmdb/counter.d.ts +19 -0
- package/dest/lmdb/counter.d.ts.map +1 -0
- package/dest/lmdb/counter.js +24 -18
- package/dest/lmdb/index.d.ts +12 -0
- package/dest/lmdb/index.d.ts.map +1 -0
- package/dest/lmdb/index.js +6 -2
- package/dest/lmdb/map.d.ts +52 -0
- package/dest/lmdb/map.d.ts.map +1 -0
- package/dest/lmdb/map.js +68 -90
- package/dest/lmdb/set.d.ts +18 -0
- package/dest/lmdb/set.d.ts.map +1 -0
- package/dest/lmdb/set.js +5 -4
- package/dest/lmdb/singleton.d.ts +14 -0
- package/dest/lmdb/singleton.d.ts.map +1 -0
- package/dest/lmdb/singleton.js +14 -13
- package/dest/lmdb/store.d.ts +110 -0
- package/dest/lmdb/store.d.ts.map +1 -0
- package/dest/lmdb/store.js +134 -124
- package/dest/lmdb-v2/factory.d.ts +9 -0
- package/dest/lmdb-v2/factory.d.ts.map +1 -0
- package/dest/lmdb-v2/factory.js +19 -22
- package/dest/lmdb-v2/index.d.ts +3 -0
- package/dest/lmdb-v2/index.d.ts.map +1 -0
- package/dest/lmdb-v2/index.js +1 -0
- package/dest/lmdb-v2/map.d.ts +86 -0
- package/dest/lmdb-v2/map.d.ts.map +1 -0
- package/dest/lmdb-v2/map.js +85 -82
- package/dest/lmdb-v2/message.d.ts +112 -0
- package/dest/lmdb-v2/message.d.ts.map +1 -0
- package/dest/lmdb-v2/message.js +7 -6
- package/dest/lmdb-v2/read_transaction.d.ts +14 -0
- package/dest/lmdb-v2/read_transaction.d.ts.map +1 -0
- package/dest/lmdb-v2/read_transaction.js +53 -65
- package/dest/lmdb-v2/singleton.d.ts +12 -0
- package/dest/lmdb-v2/singleton.d.ts.map +1 -0
- package/dest/lmdb-v2/singleton.js +5 -7
- package/dest/lmdb-v2/store.d.ts +43 -0
- package/dest/lmdb-v2/store.d.ts.map +1 -0
- package/dest/lmdb-v2/store.js +26 -27
- package/dest/lmdb-v2/utils.d.ts +19 -0
- package/dest/lmdb-v2/utils.d.ts.map +1 -0
- package/dest/lmdb-v2/utils.js +30 -30
- package/dest/lmdb-v2/write_transaction.d.ts +19 -0
- package/dest/lmdb-v2/write_transaction.d.ts.map +1 -0
- package/dest/lmdb-v2/write_transaction.js +110 -130
- package/dest/stores/index.d.ts +2 -0
- package/dest/stores/index.d.ts.map +1 -0
- package/dest/stores/index.js +1 -0
- package/dest/stores/l2_tips_store.d.ts +13 -0
- package/dest/stores/l2_tips_store.d.ts.map +1 -0
- package/dest/stores/l2_tips_store.js +12 -26
- package/dest/utils.d.ts +12 -0
- package/dest/utils.d.ts.map +1 -0
- package/dest/utils.js +7 -3
- package/package.json +6 -6
- 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"}
|
package/dest/indexeddb/store.js
CHANGED
|
@@ -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
|
-
*/
|
|
9
|
-
|
|
10
|
-
|
|
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
|
|
17
|
-
this
|
|
18
|
-
this
|
|
19
|
-
this
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
|
35
|
-
const objectStore = db.createObjectStore('data', {
|
|
36
|
-
|
|
37
|
-
});
|
|
38
|
-
|
|
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
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
this
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
this
|
|
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
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
this
|
|
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
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
this
|
|
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
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
this
|
|
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
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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
|
|
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
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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 */
|
|
150
|
-
|
|
151
|
-
this
|
|
152
|
-
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXhlZGRiL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBTyxFQUFvQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBU3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBWXpEOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQVM5QixZQUFZLE1BQW9DLEVBQWtCLFdBQW9CLEVBQUUsR0FBVyxFQUFFLElBQVk7UUFBL0MsZ0JBQVcsR0FBWCxXQUFXLENBQVM7UUFSdEYsMkNBQWE7UUFDYiw4Q0FBc0M7UUFDdEMsNENBQWM7UUFFZCwwQ0FBYyxJQUFJLEdBQUcsRUFFbEIsRUFBQztRQUdGLHVCQUFBLElBQUksK0JBQVcsTUFBTSxNQUFBLENBQUM7UUFDdEIsdUJBQUEsSUFBSSw0QkFBUSxHQUFHLE1BQUEsQ0FBQztRQUNoQix1QkFBQSxJQUFJLDZCQUFTLElBQUksTUFBQSxDQUFDO0lBQ3BCLENBQUM7SUFDRDs7Ozs7Ozs7O09BU0c7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFXLEVBQUUsSUFBYSxFQUFFLFlBQXFCLEtBQUs7UUFDdEUsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RixHQUFHLENBQUMsS0FBSyxDQUFDLHFCQUFxQixTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxzQkFBc0IsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyRixNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBaUIsSUFBSSxFQUFFLENBQUMsRUFBRTtZQUNuRCxPQUFPLENBQUMsRUFBRTtnQkFDUixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7Z0JBRXRFLFdBQVcsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ3hFLFdBQVcsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzNGLENBQUM7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLE9BQU8sR0FBRyxJQUFJLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sV0FBVyxHQUFHLE1BQU0sbUJBQW1CLENBQUMsSUFBSSxDQUFDLHVCQUFBLElBQUksZ0NBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0UsdUJBQUEsSUFBSSxnQ0FBSyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsdUJBQUEsV0FBVyxpQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUUzRCw2QkFBNkI7UUFDN0IsTUFBTSxPQUFPLEdBQUcsdUJBQUEsSUFBSSxtQ0FBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdkQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksS0FBSyxFQUFFLE1BQU0sTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQzdDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFDRCxNQUFNLEVBQUUsR0FBRyx1QkFBQSxXQUFXLG1DQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEUsS0FBSyxNQUFNLElBQUksSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUMvQixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUVELHVCQUFBLElBQUksZ0NBQUssQ0FBQyxLQUFLLENBQUMsbUJBQW1CLHVCQUFBLFdBQVcsaUNBQU0sc0JBQXNCLENBQUMsQ0FBQztRQUM1RSxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU8sQ0FBbUIsSUFBWTtRQUNwQyxNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFpQixDQUFPLHVCQUFBLElBQUksbUNBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RCx1QkFBQSxJQUFJLHVDQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPLENBQWdCLElBQVk7UUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxpQkFBaUIsQ0FBSSx1QkFBQSxJQUFJLG1DQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekQsdUJBQUEsSUFBSSx1Q0FBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFtQixJQUFZO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksaUJBQWlCLENBQU8sdUJBQUEsSUFBSSxtQ0FBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pFLHVCQUFBLElBQUksdUNBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELFdBQVcsQ0FBZ0IsS0FBYTtRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTLENBQUksSUFBWTtRQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFtQixDQUFJLHVCQUFBLElBQUksbUNBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3RCx1QkFBQSxJQUFJLHVDQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQUksSUFBWTtRQUMzQixNQUFNLFNBQVMsR0FBRyxJQUFJLHVCQUF1QixDQUFJLHVCQUFBLElBQUksbUNBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRSx1QkFBQSxJQUFJLHVDQUFZLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGdCQUFnQixDQUFJLFFBQTBCO1FBQ2xELE1BQU0sRUFBRSxHQUFHLHVCQUFBLElBQUksbUNBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3pELEtBQUssTUFBTSxTQUFTLElBQUksdUJBQUEsSUFBSSx1Q0FBWSxFQUFFLENBQUM7WUFDekMsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQzFCLENBQUM7UUFDRCxnRkFBZ0Y7UUFDaEYsa0NBQWtDO1FBQ2xDLE1BQU0sY0FBYyxHQUFHLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLHFDQUFxQztRQUNyQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDZCxLQUFLLE1BQU0sU0FBUyxJQUFJLHVCQUFBLElBQUksdUNBQVksRUFBRSxDQUFDO1lBQ3pDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDO1FBQzNCLENBQUM7UUFDRCxxQ0FBcUM7UUFDckMsaUZBQWlGO1FBQ2pGLE9BQU8sTUFBTSxjQUFjLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLHVCQUFBLElBQUksbUNBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELE1BQU07UUFDSix1QkFBQSxJQUFJLHVDQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsdUJBQUEsSUFBSSxtQ0FBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLE9BQU8sUUFBUSxDQUFDLHVCQUFBLElBQUksaUNBQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNGIn0=
|
|
@@ -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"}
|
package/dest/interfaces/array.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/ export { };
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
83
|
-
|
|
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
|
-
|
|
3
|
-
*/ export { };
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|