@xyo-network/archivist-wrapper 2.64.8 → 2.64.10
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 +27 -12
- package/dist/cjs/ArchivistWrapper.js.map +1 -1
- package/dist/docs.json +183 -178
- package/dist/esm/ArchivistWrapper.js +27 -12
- package/dist/esm/ArchivistWrapper.js.map +1 -1
- package/dist/types/ArchivistWrapper.d.ts +1 -1
- package/dist/types/ArchivistWrapper.d.ts.map +1 -1
- package/package.json +10 -10
- package/src/ArchivistWrapper.ts +29 -13
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { assertEx } from '@xylabs/assert';
|
|
2
|
+
import { ArchivistAllQuerySchema, ArchivistClearQuerySchema, ArchivistCommitQuerySchema, ArchivistDeleteQuerySchema, ArchivistGetQuerySchema, ArchivistInsertQuerySchema, isArchivistInstance, } from '@xyo-network/archivist-model';
|
|
2
3
|
import { BoundWitnessSchema, isBoundWitnessPayload } from '@xyo-network/boundwitness-model';
|
|
3
4
|
import { PayloadHasher } from '@xyo-network/core';
|
|
4
5
|
import { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module';
|
|
@@ -8,41 +9,55 @@ constructableModuleWrapper();
|
|
|
8
9
|
export class ArchivistWrapper extends ModuleWrapper {
|
|
9
10
|
static requiredQueries = [ArchivistGetQuerySchema, ...super.requiredQueries];
|
|
10
11
|
async all() {
|
|
12
|
+
if (isArchivistInstance(this.module)) {
|
|
13
|
+
return await assertEx(this.module.all, 'Archivist does not support all')();
|
|
14
|
+
}
|
|
11
15
|
const queryPayload = PayloadWrapper.wrap({ schema: ArchivistAllQuerySchema });
|
|
12
16
|
const result = await this.sendQuery(queryPayload);
|
|
13
17
|
return compact(result);
|
|
14
18
|
}
|
|
15
19
|
async clear() {
|
|
20
|
+
if (isArchivistInstance(this.module)) {
|
|
21
|
+
return await assertEx(this.module.clear, 'Archivist does not support clear')();
|
|
22
|
+
}
|
|
16
23
|
const queryPayload = PayloadWrapper.wrap({ schema: ArchivistClearQuerySchema });
|
|
17
24
|
await this.sendQuery(queryPayload);
|
|
18
25
|
}
|
|
19
26
|
async commit() {
|
|
27
|
+
if (isArchivistInstance(this.module)) {
|
|
28
|
+
return await assertEx(this.module.commit, 'Archivist does not support commit')();
|
|
29
|
+
}
|
|
20
30
|
const queryPayload = PayloadWrapper.wrap({ schema: ArchivistCommitQuerySchema });
|
|
21
31
|
const result = await this.sendQuery(queryPayload);
|
|
22
32
|
return result.filter(isBoundWitnessPayload);
|
|
23
33
|
}
|
|
24
34
|
async delete(hashes) {
|
|
35
|
+
if (isArchivistInstance(this.module)) {
|
|
36
|
+
return await assertEx(this.module.delete, 'Archivist does not support delete')(hashes);
|
|
37
|
+
}
|
|
25
38
|
const queryPayload = PayloadWrapper.wrap({ hashes, schema: ArchivistDeleteQuerySchema });
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return result[0].payload_hashes.map(() => true);
|
|
39
|
+
await this.sendQuery(queryPayload);
|
|
40
|
+
//just returning all true for now
|
|
41
|
+
return hashes.map((_hash) => true);
|
|
30
42
|
}
|
|
31
43
|
async get(hashes) {
|
|
44
|
+
if (isArchivistInstance(this.module)) {
|
|
45
|
+
return await this.module.get(hashes);
|
|
46
|
+
}
|
|
32
47
|
const queryPayload = PayloadWrapper.wrap({ hashes, schema: ArchivistGetQuerySchema });
|
|
33
|
-
|
|
34
|
-
return result;
|
|
48
|
+
return await this.sendQuery(queryPayload);
|
|
35
49
|
}
|
|
36
50
|
async insert(payloads) {
|
|
51
|
+
if (isArchivistInstance(this.module)) {
|
|
52
|
+
return await assertEx(this.module.insert, 'Archivist does not support insert')(payloads);
|
|
53
|
+
}
|
|
37
54
|
const queryPayload = PayloadWrapper.wrap({
|
|
38
55
|
payloads: await PayloadHasher.hashes(payloads),
|
|
39
56
|
schema: ArchivistInsertQuerySchema,
|
|
40
57
|
});
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
await this.throwErrors(query, result);
|
|
45
|
-
return [result[0], ...innerBoundWitnesses];
|
|
58
|
+
const result = await this.sendQuery(queryPayload);
|
|
59
|
+
const innerBoundWitnesses = result.filter((payload) => payload?.schema === BoundWitnessSchema) ?? [];
|
|
60
|
+
return innerBoundWitnesses;
|
|
46
61
|
}
|
|
47
62
|
}
|
|
48
63
|
//# sourceMappingURL=ArchivistWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArchivistWrapper.js","sourceRoot":"","sources":["../../src/ArchivistWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,uBAAuB,EAEvB,yBAAyB,EAEzB,0BAA0B,EAE1B,0BAA0B,EAE1B,uBAAuB,EAEvB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"ArchivistWrapper.js","sourceRoot":"","sources":["../../src/ArchivistWrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export declare class ArchivistWrapper<TWrappedModule extends ArchivistModule = A
|
|
|
8
8
|
clear(): Promise<void>;
|
|
9
9
|
commit(): Promise<BoundWitness[]>;
|
|
10
10
|
delete(hashes: string[]): Promise<boolean[]>;
|
|
11
|
-
get(hashes: string[]): Promise<Payload[]>;
|
|
11
|
+
get(hashes: string[]): Promise<(Payload | null)[]>;
|
|
12
12
|
insert(payloads: Payload[]): Promise<BoundWitness[]>;
|
|
13
13
|
}
|
|
14
14
|
//# 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":"AACA,OAAO,EAaL,eAAe,EAEhB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,YAAY,EAA6C,MAAM,iCAAiC,CAAA;AAEzG,OAAO,EAA8B,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKpD,qBAAa,gBAAgB,CAAC,cAAc,SAAS,eAAe,GAAG,eAAe,CACpF,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEpD,OAAgB,eAAe,WAAsD;IAE/E,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IASzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IASjC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAU5C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAQlD,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAY3D"}
|
package/package.json
CHANGED
|
@@ -9,19 +9,19 @@
|
|
|
9
9
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@xyo-network/archivist-model": "^2.64.
|
|
13
|
-
"@xyo-network/boundwitness-model": "^2.64.
|
|
14
|
-
"@xyo-network/core": "^2.64.
|
|
15
|
-
"@xyo-network/module": "^2.64.
|
|
16
|
-
"@xyo-network/payload-model": "^2.64.
|
|
17
|
-
"@xyo-network/payload-wrapper": "^2.64.
|
|
12
|
+
"@xyo-network/archivist-model": "^2.64.10",
|
|
13
|
+
"@xyo-network/boundwitness-model": "^2.64.10",
|
|
14
|
+
"@xyo-network/core": "^2.64.10",
|
|
15
|
+
"@xyo-network/module": "^2.64.10",
|
|
16
|
+
"@xyo-network/payload-model": "^2.64.10",
|
|
17
|
+
"@xyo-network/payload-wrapper": "^2.64.10",
|
|
18
18
|
"lodash": "^4.17.21"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@types/lodash": "^4.14.195",
|
|
22
|
-
"@xylabs/ts-scripts-yarn3": "^2.18.
|
|
23
|
-
"@xylabs/tsconfig": "^2.18.
|
|
24
|
-
"@xyo-network/memory-archivist": "^2.64.
|
|
22
|
+
"@xylabs/ts-scripts-yarn3": "^2.18.7",
|
|
23
|
+
"@xylabs/tsconfig": "^2.18.7",
|
|
24
|
+
"@xyo-network/memory-archivist": "^2.64.10",
|
|
25
25
|
"typescript": "^5.1.6"
|
|
26
26
|
},
|
|
27
27
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
},
|
|
59
59
|
"sideEffects": false,
|
|
60
60
|
"types": "dist/types/index.d.ts",
|
|
61
|
-
"version": "2.64.
|
|
61
|
+
"version": "2.64.10"
|
|
62
62
|
}
|
package/src/ArchivistWrapper.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert'
|
|
1
2
|
import {
|
|
2
3
|
ArchivistAllQuery,
|
|
3
4
|
ArchivistAllQuerySchema,
|
|
@@ -12,6 +13,7 @@ import {
|
|
|
12
13
|
ArchivistInsertQuery,
|
|
13
14
|
ArchivistInsertQuerySchema,
|
|
14
15
|
ArchivistModule,
|
|
16
|
+
isArchivistInstance,
|
|
15
17
|
} from '@xyo-network/archivist-model'
|
|
16
18
|
import { BoundWitness, BoundWitnessSchema, isBoundWitnessPayload } from '@xyo-network/boundwitness-model'
|
|
17
19
|
import { PayloadHasher } from '@xyo-network/core'
|
|
@@ -28,45 +30,59 @@ export class ArchivistWrapper<TWrappedModule extends ArchivistModule = Archivist
|
|
|
28
30
|
static override requiredQueries = [ArchivistGetQuerySchema, ...super.requiredQueries]
|
|
29
31
|
|
|
30
32
|
async all(): Promise<Payload[]> {
|
|
33
|
+
if (isArchivistInstance(this.module)) {
|
|
34
|
+
return await assertEx(this.module.all, 'Archivist does not support all')()
|
|
35
|
+
}
|
|
31
36
|
const queryPayload = PayloadWrapper.wrap<ArchivistAllQuery>({ schema: ArchivistAllQuerySchema })
|
|
32
37
|
const result = await this.sendQuery(queryPayload)
|
|
33
38
|
return compact(result)
|
|
34
39
|
}
|
|
35
40
|
|
|
36
41
|
async clear(): Promise<void> {
|
|
42
|
+
if (isArchivistInstance(this.module)) {
|
|
43
|
+
return await assertEx(this.module.clear, 'Archivist does not support clear')()
|
|
44
|
+
}
|
|
37
45
|
const queryPayload = PayloadWrapper.wrap<ArchivistClearQuery>({ schema: ArchivistClearQuerySchema })
|
|
38
46
|
await this.sendQuery(queryPayload)
|
|
39
47
|
}
|
|
40
48
|
|
|
41
49
|
async commit(): Promise<BoundWitness[]> {
|
|
50
|
+
if (isArchivistInstance(this.module)) {
|
|
51
|
+
return await assertEx(this.module.commit, 'Archivist does not support commit')()
|
|
52
|
+
}
|
|
42
53
|
const queryPayload = PayloadWrapper.wrap<ArchivistCommitQuery>({ schema: ArchivistCommitQuerySchema })
|
|
43
54
|
const result = await this.sendQuery(queryPayload)
|
|
44
55
|
return result.filter(isBoundWitnessPayload)
|
|
45
56
|
}
|
|
46
57
|
|
|
47
|
-
async delete(hashes: string[]) {
|
|
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
|
+
}
|
|
48
62
|
const queryPayload = PayloadWrapper.wrap<ArchivistDeleteQuery>({ hashes, schema: ArchivistDeleteQuerySchema })
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
return result[0].payload_hashes.map(() => true)
|
|
63
|
+
await this.sendQuery(queryPayload)
|
|
64
|
+
//just returning all true for now
|
|
65
|
+
return hashes.map((_hash) => true)
|
|
53
66
|
}
|
|
54
67
|
|
|
55
|
-
async get(hashes: string[]): Promise<Payload[]> {
|
|
68
|
+
async get(hashes: string[]): Promise<(Payload | null)[]> {
|
|
69
|
+
if (isArchivistInstance(this.module)) {
|
|
70
|
+
return await this.module.get(hashes)
|
|
71
|
+
}
|
|
56
72
|
const queryPayload = PayloadWrapper.wrap<ArchivistGetQuery>({ hashes, schema: ArchivistGetQuerySchema })
|
|
57
|
-
|
|
58
|
-
return result
|
|
73
|
+
return await this.sendQuery(queryPayload)
|
|
59
74
|
}
|
|
60
75
|
|
|
61
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
|
+
}
|
|
62
80
|
const queryPayload = PayloadWrapper.wrap<ArchivistInsertQuery>({
|
|
63
81
|
payloads: await PayloadHasher.hashes(payloads),
|
|
64
82
|
schema: ArchivistInsertQuerySchema,
|
|
65
83
|
})
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
await this.throwErrors(query, result)
|
|
70
|
-
return [result[0], ...innerBoundWitnesses]
|
|
84
|
+
const result = await this.sendQuery(queryPayload)
|
|
85
|
+
const innerBoundWitnesses = result.filter<BoundWitness>((payload): payload is BoundWitness => payload?.schema === BoundWitnessSchema) ?? []
|
|
86
|
+
return innerBoundWitnesses
|
|
71
87
|
}
|
|
72
88
|
}
|