@xyo-network/api 2.20.40 → 2.20.43

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,4 @@
1
- import { Huri, XyoDataLike, XyoPayload } from '@xyo-network/core';
1
+ import { Huri, XyoBoundWitness, XyoDataLike, XyoPayload } from '@xyo-network/core';
2
2
  import { XyoApiBase } from '../Base';
3
3
  import { XyoApiResponseBody, XyoApiResponseTuple } from '../models';
4
4
  import { XyoApiSimple } from '../Simple';
@@ -18,6 +18,12 @@ export declare class XyoArchivistApi extends XyoApiBase {
18
18
  wallet(address: XyoDataLike): XyoAccountApi;
19
19
  account(address: XyoDataLike): XyoAccountApi;
20
20
  huri(huri: Huri | string): XyoApiSimple<import("@xyo-network/core").XyoPayloadFull, import("@xyo-network/core").XyoPayloadFull, Record<string, never>, import("../models/Api/Config").XyoApiConfig>;
21
+ /**
22
+ * Issues commands/queries as XyoBoundWitness wrapped XyoPayloads against a Node in the network
23
+ * @param archive Optional, the archive to issue the requests against
24
+ * @returns Confirmation for the request, as a BoundWitness, from the network Node
25
+ */
26
+ node<TResponse extends XyoBoundWitness, TData extends XyoBoundWitness = TResponse>(archive?: string): XyoApiSimple<TResponse, TData, Record<string, never>, import("../models/Api/Config").XyoApiConfig>;
21
27
  /** @deprecated use huri(huri) instead */
22
28
  get(huri: Huri | string): Promise<XyoApiResponseBody<XyoPayload>>;
23
29
  /** @deprecated use huri(huri) instead */
@@ -57,6 +57,17 @@ export class XyoArchivistApi extends XyoApiBase {
57
57
  root: `${this.root}${huriObj.href}/`,
58
58
  });
59
59
  }
60
+ /**
61
+ * Issues commands/queries as XyoBoundWitness wrapped XyoPayloads against a Node in the network
62
+ * @param archive Optional, the archive to issue the requests against
63
+ * @returns Confirmation for the request, as a BoundWitness, from the network Node
64
+ */
65
+ node(archive) {
66
+ return new XyoApiSimple({
67
+ ...this.config,
68
+ root: archive ? `${this.root}${archive}/` : this.root,
69
+ });
70
+ }
60
71
  /** @deprecated use huri(huri) instead */
61
72
  async get(huri, responseType) {
62
73
  const huriObj = typeof huri === 'string' ? new Huri(huri) : huri;
@@ -1 +1 @@
1
- {"version":3,"file":"Api.js","sourceRoot":"","sources":["../../../src/Archivist/Api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Api.js","sourceRoot":"","sources":["../../../src/Archivist/Api.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@xylabs/sdk-js": "^2.5.7",
13
- "@xyo-network/core": "^2.20.40",
13
+ "@xyo-network/core": "^2.20.43",
14
14
  "axios": "^0.27.2",
15
15
  "pako": "^2.0.4",
16
16
  "uuid": "^8.3.2"
@@ -67,6 +67,6 @@
67
67
  },
68
68
  "sideEffects": true,
69
69
  "types": "dist/esm/index.d.ts",
70
- "version": "2.20.40",
70
+ "version": "2.20.43",
71
71
  "packageManager": "yarn@3.1.1"
72
72
  }
@@ -1,4 +1,4 @@
1
- import { XyoAccount, XyoBoundWitness, XyoBoundWitnessBuilder } from '@xyo-network/core'
1
+ import { XyoAccount, XyoBoundWitness, XyoBoundWitnessBuilder, XyoPayload, XyoPayloadBuilder } from '@xyo-network/core'
2
2
  import { config } from 'dotenv'
3
3
 
4
4
  import { XyoApiConfig, XyoApiError } from '../models'
@@ -56,6 +56,31 @@ describe('postBoundWitnesses', () => {
56
56
  })
57
57
  })
58
58
 
59
+ describe('node', () => {
60
+ describe('with archive', () => {
61
+ it('calculates the correct path', () => {
62
+ const api = new XyoArchivistApi(configData)
63
+ const path = api.node().config.root
64
+ expect(path).toBe('/')
65
+ })
66
+ })
67
+ describe('without archive', () => {
68
+ it('calculates the correct path', () => {
69
+ const archive = 'foo'
70
+ const api = new XyoArchivistApi(configData)
71
+ const path = api.node(archive).config.root
72
+ expect(path).toBe(`/${archive}/`)
73
+ })
74
+ it('posts to the root', () => {
75
+ const api = new XyoArchivistApi(configData)
76
+ const p: XyoPayload<{ foo: string }> = new XyoPayloadBuilder<XyoPayload<{ foo: string }>>({ schema: 'foo' }).fields({ foo: 'bar' }).build()
77
+ const bw: XyoBoundWitness = new XyoBoundWitnessBuilder({ inlinePayloads: true }).payload(p).build()
78
+ const path = api.node('foo').post(bw)
79
+ expect(path).toBe('/foo/')
80
+ })
81
+ })
82
+ })
83
+
59
84
  describeSkipIfNoToken('XyoArchivistApi', () => {
60
85
  describe('get', () => {
61
86
  it('returns a new XyoArchivistApi', () => {
@@ -1,4 +1,4 @@
1
- import { Huri, XyoAddressValue, XyoDataLike, XyoPayload } from '@xyo-network/core'
1
+ import { Huri, XyoAddressValue, XyoBoundWitness, XyoDataLike, XyoPayload } from '@xyo-network/core'
2
2
 
3
3
  import { XyoApiBase } from '../Base'
4
4
  import { XyoApiResponseBody, XyoApiResponseTuple, XyoApiResponseTupleOrBody, XyoApiResponseType } from '../models'
@@ -70,6 +70,18 @@ export class XyoArchivistApi extends XyoApiBase {
70
70
  })
71
71
  }
72
72
 
73
+ /**
74
+ * Issues commands/queries as XyoBoundWitness wrapped XyoPayloads against a Node in the network
75
+ * @param archive Optional, the archive to issue the requests against
76
+ * @returns Confirmation for the request, as a BoundWitness, from the network Node
77
+ */
78
+ public node<TResponse extends XyoBoundWitness, TData extends XyoBoundWitness = TResponse>(archive?: string) {
79
+ return new XyoApiSimple<TResponse, TData>({
80
+ ...this.config,
81
+ root: archive ? `${this.root}${archive}/` : this.root,
82
+ })
83
+ }
84
+
73
85
  /** @deprecated use huri(huri) instead */
74
86
  public async get(huri: Huri | string): Promise<XyoApiResponseBody<XyoPayload>>
75
87
  /** @deprecated use huri(huri) instead */