@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.
@@ -1,4 +1,5 @@
1
- import { ArchivistAllQuerySchema, ArchivistClearQuerySchema, ArchivistCommitQuerySchema, ArchivistDeleteQuerySchema, ArchivistGetQuerySchema, ArchivistInsertQuerySchema, } from '@xyo-network/archivist-model';
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
- 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);
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
- const result = await this.sendQuery(queryPayload);
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 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];
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":"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"}
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":"AAAA,OAAO,EAaL,eAAe,EAChB,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;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
+ {"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.8",
13
- "@xyo-network/boundwitness-model": "^2.64.8",
14
- "@xyo-network/core": "^2.64.8",
15
- "@xyo-network/module": "^2.64.8",
16
- "@xyo-network/payload-model": "^2.64.8",
17
- "@xyo-network/payload-wrapper": "^2.64.8",
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.5",
23
- "@xylabs/tsconfig": "^2.18.5",
24
- "@xyo-network/memory-archivist": "^2.64.8",
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.8"
61
+ "version": "2.64.10"
62
62
  }
@@ -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
- const query = await this.bindQuery(queryPayload)
50
- const result = await this.module.query(query[0], query[1])
51
- await this.throwErrors(query, result)
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
- const result = await this.sendQuery(queryPayload)
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 query = await this.bindQuery(queryPayload, payloads)
67
- const result = await this.module.query(query[0], [queryPayload.payload(), ...payloads])
68
- const innerBoundWitnesses = result[1]?.filter<BoundWitness>((payload): payload is BoundWitness => payload?.schema === BoundWitnessSchema) ?? []
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
  }