@xyo-network/archivist-wrapper 2.66.8 → 2.67.0-rc.1
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/ArchivistWrapper.js +61 -3
- package/dist/cjs/ArchivistWrapper.js.map +1 -1
- package/dist/cjs/index.js +0 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/ArchivistWrapper.js +46 -4
- package/dist/esm/ArchivistWrapper.js.map +1 -1
- package/dist/esm/index.js +0 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/types/ArchivistWrapper.d.ts +13 -5
- package/dist/types/ArchivistWrapper.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -2
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/ArchivistWrapper.ts +71 -5
- package/src/index.ts +0 -2
- package/dist/cjs/DirectArchivistWrapper.js +0 -91
- package/dist/cjs/DirectArchivistWrapper.js.map +0 -1
- package/dist/cjs/IndirectArchivistWrapper.js +0 -68
- package/dist/cjs/IndirectArchivistWrapper.js.map +0 -1
- package/dist/docs.json +0 -29465
- package/dist/esm/DirectArchivistWrapper.js +0 -50
- package/dist/esm/DirectArchivistWrapper.js.map +0 -1
- package/dist/esm/IndirectArchivistWrapper.js +0 -48
- package/dist/esm/IndirectArchivistWrapper.js.map +0 -1
- package/dist/types/DirectArchivistWrapper.d.ts +0 -14
- package/dist/types/DirectArchivistWrapper.d.ts.map +0 -1
- package/dist/types/IndirectArchivistWrapper.d.ts +0 -14
- package/dist/types/IndirectArchivistWrapper.d.ts.map +0 -1
- package/src/DirectArchivistWrapper.ts +0 -62
- package/src/IndirectArchivistWrapper.ts +0 -73
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/assert';
|
|
2
|
-
import { ArchivistGetQuerySchema, isArchivistInstance } from '@xyo-network/archivist-model';
|
|
3
|
-
import { constructableModuleWrapper } from '@xyo-network/module-wrapper';
|
|
4
|
-
import { IndirectArchivistWrapper } from './IndirectArchivistWrapper';
|
|
5
|
-
constructableModuleWrapper();
|
|
6
|
-
export class DirectArchivistWrapper extends IndirectArchivistWrapper {
|
|
7
|
-
static requiredQueries = [ArchivistGetQuerySchema, ...super.requiredQueries];
|
|
8
|
-
async all() {
|
|
9
|
-
if (isArchivistInstance(this.module)) {
|
|
10
|
-
assertEx(this.module.all, 'Archivist does not support all');
|
|
11
|
-
return (await this.module.all?.()) ?? [];
|
|
12
|
-
}
|
|
13
|
-
return await super.all();
|
|
14
|
-
}
|
|
15
|
-
async clear() {
|
|
16
|
-
if (isArchivistInstance(this.module)) {
|
|
17
|
-
assertEx(this.module.clear, 'Archivist does not support clear');
|
|
18
|
-
return await this.module.clear?.();
|
|
19
|
-
}
|
|
20
|
-
return await super.clear();
|
|
21
|
-
}
|
|
22
|
-
async commit() {
|
|
23
|
-
if (isArchivistInstance(this.module)) {
|
|
24
|
-
assertEx(this.module.commit, 'Archivist does not support commit');
|
|
25
|
-
return (await this.module.commit?.()) ?? [];
|
|
26
|
-
}
|
|
27
|
-
return await super.commit();
|
|
28
|
-
}
|
|
29
|
-
async delete(hashes) {
|
|
30
|
-
if (isArchivistInstance(this.module)) {
|
|
31
|
-
assertEx(this.module.delete, 'Archivist does not support delete');
|
|
32
|
-
return (await this.module.delete?.(hashes)) ?? [];
|
|
33
|
-
}
|
|
34
|
-
return await super.delete(hashes);
|
|
35
|
-
}
|
|
36
|
-
async get(hashes) {
|
|
37
|
-
if (isArchivistInstance(this.module)) {
|
|
38
|
-
return await this.module.get(hashes);
|
|
39
|
-
}
|
|
40
|
-
return await super.get(hashes);
|
|
41
|
-
}
|
|
42
|
-
async insert(payloads) {
|
|
43
|
-
if (isArchivistInstance(this.module)) {
|
|
44
|
-
assertEx(this.module.insert, 'Archivist does not support insert');
|
|
45
|
-
return await this.module.insert(payloads);
|
|
46
|
-
}
|
|
47
|
-
return await super.insert(payloads);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=DirectArchivistWrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DirectArchivistWrapper.js","sourceRoot":"","sources":["../../src/DirectArchivistWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,uBAAuB,EAAsC,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAE/H,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAGxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,0BAA0B,EAAE,CAAA;AAC5B,MAAM,OAAO,sBACX,SAAQ,wBAAwC;IAGhD,MAAM,CAAU,eAAe,GAAG,CAAC,uBAAuB,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,CAAA;IAE5E,KAAK,CAAC,GAAG;QAChB,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,gCAAgC,CAAC,CAAA;YAC3D,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;SACzC;QACD,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,CAAA;IAC1B,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,kCAAkC,CAAC,CAAA;YAC/D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;SACnC;QACD,OAAO,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;IAC5B,CAAC;IAEQ,KAAK,CAAC,MAAM;QACnB,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAA;YACjE,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;SAC5C;QACD,OAAO,MAAM,KAAK,CAAC,MAAM,EAAE,CAAA;IAC7B,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,MAAgB;QACpC,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAA;YACjE,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;SAClD;QACD,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAEQ,KAAK,CAAC,GAAG,CAAC,MAAgB;QACjC,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;SACrC;QACD,OAAO,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,QAAmB;QACvC,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAA;YACjE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SAC1C;QACD,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { ArchivistAllQuerySchema, ArchivistClearQuerySchema, ArchivistCommitQuerySchema, ArchivistDeleteQuerySchema, ArchivistGetQuerySchema, ArchivistInsertQuerySchema, } from '@xyo-network/archivist-model';
|
|
2
|
-
import { BoundWitnessSchema, isBoundWitnessPayload } from '@xyo-network/boundwitness-model';
|
|
3
|
-
import { PayloadHasher } from '@xyo-network/core';
|
|
4
|
-
import { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper';
|
|
5
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
6
|
-
import compact from 'lodash/compact';
|
|
7
|
-
constructableModuleWrapper();
|
|
8
|
-
export class IndirectArchivistWrapper extends ModuleWrapper {
|
|
9
|
-
static requiredQueries = [ArchivistGetQuerySchema, ...super.requiredQueries];
|
|
10
|
-
async all() {
|
|
11
|
-
const queryPayload = PayloadWrapper.wrap({ schema: ArchivistAllQuerySchema });
|
|
12
|
-
const result = await this.sendQuery(queryPayload);
|
|
13
|
-
return compact(result);
|
|
14
|
-
}
|
|
15
|
-
async clear() {
|
|
16
|
-
const queryPayload = PayloadWrapper.wrap({ schema: ArchivistClearQuerySchema });
|
|
17
|
-
await this.sendQuery(queryPayload);
|
|
18
|
-
}
|
|
19
|
-
async commit() {
|
|
20
|
-
const queryPayload = PayloadWrapper.wrap({ schema: ArchivistCommitQuerySchema });
|
|
21
|
-
const result = await this.sendQuery(queryPayload);
|
|
22
|
-
return result.filter(isBoundWitnessPayload);
|
|
23
|
-
}
|
|
24
|
-
async delete(hashes) {
|
|
25
|
-
const queryPayload = PayloadWrapper.wrap({ hashes, schema: ArchivistDeleteQuerySchema });
|
|
26
|
-
const query = await this.bindQuery(queryPayload);
|
|
27
|
-
const result = await this.module.query(query[0], query[1]);
|
|
28
|
-
await this.throwErrors(query, result);
|
|
29
|
-
return result[0].payload_hashes.map(() => true);
|
|
30
|
-
}
|
|
31
|
-
async get(hashes) {
|
|
32
|
-
const queryPayload = PayloadWrapper.wrap({ hashes, schema: ArchivistGetQuerySchema });
|
|
33
|
-
const result = await this.sendQuery(queryPayload);
|
|
34
|
-
return result;
|
|
35
|
-
}
|
|
36
|
-
async insert(payloads) {
|
|
37
|
-
const queryPayload = PayloadWrapper.wrap({
|
|
38
|
-
payloads: await PayloadHasher.hashes(payloads),
|
|
39
|
-
schema: ArchivistInsertQuerySchema,
|
|
40
|
-
});
|
|
41
|
-
const query = await this.bindQuery(queryPayload, payloads);
|
|
42
|
-
const result = await this.module.query(query[0], [queryPayload.payload(), ...payloads]);
|
|
43
|
-
const innerBoundWitnesses = result[1]?.filter((payload) => payload?.schema === BoundWitnessSchema) ?? [];
|
|
44
|
-
await this.throwErrors(query, result);
|
|
45
|
-
return [result[0], ...innerBoundWitnesses];
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=IndirectArchivistWrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IndirectArchivistWrapper.js","sourceRoot":"","sources":["../../src/IndirectArchivistWrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ArchivistInstance, ArchivistModule } from '@xyo-network/archivist-model';
|
|
2
|
-
import { BoundWitness } from '@xyo-network/boundwitness-model';
|
|
3
|
-
import { Payload } from '@xyo-network/payload-model';
|
|
4
|
-
import { IndirectArchivistWrapper } from './IndirectArchivistWrapper';
|
|
5
|
-
export declare class DirectArchivistWrapper<TWrappedModule extends ArchivistModule = ArchivistModule> extends IndirectArchivistWrapper<TWrappedModule> implements ArchivistInstance<TWrappedModule['params']> {
|
|
6
|
-
static requiredQueries: string[];
|
|
7
|
-
all(): Promise<Payload[]>;
|
|
8
|
-
clear(): Promise<void>;
|
|
9
|
-
commit(): Promise<BoundWitness[]>;
|
|
10
|
-
delete(hashes: string[]): Promise<boolean[]>;
|
|
11
|
-
get(hashes: string[]): Promise<Payload[]>;
|
|
12
|
-
insert(payloads: Payload[]): Promise<BoundWitness[]>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=DirectArchivistWrapper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DirectArchivistWrapper.d.ts","sourceRoot":"","sources":["../../src/DirectArchivistWrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,iBAAiB,EAAE,eAAe,EAAuB,MAAM,8BAA8B,CAAA;AAC/H,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAGrE,qBAAa,sBAAsB,CAAC,cAAc,SAAS,eAAe,GAAG,eAAe,CAC1F,SAAQ,wBAAwB,CAAC,cAAc,CAC/C,YAAW,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEtD,OAAgB,eAAe,WAAsD;IAEtE,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAQzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAQjC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAQ5C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAOzC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAOpE"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ArchivistInstance, ArchivistModule } from '@xyo-network/archivist-model';
|
|
2
|
-
import { BoundWitness } from '@xyo-network/boundwitness-model';
|
|
3
|
-
import { ModuleWrapper } from '@xyo-network/module-wrapper';
|
|
4
|
-
import { Payload } from '@xyo-network/payload-model';
|
|
5
|
-
export declare class IndirectArchivistWrapper<TWrappedModule extends ArchivistModule = ArchivistModule> extends ModuleWrapper<TWrappedModule> implements ArchivistInstance {
|
|
6
|
-
static requiredQueries: string[];
|
|
7
|
-
all(): Promise<Payload[]>;
|
|
8
|
-
clear(): Promise<void>;
|
|
9
|
-
commit(): Promise<BoundWitness[]>;
|
|
10
|
-
delete(hashes: string[]): Promise<boolean[]>;
|
|
11
|
-
get(hashes: string[]): Promise<Payload[]>;
|
|
12
|
-
insert(payloads: Payload[]): Promise<BoundWitness[]>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=IndirectArchivistWrapper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IndirectArchivistWrapper.d.ts","sourceRoot":"","sources":["../../src/IndirectArchivistWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,iBAAiB,EACjB,eAAe,EAChB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,YAAY,EAA6C,MAAM,iCAAiC,CAAA;AAEzG,OAAO,EAA8B,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKpD,qBAAa,wBAAwB,CAAC,cAAc,SAAS,eAAe,GAAG,eAAe,CAC5F,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,iBAAiB;IAE5B,OAAgB,eAAe,WAAsD;IAE/E,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAMjC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE;IAQvB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAMzC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAW3D"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/assert'
|
|
2
|
-
import { ArchivistGetQuerySchema, ArchivistInstance, ArchivistModule, isArchivistInstance } from '@xyo-network/archivist-model'
|
|
3
|
-
import { BoundWitness } from '@xyo-network/boundwitness-model'
|
|
4
|
-
import { constructableModuleWrapper } from '@xyo-network/module-wrapper'
|
|
5
|
-
import { Payload } from '@xyo-network/payload-model'
|
|
6
|
-
|
|
7
|
-
import { IndirectArchivistWrapper } from './IndirectArchivistWrapper'
|
|
8
|
-
|
|
9
|
-
constructableModuleWrapper()
|
|
10
|
-
export class DirectArchivistWrapper<TWrappedModule extends ArchivistModule = ArchivistModule>
|
|
11
|
-
extends IndirectArchivistWrapper<TWrappedModule>
|
|
12
|
-
implements ArchivistInstance<TWrappedModule['params']>
|
|
13
|
-
{
|
|
14
|
-
static override requiredQueries = [ArchivistGetQuerySchema, ...super.requiredQueries]
|
|
15
|
-
|
|
16
|
-
override async all(): Promise<Payload[]> {
|
|
17
|
-
if (isArchivistInstance(this.module)) {
|
|
18
|
-
assertEx(this.module.all, 'Archivist does not support all')
|
|
19
|
-
return (await this.module.all?.()) ?? []
|
|
20
|
-
}
|
|
21
|
-
return await super.all()
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
override async clear(): Promise<void> {
|
|
25
|
-
if (isArchivistInstance(this.module)) {
|
|
26
|
-
assertEx(this.module.clear, 'Archivist does not support clear')
|
|
27
|
-
return await this.module.clear?.()
|
|
28
|
-
}
|
|
29
|
-
return await super.clear()
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
override async commit(): Promise<BoundWitness[]> {
|
|
33
|
-
if (isArchivistInstance(this.module)) {
|
|
34
|
-
assertEx(this.module.commit, 'Archivist does not support commit')
|
|
35
|
-
return (await this.module.commit?.()) ?? []
|
|
36
|
-
}
|
|
37
|
-
return await super.commit()
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
override async delete(hashes: string[]): Promise<boolean[]> {
|
|
41
|
-
if (isArchivistInstance(this.module)) {
|
|
42
|
-
assertEx(this.module.delete, 'Archivist does not support delete')
|
|
43
|
-
return (await this.module.delete?.(hashes)) ?? []
|
|
44
|
-
}
|
|
45
|
-
return await super.delete(hashes)
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
override async get(hashes: string[]): Promise<Payload[]> {
|
|
49
|
-
if (isArchivistInstance(this.module)) {
|
|
50
|
-
return await this.module.get(hashes)
|
|
51
|
-
}
|
|
52
|
-
return await super.get(hashes)
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
override async insert(payloads: Payload[]): Promise<BoundWitness[]> {
|
|
56
|
-
if (isArchivistInstance(this.module)) {
|
|
57
|
-
assertEx(this.module.insert, 'Archivist does not support insert')
|
|
58
|
-
return await this.module.insert(payloads)
|
|
59
|
-
}
|
|
60
|
-
return await super.insert(payloads)
|
|
61
|
-
}
|
|
62
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ArchivistAllQuery,
|
|
3
|
-
ArchivistAllQuerySchema,
|
|
4
|
-
ArchivistClearQuery,
|
|
5
|
-
ArchivistClearQuerySchema,
|
|
6
|
-
ArchivistCommitQuery,
|
|
7
|
-
ArchivistCommitQuerySchema,
|
|
8
|
-
ArchivistDeleteQuery,
|
|
9
|
-
ArchivistDeleteQuerySchema,
|
|
10
|
-
ArchivistGetQuery,
|
|
11
|
-
ArchivistGetQuerySchema,
|
|
12
|
-
ArchivistInsertQuery,
|
|
13
|
-
ArchivistInsertQuerySchema,
|
|
14
|
-
ArchivistInstance,
|
|
15
|
-
ArchivistModule,
|
|
16
|
-
} from '@xyo-network/archivist-model'
|
|
17
|
-
import { BoundWitness, BoundWitnessSchema, isBoundWitnessPayload } from '@xyo-network/boundwitness-model'
|
|
18
|
-
import { PayloadHasher } from '@xyo-network/core'
|
|
19
|
-
import { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper'
|
|
20
|
-
import { Payload } from '@xyo-network/payload-model'
|
|
21
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
22
|
-
import compact from 'lodash/compact'
|
|
23
|
-
|
|
24
|
-
constructableModuleWrapper()
|
|
25
|
-
export class IndirectArchivistWrapper<TWrappedModule extends ArchivistModule = ArchivistModule>
|
|
26
|
-
extends ModuleWrapper<TWrappedModule>
|
|
27
|
-
implements ArchivistInstance
|
|
28
|
-
{
|
|
29
|
-
static override requiredQueries = [ArchivistGetQuerySchema, ...super.requiredQueries]
|
|
30
|
-
|
|
31
|
-
async all(): Promise<Payload[]> {
|
|
32
|
-
const queryPayload = PayloadWrapper.wrap<ArchivistAllQuery>({ schema: ArchivistAllQuerySchema })
|
|
33
|
-
const result = await this.sendQuery(queryPayload)
|
|
34
|
-
return compact(result)
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
async clear(): Promise<void> {
|
|
38
|
-
const queryPayload = PayloadWrapper.wrap<ArchivistClearQuery>({ schema: ArchivistClearQuerySchema })
|
|
39
|
-
await this.sendQuery(queryPayload)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
async commit(): Promise<BoundWitness[]> {
|
|
43
|
-
const queryPayload = PayloadWrapper.wrap<ArchivistCommitQuery>({ schema: ArchivistCommitQuerySchema })
|
|
44
|
-
const result = await this.sendQuery(queryPayload)
|
|
45
|
-
return result.filter(isBoundWitnessPayload)
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
async delete(hashes: string[]) {
|
|
49
|
-
const queryPayload = PayloadWrapper.wrap<ArchivistDeleteQuery>({ hashes, schema: ArchivistDeleteQuerySchema })
|
|
50
|
-
const query = await this.bindQuery(queryPayload)
|
|
51
|
-
const result = await this.module.query(query[0], query[1])
|
|
52
|
-
await this.throwErrors(query, result)
|
|
53
|
-
return result[0].payload_hashes.map(() => true)
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
async get(hashes: string[]): Promise<Payload[]> {
|
|
57
|
-
const queryPayload = PayloadWrapper.wrap<ArchivistGetQuery>({ hashes, schema: ArchivistGetQuerySchema })
|
|
58
|
-
const result = await this.sendQuery(queryPayload)
|
|
59
|
-
return result
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
async insert(payloads: Payload[]): Promise<BoundWitness[]> {
|
|
63
|
-
const queryPayload = PayloadWrapper.wrap<ArchivistInsertQuery>({
|
|
64
|
-
payloads: await PayloadHasher.hashes(payloads),
|
|
65
|
-
schema: ArchivistInsertQuerySchema,
|
|
66
|
-
})
|
|
67
|
-
const query = await this.bindQuery(queryPayload, payloads)
|
|
68
|
-
const result = await this.module.query(query[0], [queryPayload.payload(), ...payloads])
|
|
69
|
-
const innerBoundWitnesses = result[1]?.filter<BoundWitness>((payload): payload is BoundWitness => payload?.schema === BoundWitnessSchema) ?? []
|
|
70
|
-
await this.throwErrors(query, result)
|
|
71
|
-
return [result[0], ...innerBoundWitnesses]
|
|
72
|
-
}
|
|
73
|
-
}
|