@xyo-network/archivist-wrapper 2.64.10 → 2.65.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 +3 -77
- package/dist/cjs/ArchivistWrapper.js.map +1 -1
- package/dist/cjs/DirectArchivistWrapper.js +91 -0
- package/dist/cjs/DirectArchivistWrapper.js.map +1 -0
- package/dist/cjs/IndirectArchivistWrapper.js +68 -0
- package/dist/cjs/IndirectArchivistWrapper.js.map +1 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +20782 -1100
- package/dist/esm/ArchivistWrapper.js +3 -61
- package/dist/esm/ArchivistWrapper.js.map +1 -1
- package/dist/esm/DirectArchivistWrapper.js +50 -0
- package/dist/esm/DirectArchivistWrapper.js.map +1 -0
- package/dist/esm/IndirectArchivistWrapper.js +48 -0
- package/dist/esm/IndirectArchivistWrapper.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/types/ArchivistWrapper.d.ts +4 -12
- package/dist/types/ArchivistWrapper.d.ts.map +1 -1
- package/dist/types/DirectArchivistWrapper.d.ts +14 -0
- package/dist/types/DirectArchivistWrapper.d.ts.map +1 -0
- package/dist/types/IndirectArchivistWrapper.d.ts +14 -0
- package/dist/types/IndirectArchivistWrapper.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +11 -10
- package/src/ArchivistWrapper.ts +5 -86
- package/src/DirectArchivistWrapper.ts +62 -0
- package/src/IndirectArchivistWrapper.ts +74 -0
- package/src/index.ts +2 -0
|
@@ -1,63 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { PayloadHasher } from '@xyo-network/core';
|
|
5
|
-
import { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module';
|
|
6
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
7
|
-
import compact from 'lodash/compact';
|
|
8
|
-
constructableModuleWrapper();
|
|
9
|
-
export class ArchivistWrapper extends ModuleWrapper {
|
|
10
|
-
static requiredQueries = [ArchivistGetQuerySchema, ...super.requiredQueries];
|
|
11
|
-
async all() {
|
|
12
|
-
if (isArchivistInstance(this.module)) {
|
|
13
|
-
return await assertEx(this.module.all, 'Archivist does not support all')();
|
|
14
|
-
}
|
|
15
|
-
const queryPayload = PayloadWrapper.wrap({ schema: ArchivistAllQuerySchema });
|
|
16
|
-
const result = await this.sendQuery(queryPayload);
|
|
17
|
-
return compact(result);
|
|
18
|
-
}
|
|
19
|
-
async clear() {
|
|
20
|
-
if (isArchivistInstance(this.module)) {
|
|
21
|
-
return await assertEx(this.module.clear, 'Archivist does not support clear')();
|
|
22
|
-
}
|
|
23
|
-
const queryPayload = PayloadWrapper.wrap({ schema: ArchivistClearQuerySchema });
|
|
24
|
-
await this.sendQuery(queryPayload);
|
|
25
|
-
}
|
|
26
|
-
async commit() {
|
|
27
|
-
if (isArchivistInstance(this.module)) {
|
|
28
|
-
return await assertEx(this.module.commit, 'Archivist does not support commit')();
|
|
29
|
-
}
|
|
30
|
-
const queryPayload = PayloadWrapper.wrap({ schema: ArchivistCommitQuerySchema });
|
|
31
|
-
const result = await this.sendQuery(queryPayload);
|
|
32
|
-
return result.filter(isBoundWitnessPayload);
|
|
33
|
-
}
|
|
34
|
-
async delete(hashes) {
|
|
35
|
-
if (isArchivistInstance(this.module)) {
|
|
36
|
-
return await assertEx(this.module.delete, 'Archivist does not support delete')(hashes);
|
|
37
|
-
}
|
|
38
|
-
const queryPayload = PayloadWrapper.wrap({ hashes, schema: ArchivistDeleteQuerySchema });
|
|
39
|
-
await this.sendQuery(queryPayload);
|
|
40
|
-
//just returning all true for now
|
|
41
|
-
return hashes.map((_hash) => true);
|
|
42
|
-
}
|
|
43
|
-
async get(hashes) {
|
|
44
|
-
if (isArchivistInstance(this.module)) {
|
|
45
|
-
return await this.module.get(hashes);
|
|
46
|
-
}
|
|
47
|
-
const queryPayload = PayloadWrapper.wrap({ hashes, schema: ArchivistGetQuerySchema });
|
|
48
|
-
return await this.sendQuery(queryPayload);
|
|
49
|
-
}
|
|
50
|
-
async insert(payloads) {
|
|
51
|
-
if (isArchivistInstance(this.module)) {
|
|
52
|
-
return await assertEx(this.module.insert, 'Archivist does not support insert')(payloads);
|
|
53
|
-
}
|
|
54
|
-
const queryPayload = PayloadWrapper.wrap({
|
|
55
|
-
payloads: await PayloadHasher.hashes(payloads),
|
|
56
|
-
schema: ArchivistInsertQuerySchema,
|
|
57
|
-
});
|
|
58
|
-
const result = await this.sendQuery(queryPayload);
|
|
59
|
-
const innerBoundWitnesses = result.filter((payload) => payload?.schema === BoundWitnessSchema) ?? [];
|
|
60
|
-
return innerBoundWitnesses;
|
|
61
|
-
}
|
|
1
|
+
import { IndirectArchivistWrapper } from './IndirectArchivistWrapper';
|
|
2
|
+
/** @deprecated use DirectArchivistWrapper or IndirectArchivistWrapper instead */
|
|
3
|
+
export class ArchivistWrapper extends IndirectArchivistWrapper {
|
|
62
4
|
}
|
|
63
5
|
//# sourceMappingURL=ArchivistWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArchivistWrapper.js","sourceRoot":"","sources":["../../src/ArchivistWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ArchivistWrapper.js","sourceRoot":"","sources":["../../src/ArchivistWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,iFAAiF;AACjF,MAAM,OAAO,gBACX,SAAQ,wBAAwC;CACe"}
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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,EAA0C,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAEnI,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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IndirectArchivistWrapper.js","sourceRoot":"","sources":["../../src/IndirectArchivistWrapper.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA"}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
import { ArchivistModule } from '@xyo-network/archivist-model';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export declare class ArchivistWrapper<TWrappedModule extends ArchivistModule = ArchivistModule> extends ModuleWrapper<TWrappedModule> implements ArchivistModule<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 | null)[]>;
|
|
12
|
-
insert(payloads: Payload[]): Promise<BoundWitness[]>;
|
|
1
|
+
import { ArchivistModule, IndirectArchivistModule } from '@xyo-network/archivist-model';
|
|
2
|
+
import { IndirectArchivistWrapper } from './IndirectArchivistWrapper';
|
|
3
|
+
/** @deprecated use DirectArchivistWrapper or IndirectArchivistWrapper instead */
|
|
4
|
+
export declare class ArchivistWrapper<TWrappedModule extends ArchivistModule = ArchivistModule> extends IndirectArchivistWrapper<TWrappedModule> implements IndirectArchivistModule<TWrappedModule['params']> {
|
|
13
5
|
}
|
|
14
6
|
//# sourceMappingURL=ArchivistWrapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArchivistWrapper.d.ts","sourceRoot":"","sources":["../../src/ArchivistWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ArchivistWrapper.d.ts","sourceRoot":"","sources":["../../src/ArchivistWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,iFAAiF;AACjF,qBAAa,gBAAgB,CAAC,cAAc,SAAS,eAAe,GAAG,eAAe,CACpF,SAAQ,wBAAwB,CAAC,cAAc,CAC/C,YAAW,uBAAuB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;CAAG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ArchivistModule, DirectArchivistModule } 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 DirectArchivistModule<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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DirectArchivistWrapper.d.ts","sourceRoot":"","sources":["../../src/DirectArchivistWrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,eAAe,EAAE,qBAAqB,EAAuB,MAAM,8BAA8B,CAAA;AACnI,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,qBAAqB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE1D,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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ArchivistInstance, ArchivistModule, IndirectArchivistModule } 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 IndirectArchivistModule<TWrappedModule['params']>, 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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IndirectArchivistWrapper.d.ts","sourceRoot":"","sources":["../../src/IndirectArchivistWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACxB,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,uBAAuB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,iBAAiB;IAE/E,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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA"}
|
package/package.json
CHANGED
|
@@ -9,19 +9,20 @@
|
|
|
9
9
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@
|
|
13
|
-
"@xyo-network/
|
|
14
|
-
"@xyo-network/
|
|
15
|
-
"@xyo-network/
|
|
16
|
-
"@xyo-network/
|
|
17
|
-
"@xyo-network/payload-
|
|
12
|
+
"@xylabs/assert": "^2.9.3",
|
|
13
|
+
"@xyo-network/archivist-model": "^2.65.1",
|
|
14
|
+
"@xyo-network/boundwitness-model": "^2.65.1",
|
|
15
|
+
"@xyo-network/core": "^2.65.1",
|
|
16
|
+
"@xyo-network/module-wrapper": "^2.65.1",
|
|
17
|
+
"@xyo-network/payload-model": "^2.65.1",
|
|
18
|
+
"@xyo-network/payload-wrapper": "^2.65.1",
|
|
18
19
|
"lodash": "^4.17.21"
|
|
19
20
|
},
|
|
20
21
|
"devDependencies": {
|
|
21
22
|
"@types/lodash": "^4.14.195",
|
|
22
|
-
"@xylabs/ts-scripts-yarn3": "^2.18.
|
|
23
|
-
"@xylabs/tsconfig": "^2.18.
|
|
24
|
-
"@xyo-network/memory-archivist": "^2.
|
|
23
|
+
"@xylabs/ts-scripts-yarn3": "^2.18.10",
|
|
24
|
+
"@xylabs/tsconfig": "^2.18.10",
|
|
25
|
+
"@xyo-network/memory-archivist": "^2.65.1",
|
|
25
26
|
"typescript": "^5.1.6"
|
|
26
27
|
},
|
|
27
28
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -58,5 +59,5 @@
|
|
|
58
59
|
},
|
|
59
60
|
"sideEffects": false,
|
|
60
61
|
"types": "dist/types/index.d.ts",
|
|
61
|
-
"version": "2.
|
|
62
|
+
"version": "2.65.1"
|
|
62
63
|
}
|
package/src/ArchivistWrapper.ts
CHANGED
|
@@ -1,88 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
ArchivistAllQuery,
|
|
4
|
-
ArchivistAllQuerySchema,
|
|
5
|
-
ArchivistClearQuery,
|
|
6
|
-
ArchivistClearQuerySchema,
|
|
7
|
-
ArchivistCommitQuery,
|
|
8
|
-
ArchivistCommitQuerySchema,
|
|
9
|
-
ArchivistDeleteQuery,
|
|
10
|
-
ArchivistDeleteQuerySchema,
|
|
11
|
-
ArchivistGetQuery,
|
|
12
|
-
ArchivistGetQuerySchema,
|
|
13
|
-
ArchivistInsertQuery,
|
|
14
|
-
ArchivistInsertQuerySchema,
|
|
15
|
-
ArchivistModule,
|
|
16
|
-
isArchivistInstance,
|
|
17
|
-
} from '@xyo-network/archivist-model'
|
|
18
|
-
import { BoundWitness, BoundWitnessSchema, isBoundWitnessPayload } from '@xyo-network/boundwitness-model'
|
|
19
|
-
import { PayloadHasher } from '@xyo-network/core'
|
|
20
|
-
import { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module'
|
|
21
|
-
import { Payload } from '@xyo-network/payload-model'
|
|
22
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
23
|
-
import compact from 'lodash/compact'
|
|
1
|
+
import { ArchivistModule, IndirectArchivistModule } from '@xyo-network/archivist-model'
|
|
24
2
|
|
|
25
|
-
|
|
3
|
+
import { IndirectArchivistWrapper } from './IndirectArchivistWrapper'
|
|
4
|
+
/** @deprecated use DirectArchivistWrapper or IndirectArchivistWrapper instead */
|
|
26
5
|
export class ArchivistWrapper<TWrappedModule extends ArchivistModule = ArchivistModule>
|
|
27
|
-
extends
|
|
28
|
-
implements
|
|
29
|
-
{
|
|
30
|
-
static override requiredQueries = [ArchivistGetQuerySchema, ...super.requiredQueries]
|
|
31
|
-
|
|
32
|
-
async all(): Promise<Payload[]> {
|
|
33
|
-
if (isArchivistInstance(this.module)) {
|
|
34
|
-
return await assertEx(this.module.all, 'Archivist does not support all')()
|
|
35
|
-
}
|
|
36
|
-
const queryPayload = PayloadWrapper.wrap<ArchivistAllQuery>({ schema: ArchivistAllQuerySchema })
|
|
37
|
-
const result = await this.sendQuery(queryPayload)
|
|
38
|
-
return compact(result)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
async clear(): Promise<void> {
|
|
42
|
-
if (isArchivistInstance(this.module)) {
|
|
43
|
-
return await assertEx(this.module.clear, 'Archivist does not support clear')()
|
|
44
|
-
}
|
|
45
|
-
const queryPayload = PayloadWrapper.wrap<ArchivistClearQuery>({ schema: ArchivistClearQuerySchema })
|
|
46
|
-
await this.sendQuery(queryPayload)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
async commit(): Promise<BoundWitness[]> {
|
|
50
|
-
if (isArchivistInstance(this.module)) {
|
|
51
|
-
return await assertEx(this.module.commit, 'Archivist does not support commit')()
|
|
52
|
-
}
|
|
53
|
-
const queryPayload = PayloadWrapper.wrap<ArchivistCommitQuery>({ schema: ArchivistCommitQuerySchema })
|
|
54
|
-
const result = await this.sendQuery(queryPayload)
|
|
55
|
-
return result.filter(isBoundWitnessPayload)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
async delete(hashes: string[]): Promise<boolean[]> {
|
|
59
|
-
if (isArchivistInstance(this.module)) {
|
|
60
|
-
return await assertEx(this.module.delete, 'Archivist does not support delete')(hashes)
|
|
61
|
-
}
|
|
62
|
-
const queryPayload = PayloadWrapper.wrap<ArchivistDeleteQuery>({ hashes, schema: ArchivistDeleteQuerySchema })
|
|
63
|
-
await this.sendQuery(queryPayload)
|
|
64
|
-
//just returning all true for now
|
|
65
|
-
return hashes.map((_hash) => true)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
async get(hashes: string[]): Promise<(Payload | null)[]> {
|
|
69
|
-
if (isArchivistInstance(this.module)) {
|
|
70
|
-
return await this.module.get(hashes)
|
|
71
|
-
}
|
|
72
|
-
const queryPayload = PayloadWrapper.wrap<ArchivistGetQuery>({ hashes, schema: ArchivistGetQuerySchema })
|
|
73
|
-
return await this.sendQuery(queryPayload)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
async insert(payloads: Payload[]): Promise<BoundWitness[]> {
|
|
77
|
-
if (isArchivistInstance(this.module)) {
|
|
78
|
-
return await assertEx(this.module.insert, 'Archivist does not support insert')(payloads)
|
|
79
|
-
}
|
|
80
|
-
const queryPayload = PayloadWrapper.wrap<ArchivistInsertQuery>({
|
|
81
|
-
payloads: await PayloadHasher.hashes(payloads),
|
|
82
|
-
schema: ArchivistInsertQuerySchema,
|
|
83
|
-
})
|
|
84
|
-
const result = await this.sendQuery(queryPayload)
|
|
85
|
-
const innerBoundWitnesses = result.filter<BoundWitness>((payload): payload is BoundWitness => payload?.schema === BoundWitnessSchema) ?? []
|
|
86
|
-
return innerBoundWitnesses
|
|
87
|
-
}
|
|
88
|
-
}
|
|
6
|
+
extends IndirectArchivistWrapper<TWrappedModule>
|
|
7
|
+
implements IndirectArchivistModule<TWrappedModule['params']> {}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert'
|
|
2
|
+
import { ArchivistGetQuerySchema, ArchivistModule, DirectArchivistModule, 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 DirectArchivistModule<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
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
IndirectArchivistModule,
|
|
17
|
+
} from '@xyo-network/archivist-model'
|
|
18
|
+
import { BoundWitness, BoundWitnessSchema, isBoundWitnessPayload } from '@xyo-network/boundwitness-model'
|
|
19
|
+
import { PayloadHasher } from '@xyo-network/core'
|
|
20
|
+
import { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper'
|
|
21
|
+
import { Payload } from '@xyo-network/payload-model'
|
|
22
|
+
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
23
|
+
import compact from 'lodash/compact'
|
|
24
|
+
|
|
25
|
+
constructableModuleWrapper()
|
|
26
|
+
export class IndirectArchivistWrapper<TWrappedModule extends ArchivistModule = ArchivistModule>
|
|
27
|
+
extends ModuleWrapper<TWrappedModule>
|
|
28
|
+
implements IndirectArchivistModule<TWrappedModule['params']>, ArchivistInstance
|
|
29
|
+
{
|
|
30
|
+
static override requiredQueries = [ArchivistGetQuerySchema, ...super.requiredQueries]
|
|
31
|
+
|
|
32
|
+
async all(): Promise<Payload[]> {
|
|
33
|
+
const queryPayload = PayloadWrapper.wrap<ArchivistAllQuery>({ schema: ArchivistAllQuerySchema })
|
|
34
|
+
const result = await this.sendQuery(queryPayload)
|
|
35
|
+
return compact(result)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async clear(): Promise<void> {
|
|
39
|
+
const queryPayload = PayloadWrapper.wrap<ArchivistClearQuery>({ schema: ArchivistClearQuerySchema })
|
|
40
|
+
await this.sendQuery(queryPayload)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
async commit(): Promise<BoundWitness[]> {
|
|
44
|
+
const queryPayload = PayloadWrapper.wrap<ArchivistCommitQuery>({ schema: ArchivistCommitQuerySchema })
|
|
45
|
+
const result = await this.sendQuery(queryPayload)
|
|
46
|
+
return result.filter(isBoundWitnessPayload)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
async delete(hashes: string[]) {
|
|
50
|
+
const queryPayload = PayloadWrapper.wrap<ArchivistDeleteQuery>({ hashes, schema: ArchivistDeleteQuerySchema })
|
|
51
|
+
const query = await this.bindQuery(queryPayload)
|
|
52
|
+
const result = await this.module.query(query[0], query[1])
|
|
53
|
+
await this.throwErrors(query, result)
|
|
54
|
+
return result[0].payload_hashes.map(() => true)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
async get(hashes: string[]): Promise<Payload[]> {
|
|
58
|
+
const queryPayload = PayloadWrapper.wrap<ArchivistGetQuery>({ hashes, schema: ArchivistGetQuerySchema })
|
|
59
|
+
const result = await this.sendQuery(queryPayload)
|
|
60
|
+
return result
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
async insert(payloads: Payload[]): Promise<BoundWitness[]> {
|
|
64
|
+
const queryPayload = PayloadWrapper.wrap<ArchivistInsertQuery>({
|
|
65
|
+
payloads: await PayloadHasher.hashes(payloads),
|
|
66
|
+
schema: ArchivistInsertQuerySchema,
|
|
67
|
+
})
|
|
68
|
+
const query = await this.bindQuery(queryPayload, payloads)
|
|
69
|
+
const result = await this.module.query(query[0], [queryPayload.payload(), ...payloads])
|
|
70
|
+
const innerBoundWitnesses = result[1]?.filter<BoundWitness>((payload): payload is BoundWitness => payload?.schema === BoundWitnessSchema) ?? []
|
|
71
|
+
await this.throwErrors(query, result)
|
|
72
|
+
return [result[0], ...innerBoundWitnesses]
|
|
73
|
+
}
|
|
74
|
+
}
|
package/src/index.ts
CHANGED