@xyo-network/archivist 2.22.7 → 2.22.8
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/dist/cjs/XyoArchivist.d.ts +2 -2
- package/dist/cjs/XyoArchivist.js +1 -1
- package/dist/cjs/XyoArchivist.js.map +1 -1
- package/dist/cjs/XyoMemoryArchivist.d.ts +2 -2
- package/dist/cjs/XyoMemoryArchivist.js +11 -5
- package/dist/cjs/XyoMemoryArchivist.js.map +1 -1
- package/dist/cjs/model/Archivist.d.ts +3 -2
- package/dist/esm/XyoArchivist.d.ts +2 -2
- package/dist/esm/XyoArchivist.js +1 -1
- package/dist/esm/XyoArchivist.js.map +1 -1
- package/dist/esm/XyoMemoryArchivist.d.ts +2 -2
- package/dist/esm/XyoMemoryArchivist.js +8 -4
- package/dist/esm/XyoMemoryArchivist.js.map +1 -1
- package/dist/esm/model/Archivist.d.ts +3 -2
- package/package.json +5 -5
- package/src/XyoArchivist.ts +2 -2
- package/src/XyoMemoryArchivist.ts +10 -4
- package/src/model/Archivist.ts +3 -2
|
@@ -9,9 +9,9 @@ export declare abstract class XyoArchivistBase<T extends XyoPayload = XyoPayload
|
|
|
9
9
|
constructor(parent?: XyoArchivist<T>, account?: XyoAccount);
|
|
10
10
|
abstract insert(payloads: T[]): T[] | Promise<T[]>;
|
|
11
11
|
abstract find<R extends T = T>(query: XyoPayloadFindQuery): R[] | Promise<R[]>;
|
|
12
|
-
abstract get(hash: string): T | Promise<T |
|
|
12
|
+
abstract get(hash: string[]): (T | null)[] | Promise<(T | null)[]>;
|
|
13
13
|
all(): T[] | Promise<T[]>;
|
|
14
|
-
delete(
|
|
14
|
+
delete(_hashes: string[]): boolean[] | Promise<boolean[]>;
|
|
15
15
|
clear(): void | Promise<void>;
|
|
16
16
|
commit(): void;
|
|
17
17
|
}
|
package/dist/cjs/XyoArchivist.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../src/XyoArchivist.ts"],"names":[],"mappings":";;;AAQA,MAAsB,gBAAgB;IAGpC,YAAY,MAAwB,EAAE,OAAoB;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAKM,GAAG;QACR,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../src/XyoArchivist.ts"],"names":[],"mappings":";;;AAQA,MAAsB,gBAAgB;IAGpC,YAAY,MAAwB,EAAE,OAAoB;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAKM,GAAG;QACR,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,MAAM,CAAC,OAAiB;QAC7B,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,KAAK;QACV,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACpC,CAAC;IACM,MAAM;QACX,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;CACF;AAvBD,4CAuBC"}
|
|
@@ -3,9 +3,9 @@ import { XyoArchivistBase } from './XyoArchivist';
|
|
|
3
3
|
import { XyoPayloadFindQuery } from './XyoPayloadFindFilter';
|
|
4
4
|
export declare class XyoMemoryArchivist extends XyoArchivistBase<XyoPayload> {
|
|
5
5
|
private cache;
|
|
6
|
-
delete(
|
|
6
|
+
delete(hashes: string[]): boolean[] | Promise<boolean[]>;
|
|
7
7
|
clear(): void | Promise<void>;
|
|
8
|
-
get(
|
|
8
|
+
get(hashes: string[]): Promise<(XyoPayload | null)[]>;
|
|
9
9
|
insert(payloads: XyoPayload[]): XyoPayload[] | Promise<XyoPayload[]>;
|
|
10
10
|
find<R extends XyoPayload = XyoPayload>(query: XyoPayloadFindQuery): R[] | Promise<R[]>;
|
|
11
11
|
commit(): Promise<import("@xyo-network/payload").XyoPayloadBase[] | undefined>;
|
|
@@ -12,15 +12,21 @@ class XyoMemoryArchivist extends XyoArchivist_1.XyoArchivistBase {
|
|
|
12
12
|
super(...arguments);
|
|
13
13
|
this.cache = new lru_cache_1.default({ max: 10000 });
|
|
14
14
|
}
|
|
15
|
-
delete(
|
|
16
|
-
return
|
|
15
|
+
delete(hashes) {
|
|
16
|
+
return hashes.map((hash) => {
|
|
17
|
+
return this.cache.delete(hash);
|
|
18
|
+
});
|
|
17
19
|
}
|
|
18
20
|
clear() {
|
|
19
21
|
this.cache.clear();
|
|
20
22
|
}
|
|
21
|
-
get(
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
get(hashes) {
|
|
24
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
return yield Promise.all(hashes.map((hash) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
var _a, _b, _c, _d;
|
|
27
|
+
return (_d = (_a = this.cache.get(hash)) !== null && _a !== void 0 ? _a : (_c = (yield ((_b = this.parent) === null || _b === void 0 ? void 0 : _b.get([hash])))) === null || _c === void 0 ? void 0 : _c.pop()) !== null && _d !== void 0 ? _d : null;
|
|
28
|
+
})));
|
|
29
|
+
});
|
|
24
30
|
}
|
|
25
31
|
insert(payloads) {
|
|
26
32
|
return payloads.map((payload) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AACzC,4DAAmF;AACnF,kDAAoE;AACpE,kEAAgC;AAEhC,iDAAiD;AAGjD,MAAa,kBAAmB,SAAQ,+BAA4B;IAApE;;QACU,UAAK,GAAG,IAAI,mBAAQ,CAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AACzC,4DAAmF;AACnF,kDAAoE;AACpE,kEAAgC;AAEhC,iDAAiD;AAGjD,MAAa,kBAAmB,SAAQ,+BAA4B;IAApE;;QACU,UAAK,GAAG,IAAI,mBAAQ,CAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IAiDlE,CAAC;IA/CQ,MAAM,CAAC,MAAgB;QAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAEY,GAAG,CAAC,MAAgB;;YAC/B,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,MAAM,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,EAAE;;gBACxB,OAAO,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,MAAA,CAAC,MAAM,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,0CAAE,GAAG,EAAE,mCAAI,IAAI,CAAA;YAChF,CAAC,CAAA,CAAC,CACH,CAAA;QACH,CAAC;KAAA;IAEM,MAAM,CAAC,QAAsB;QAClC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,2BAAiB,CAAC,OAAO,CAAC,CAAA;YAC9C,MAAM,eAAe,mCAAQ,OAAO,KAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAE,CAAA;YACnF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;YACtD,OAAO,eAAe,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,IAAI,CAAoC,KAA0B;QACvE,MAAM,MAAM,GAAQ,EAAE,CAAA;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,KAAU,CAAC,CAAA;aACxB;QACH,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAEY,MAAM;;;YACjB,MAAM,MAAM,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAA;YACrE,MAAM,OAAO,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAA;YACxE,MAAM,QAAQ,GAAG,IAAA,iBAAQ,EAAC,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAA;YAChE,MAAM,OAAO,GAAG,IAAI,qCAAsB,EAA+B,CAAA;YACzE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;YACjE,MAAM,MAAM,GAAG,MAAM,CAAA,MAAA,MAAM,CAAC,MAAM,uDAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAA;YAC9D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAClB,OAAO,MAAM,CAAA;;KACd;CACF;AAlDD,gDAkDC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export interface Archivist<TReadResponse, TWriteResponse = TReadResponse, TWrite = TReadResponse, TQueryResponse = TReadResponse, TQuery = unknown, TId = string> {
|
|
2
|
-
get(
|
|
2
|
+
get(ids: TId[]): Promise<(TReadResponse | null)[]> | (TReadResponse | null)[];
|
|
3
|
+
all?(): Promise<TReadResponse[]> | TReadResponse[];
|
|
3
4
|
find?(query: TQuery): Promise<TQueryResponse[]> | TQueryResponse[];
|
|
4
5
|
insert?(item: TWrite[]): Promise<TWriteResponse[]> | TWriteResponse[];
|
|
5
|
-
delete?(
|
|
6
|
+
delete?(ids: TId[]): Promise<boolean[]> | boolean[];
|
|
6
7
|
clear?(): void;
|
|
7
8
|
}
|
|
@@ -9,9 +9,9 @@ export declare abstract class XyoArchivistBase<T extends XyoPayload = XyoPayload
|
|
|
9
9
|
constructor(parent?: XyoArchivist<T>, account?: XyoAccount);
|
|
10
10
|
abstract insert(payloads: T[]): T[] | Promise<T[]>;
|
|
11
11
|
abstract find<R extends T = T>(query: XyoPayloadFindQuery): R[] | Promise<R[]>;
|
|
12
|
-
abstract get(hash: string): T | Promise<T |
|
|
12
|
+
abstract get(hash: string[]): (T | null)[] | Promise<(T | null)[]>;
|
|
13
13
|
all(): T[] | Promise<T[]>;
|
|
14
|
-
delete(
|
|
14
|
+
delete(_hashes: string[]): boolean[] | Promise<boolean[]>;
|
|
15
15
|
clear(): void | Promise<void>;
|
|
16
16
|
commit(): void;
|
|
17
17
|
}
|
package/dist/esm/XyoArchivist.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../src/XyoArchivist.ts"],"names":[],"mappings":"AAQA,MAAM,OAAgB,gBAAgB;IAGpC,YAAY,MAAwB,EAAE,OAAoB;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAKM,GAAG;QACR,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"XyoArchivist.js","sourceRoot":"","sources":["../../src/XyoArchivist.ts"],"names":[],"mappings":"AAQA,MAAM,OAAgB,gBAAgB;IAGpC,YAAY,MAAwB,EAAE,OAAoB;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAKM,GAAG;QACR,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,MAAM,CAAC,OAAiB;QAC7B,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;IACM,KAAK;QACV,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACpC,CAAC;IACM,MAAM;QACX,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;CACF"}
|
|
@@ -3,9 +3,9 @@ import { XyoArchivistBase } from './XyoArchivist';
|
|
|
3
3
|
import { XyoPayloadFindQuery } from './XyoPayloadFindFilter';
|
|
4
4
|
export declare class XyoMemoryArchivist extends XyoArchivistBase<XyoPayload> {
|
|
5
5
|
private cache;
|
|
6
|
-
delete(
|
|
6
|
+
delete(hashes: string[]): boolean[] | Promise<boolean[]>;
|
|
7
7
|
clear(): void | Promise<void>;
|
|
8
|
-
get(
|
|
8
|
+
get(hashes: string[]): Promise<(XyoPayload | null)[]>;
|
|
9
9
|
insert(payloads: XyoPayload[]): XyoPayload[] | Promise<XyoPayload[]>;
|
|
10
10
|
find<R extends XyoPayload = XyoPayload>(query: XyoPayloadFindQuery): R[] | Promise<R[]>;
|
|
11
11
|
commit(): Promise<import("@xyo-network/payload").XyoPayloadBase[] | undefined>;
|
|
@@ -8,14 +8,18 @@ export class XyoMemoryArchivist extends XyoArchivistBase {
|
|
|
8
8
|
super(...arguments);
|
|
9
9
|
this.cache = new LruCache({ max: 10000 });
|
|
10
10
|
}
|
|
11
|
-
delete(
|
|
12
|
-
return
|
|
11
|
+
delete(hashes) {
|
|
12
|
+
return hashes.map((hash) => {
|
|
13
|
+
return this.cache.delete(hash);
|
|
14
|
+
});
|
|
13
15
|
}
|
|
14
16
|
clear() {
|
|
15
17
|
this.cache.clear();
|
|
16
18
|
}
|
|
17
|
-
get(
|
|
18
|
-
return
|
|
19
|
+
async get(hashes) {
|
|
20
|
+
return await Promise.all(hashes.map(async (hash) => {
|
|
21
|
+
return this.cache.get(hash) ?? (await this.parent?.get([hash]))?.pop() ?? null;
|
|
22
|
+
}));
|
|
19
23
|
}
|
|
20
24
|
insert(payloads) {
|
|
21
25
|
return payloads.map((payload) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAmB,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AACnF,OAAO,EAAc,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,QAAQ,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGjD,MAAM,OAAO,kBAAmB,SAAQ,gBAA4B;IAApE;;QACU,UAAK,GAAG,IAAI,QAAQ,CAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export interface Archivist<TReadResponse, TWriteResponse = TReadResponse, TWrite = TReadResponse, TQueryResponse = TReadResponse, TQuery = unknown, TId = string> {
|
|
2
|
-
get(
|
|
2
|
+
get(ids: TId[]): Promise<(TReadResponse | null)[]> | (TReadResponse | null)[];
|
|
3
|
+
all?(): Promise<TReadResponse[]> | TReadResponse[];
|
|
3
4
|
find?(query: TQuery): Promise<TQueryResponse[]> | TQueryResponse[];
|
|
4
5
|
insert?(item: TWrite[]): Promise<TWriteResponse[]> | TWriteResponse[];
|
|
5
|
-
delete?(
|
|
6
|
+
delete?(ids: TId[]): Promise<boolean[]> | boolean[];
|
|
6
7
|
clear?(): void;
|
|
7
8
|
}
|
package/package.json
CHANGED
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@xylabs/sdk-js": "^2.6.2",
|
|
13
|
-
"@xyo-network/account": "^2.22.
|
|
14
|
-
"@xyo-network/boundwitness": "^2.22.
|
|
15
|
-
"@xyo-network/core": "^2.22.
|
|
16
|
-
"@xyo-network/payload": "^2.22.
|
|
13
|
+
"@xyo-network/account": "^2.22.8",
|
|
14
|
+
"@xyo-network/boundwitness": "^2.22.8",
|
|
15
|
+
"@xyo-network/core": "^2.22.8",
|
|
16
|
+
"@xyo-network/payload": "^2.22.8",
|
|
17
17
|
"axios": "^0.27.2",
|
|
18
18
|
"lru-cache": "^7.13.1",
|
|
19
19
|
"pako": "^2.0.4"
|
|
@@ -56,6 +56,6 @@
|
|
|
56
56
|
},
|
|
57
57
|
"sideEffects": true,
|
|
58
58
|
"types": "dist/esm/index.d.ts",
|
|
59
|
-
"version": "2.22.
|
|
59
|
+
"version": "2.22.8",
|
|
60
60
|
"packageManager": "yarn@3.1.1"
|
|
61
61
|
}
|
package/src/XyoArchivist.ts
CHANGED
|
@@ -16,11 +16,11 @@ export abstract class XyoArchivistBase<T extends XyoPayload = XyoPayload> implem
|
|
|
16
16
|
|
|
17
17
|
abstract insert(payloads: T[]): T[] | Promise<T[]>
|
|
18
18
|
abstract find<R extends T = T>(query: XyoPayloadFindQuery): R[] | Promise<R[]>
|
|
19
|
-
abstract get(hash: string): T | Promise<T |
|
|
19
|
+
abstract get(hash: string[]): (T | null)[] | Promise<(T | null)[]>
|
|
20
20
|
public all(): T[] | Promise<T[]> {
|
|
21
21
|
throw Error('getAll not supported')
|
|
22
22
|
}
|
|
23
|
-
public delete(
|
|
23
|
+
public delete(_hashes: string[]): boolean[] | Promise<boolean[]> {
|
|
24
24
|
throw Error('delete not supported')
|
|
25
25
|
}
|
|
26
26
|
public clear(): void | Promise<void> {
|
|
@@ -9,16 +9,22 @@ import { XyoPayloadFindQuery } from './XyoPayloadFindFilter'
|
|
|
9
9
|
export class XyoMemoryArchivist extends XyoArchivistBase<XyoPayload> {
|
|
10
10
|
private cache = new LruCache<string, XyoPayload>({ max: 10000 })
|
|
11
11
|
|
|
12
|
-
public delete(
|
|
13
|
-
return
|
|
12
|
+
public delete(hashes: string[]): boolean[] | Promise<boolean[]> {
|
|
13
|
+
return hashes.map((hash) => {
|
|
14
|
+
return this.cache.delete(hash)
|
|
15
|
+
})
|
|
14
16
|
}
|
|
15
17
|
|
|
16
18
|
public clear(): void | Promise<void> {
|
|
17
19
|
this.cache.clear()
|
|
18
20
|
}
|
|
19
21
|
|
|
20
|
-
public get(
|
|
21
|
-
return
|
|
22
|
+
public async get(hashes: string[]): Promise<(XyoPayload | null)[]> {
|
|
23
|
+
return await Promise.all(
|
|
24
|
+
hashes.map(async (hash) => {
|
|
25
|
+
return this.cache.get(hash) ?? (await this.parent?.get([hash]))?.pop() ?? null
|
|
26
|
+
})
|
|
27
|
+
)
|
|
22
28
|
}
|
|
23
29
|
|
|
24
30
|
public insert(payloads: XyoPayload[]): XyoPayload[] | Promise<XyoPayload[]> {
|
package/src/model/Archivist.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export interface Archivist<TReadResponse, TWriteResponse = TReadResponse, TWrite = TReadResponse, TQueryResponse = TReadResponse, TQuery = unknown, TId = string> {
|
|
2
|
-
get(
|
|
2
|
+
get(ids: TId[]): Promise<(TReadResponse | null)[]> | (TReadResponse | null)[]
|
|
3
|
+
all?(): Promise<TReadResponse[]> | TReadResponse[]
|
|
3
4
|
find?(query: TQuery): Promise<TQueryResponse[]> | TQueryResponse[]
|
|
4
5
|
insert?(item: TWrite[]): Promise<TWriteResponse[]> | TWriteResponse[]
|
|
5
|
-
delete?(
|
|
6
|
+
delete?(ids: TId[]): Promise<boolean[]> | boolean[]
|
|
6
7
|
clear?(): void
|
|
7
8
|
}
|