@xyo-network/bridge 2.32.0-rc.4 → 2.32.0

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.
Files changed (57) hide show
  1. package/dist/cjs/AxiosJson.d.ts +10 -0
  2. package/dist/cjs/AxiosJson.d.ts.map +1 -0
  3. package/dist/cjs/AxiosJson.js +36 -0
  4. package/dist/cjs/AxiosJson.js.map +1 -0
  5. package/dist/cjs/Config.d.ts +2 -1
  6. package/dist/cjs/Config.d.ts.map +1 -1
  7. package/dist/cjs/PartialConfig.d.ts +4 -0
  8. package/dist/cjs/PartialConfig.d.ts.map +1 -0
  9. package/dist/cjs/{PartialBridgeConfig.js → PartialConfig.js} +1 -1
  10. package/dist/cjs/PartialConfig.js.map +1 -0
  11. package/dist/cjs/XyoBridge.js +1 -1
  12. package/dist/cjs/XyoBridge.js.map +1 -1
  13. package/dist/cjs/XyoHttpBridge.d.ts +7 -6
  14. package/dist/cjs/XyoHttpBridge.d.ts.map +1 -1
  15. package/dist/cjs/XyoHttpBridge.js +12 -31
  16. package/dist/cjs/XyoHttpBridge.js.map +1 -1
  17. package/dist/cjs/index.d.ts +1 -1
  18. package/dist/cjs/index.d.ts.map +1 -1
  19. package/dist/cjs/index.js +1 -1
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/docs.json +697 -748
  22. package/dist/esm/AxiosJson.d.ts +10 -0
  23. package/dist/esm/AxiosJson.d.ts.map +1 -0
  24. package/dist/esm/AxiosJson.js +39 -0
  25. package/dist/esm/AxiosJson.js.map +1 -0
  26. package/dist/esm/Config.d.ts +2 -1
  27. package/dist/esm/Config.d.ts.map +1 -1
  28. package/dist/esm/PartialConfig.d.ts +4 -0
  29. package/dist/esm/PartialConfig.d.ts.map +1 -0
  30. package/dist/esm/PartialConfig.js +2 -0
  31. package/dist/esm/PartialConfig.js.map +1 -0
  32. package/dist/esm/XyoBridge.js +1 -1
  33. package/dist/esm/XyoBridge.js.map +1 -1
  34. package/dist/esm/XyoHttpBridge.d.ts +7 -6
  35. package/dist/esm/XyoHttpBridge.d.ts.map +1 -1
  36. package/dist/esm/XyoHttpBridge.js +10 -34
  37. package/dist/esm/XyoHttpBridge.js.map +1 -1
  38. package/dist/esm/index.d.ts +1 -1
  39. package/dist/esm/index.d.ts.map +1 -1
  40. package/dist/esm/index.js +1 -1
  41. package/dist/esm/index.js.map +1 -1
  42. package/package.json +5 -6
  43. package/src/AxiosJson.ts +43 -0
  44. package/src/Config.ts +2 -1
  45. package/src/PartialConfig.ts +5 -0
  46. package/src/XyoBridge.ts +1 -1
  47. package/src/XyoHttpBridge.spec.ts +10 -9
  48. package/src/XyoHttpBridge.ts +14 -36
  49. package/src/index.ts +1 -1
  50. package/dist/cjs/PartialBridgeConfig.d.ts +0 -5
  51. package/dist/cjs/PartialBridgeConfig.d.ts.map +0 -1
  52. package/dist/cjs/PartialBridgeConfig.js.map +0 -1
  53. package/dist/esm/PartialBridgeConfig.d.ts +0 -5
  54. package/dist/esm/PartialBridgeConfig.d.ts.map +0 -1
  55. package/dist/esm/PartialBridgeConfig.js +0 -2
  56. package/dist/esm/PartialBridgeConfig.js.map +0 -1
  57. package/src/PartialBridgeConfig.ts +0 -5
@@ -0,0 +1,10 @@
1
+ import { Axios, AxiosRequestConfig } from 'axios';
2
+ export declare type AxiosJsonRequestConfig<D = any> = AxiosRequestConfig<D> & {
3
+ compressLength?: number;
4
+ };
5
+ export declare class AxiosJson extends Axios {
6
+ constructor(config?: AxiosJsonRequestConfig);
7
+ private static axiosHeaders;
8
+ private static axiosConfig;
9
+ }
10
+ //# sourceMappingURL=AxiosJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AxiosJson.d.ts","sourceRoot":"","sources":["../../src/AxiosJson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAuB,MAAM,OAAO,CAAA;AAItE,oBAAY,sBAAsB,CAAC,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjG,qBAAa,SAAU,SAAQ,KAAK;gBACtB,MAAM,CAAC,EAAE,sBAAsB;IAI3C,OAAO,CAAC,MAAM,CAAC,YAAY;IAQ3B,OAAO,CAAC,MAAM,CAAC,WAAW;CAuB3B"}
@@ -0,0 +1,39 @@
1
+ import { Axios } from 'axios';
2
+ import { gzip } from 'pako';
3
+ export class AxiosJson extends Axios {
4
+ constructor(config) {
5
+ super(AxiosJson.axiosConfig(config));
6
+ }
7
+ static axiosHeaders(headers) {
8
+ return {
9
+ Accept: 'application/json, text/plain, *.*',
10
+ 'Content-Type': 'application/json',
11
+ ...headers,
12
+ };
13
+ }
14
+ static axiosConfig({ compressLength, headers, ...config } = {}) {
15
+ return {
16
+ headers: this.axiosHeaders(headers),
17
+ transformRequest: (data, headers) => {
18
+ const json = JSON.stringify(data);
19
+ if (headers && data) {
20
+ if (json.length > (compressLength ?? 1024)) {
21
+ headers['Content-Encoding'] = 'gzip';
22
+ return gzip(JSON.stringify(data)).buffer;
23
+ }
24
+ }
25
+ return JSON.stringify(data);
26
+ },
27
+ transformResponse: (data) => {
28
+ try {
29
+ return JSON.parse(data);
30
+ }
31
+ catch (ex) {
32
+ return null;
33
+ }
34
+ },
35
+ ...config,
36
+ };
37
+ }
38
+ }
39
+ //# sourceMappingURL=AxiosJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AxiosJson.js","sourceRoot":"","sources":["../../src/AxiosJson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA2C,MAAM,OAAO,CAAA;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAY,MAA+B;QACzC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;IACtC,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,OAA6B;QACvD,OAAO;YACL,MAAM,EAAE,mCAAmC;YAC3C,cAAc,EAAE,kBAAkB;YAClC,GAAG,OAAO;SACX,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,KAA6B,EAAE;QAC5F,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YACnC,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBACjC,IAAI,OAAO,IAAI,IAAI,EAAE;oBACnB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE;wBAC1C,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAA;wBACpC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;qBACzC;iBACF;gBACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;YACD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,IAAI;oBACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;iBACxB;gBAAC,OAAO,EAAE,EAAE;oBACX,OAAO,IAAI,CAAA;iBACZ;YACH,CAAC;YACD,GAAG,MAAM;SACV,CAAA;IACH,CAAC;CACF"}
@@ -3,6 +3,7 @@ import { XyoPayload } from '@xyo-network/payload';
3
3
  export declare type XyoBridgeConfigSchema = 'network.xyo.bridge.config';
4
4
  export declare const XyoBridgeConfigSchema: XyoBridgeConfigSchema;
5
5
  export declare type XyoBridgeConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<{
6
- uri: string;
6
+ nodeUri: string;
7
+ targetAddress?: string;
7
8
  } & TConfig>;
8
9
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,qBAAqB,GAAG,2BAA2B,CAAA;AAC/D,eAAO,MAAM,qBAAqB,EAAE,qBAAmD,CAAA;AAEvF,oBAAY,eAAe,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,eAAe,CACpF;IACE,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,OAAO,CACZ,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,qBAAqB,GAAG,2BAA2B,CAAA;AAC/D,eAAO,MAAM,qBAAqB,EAAE,qBAAmD,CAAA;AAEvF,oBAAY,eAAe,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,eAAe,CACpF;IACE,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,OAAO,CACZ,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { PartialModuleConfig } from '@xyo-network/module';
2
+ import { XyoBridgeConfig } from './Config';
3
+ export declare type PartialBridgeConfig<T extends XyoBridgeConfig> = PartialModuleConfig<T>;
4
+ //# sourceMappingURL=PartialConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartialConfig.d.ts","sourceRoot":"","sources":["../../src/PartialConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,oBAAY,mBAAmB,CAAC,CAAC,SAAS,eAAe,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PartialConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartialConfig.js","sourceRoot":"","sources":["../../src/PartialConfig.ts"],"names":[],"mappings":""}
@@ -20,7 +20,7 @@ export class XyoBridge extends XyoModule {
20
20
  return super.query(query);
21
21
  }
22
22
  else {
23
- return super.query(query);
23
+ return this.forward(query);
24
24
  }
25
25
  }
26
26
  return [this.bindPayloads(payloads), payloads];
@@ -1 +1 @@
1
- {"version":3,"file":"XyoBridge.js","sourceRoot":"","sources":["../../src/XyoBridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAM/C,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAkB,MAAM,WAAW,CAAA;AAEvG,MAAM,OAAgB,SACpB,SAAQ,SAA0B;IAGzB,OAAO;QACd,OAAO,CAAC,2BAA2B,EAAE,8BAA8B,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1F,CAAC;IAOQ,KAAK,CAAC,KAAK,CAAC,KAAa;QAChC,MAAM,QAAQ,GAA0B,EAAE,CAAA;QAC1C,QAAQ,KAAK,CAAC,MAAM,EAAE;YACpB,KAAK,2BAA2B,CAAC,CAAC;gBAChC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBACpB,MAAK;aACN;YACD,KAAK,8BAA8B,CAAC,CAAC;gBACnC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;gBACvB,MAAK;aACN;YACD;gBACE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE;oBAC7D,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;iBAC1B;qBAAM;oBACL,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;iBAC1B;SACJ;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;CACF"}
1
+ {"version":3,"file":"XyoBridge.js","sourceRoot":"","sources":["../../src/XyoBridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAM/C,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAkB,MAAM,WAAW,CAAA;AAEvG,MAAM,OAAgB,SACpB,SAAQ,SAA0B;IAGzB,OAAO;QACd,OAAO,CAAC,2BAA2B,EAAE,8BAA8B,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1F,CAAC;IAOQ,KAAK,CAAC,KAAK,CAAC,KAAa;QAChC,MAAM,QAAQ,GAA0B,EAAE,CAAA;QAC1C,QAAQ,KAAK,CAAC,MAAM,EAAE;YACpB,KAAK,2BAA2B,CAAC,CAAC;gBAChC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBACpB,MAAK;aACN;YACD,KAAK,8BAA8B,CAAC,CAAC;gBACnC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;gBACvB,MAAK;aACN;YACD;gBACE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE;oBAC7D,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;iBAC1B;qBAAM;oBACL,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;iBAC3B;SACJ;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;CACF"}
@@ -2,24 +2,25 @@ import { XyoBoundWitness } from '@xyo-network/boundwitness';
2
2
  import { XyoModule } from '@xyo-network/module';
3
3
  import { XyoPayloads } from '@xyo-network/payload';
4
4
  import { Promisable } from '@xyo-network/promisable';
5
- import { AxiosRequestConfig, AxiosRequestHeaders } from 'axios';
5
+ import { AxiosRequestHeaders } from 'axios';
6
+ import { AxiosJsonRequestConfig } from './AxiosJson';
6
7
  import { BridgeModule } from './Bridge';
7
8
  import { XyoBridgeConfig } from './Config';
8
- import { PartialBridgeConfig } from './PartialBridgeConfig';
9
+ import { PartialBridgeConfig } from './PartialConfig';
9
10
  import { XyoBridgeQuery } from './Queries';
10
11
  export declare type XyoHttpBridgeConfigSchema = 'network.xyo.bridge.http.config';
11
12
  export declare const XyoHttpBridgeConfigSchema: XyoHttpBridgeConfigSchema;
12
13
  export declare type XyoHttpBridgeConfig = XyoBridgeConfig<{
13
14
  schema: XyoHttpBridgeConfigSchema;
14
15
  headers?: AxiosRequestHeaders;
15
- axios?: AxiosRequestConfig;
16
+ axios?: AxiosJsonRequestConfig;
16
17
  }>;
17
18
  export declare class XyoHttpBridge<TQuery extends XyoBridgeQuery = XyoBridgeQuery> extends XyoModule<XyoHttpBridgeConfig, TQuery> implements BridgeModule<TQuery> {
18
19
  private axios;
19
20
  constructor(config: PartialBridgeConfig<XyoHttpBridgeConfig>);
20
- get uri(): string;
21
- private get axiosHeaders();
22
- private get axiosConfig();
21
+ get nodeUri(): string;
22
+ get targetAddress(): string | undefined;
23
+ get targetAddressString(): string;
23
24
  connect(): Promisable<boolean>;
24
25
  disconnect(): Promisable<boolean>;
25
26
  forward(query: TQuery): Promise<[XyoBoundWitness, XyoPayloads]>;
@@ -1 +1 @@
1
- {"version":3,"file":"XyoHttpBridge.d.ts","sourceRoot":"","sources":["../../src/XyoHttpBridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAc,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAqB,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAA;AAGlF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAA+D,cAAc,EAAE,MAAM,WAAW,CAAA;AAEvG,oBAAY,yBAAyB,GAAG,gCAAgC,CAAA;AACxE,eAAO,MAAM,yBAAyB,EAAE,yBAA4D,CAAA;AAEpG,oBAAY,mBAAmB,GAAG,eAAe,CAAC;IAChD,MAAM,EAAE,yBAAyB,CAAA;IACjC,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,KAAK,CAAC,EAAE,kBAAkB,CAAA;CAC3B,CAAC,CAAA;AAEF,qBAAa,aAAa,CAAC,MAAM,SAAS,cAAc,GAAG,cAAc,CACvE,SAAQ,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAC7C,YAAW,YAAY,CAAC,MAAM,CAAC;IAE/B,OAAO,CAAC,KAAK,CAAA;gBAED,MAAM,EAAE,mBAAmB,CAAC,mBAAmB,CAAC;IAK5D,IAAW,GAAG,WAEb;IAED,OAAO,KAAK,YAAY,GAMvB;IAED,OAAO,KAAK,WAAW,GAqBtB;IAED,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IAI9B,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;IAI3B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IActD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;CAqB7E"}
1
+ {"version":3,"file":"XyoHttpBridge.d.ts","sourceRoot":"","sources":["../../src/XyoHttpBridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAc,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAc,mBAAmB,EAAE,MAAM,OAAO,CAAA;AAEvD,OAAO,EAAa,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAA+D,cAAc,EAAE,MAAM,WAAW,CAAA;AAEvG,oBAAY,yBAAyB,GAAG,gCAAgC,CAAA;AACxE,eAAO,MAAM,yBAAyB,EAAE,yBAA4D,CAAA;AAEpG,oBAAY,mBAAmB,GAAG,eAAe,CAAC;IAChD,MAAM,EAAE,yBAAyB,CAAA;IACjC,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,KAAK,CAAC,EAAE,sBAAsB,CAAA;CAC/B,CAAC,CAAA;AAEF,qBAAa,aAAa,CAAC,MAAM,SAAS,cAAc,GAAG,cAAc,CACvE,SAAQ,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAC7C,YAAW,YAAY,CAAC,MAAM,CAAC;IAE/B,OAAO,CAAC,KAAK,CAAW;gBAEZ,MAAM,EAAE,mBAAmB,CAAC,mBAAmB,CAAC;IAK5D,IAAW,OAAO,WAEjB;IAED,IAAW,aAAa,uBAEvB;IAED,IAAW,mBAAmB,WAE7B;IAED,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IAI9B,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;IAI3B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAetD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;CAqB7E"}
@@ -1,47 +1,22 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
2
  import { XyoModule } from '@xyo-network/module';
3
- import { Axios } from 'axios';
4
- import { gzip } from 'pako';
3
+ import { AxiosJson } from './AxiosJson';
5
4
  import { XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema } from './Queries';
6
5
  export const XyoHttpBridgeConfigSchema = 'network.xyo.bridge.http.config';
7
6
  export class XyoHttpBridge extends XyoModule {
8
7
  axios;
9
8
  constructor(config) {
10
9
  super({ schema: XyoHttpBridgeConfigSchema, ...config });
11
- this.axios = new Axios(this.axiosConfig);
10
+ this.axios = new AxiosJson(this.config?.axios);
12
11
  }
13
- get uri() {
14
- return assertEx(this.config?.uri, 'Missing URI');
12
+ get nodeUri() {
13
+ return assertEx(this.config?.nodeUri, 'Missing nodeUri');
15
14
  }
16
- get axiosHeaders() {
17
- return {
18
- ...this.config?.headers,
19
- Accept: 'application/json, text/plain, *.*',
20
- 'Content-Type': 'application/json',
21
- };
15
+ get targetAddress() {
16
+ return this.config?.targetAddress;
22
17
  }
23
- get axiosConfig() {
24
- return {
25
- headers: this.axiosHeaders,
26
- transformRequest: (data, headers) => {
27
- const json = JSON.stringify(data);
28
- if (headers && data) {
29
- if (json.length > (this.config?.axios ?? 1024)) {
30
- headers['Content-Encoding'] = 'gzip';
31
- return gzip(JSON.stringify(data)).buffer;
32
- }
33
- }
34
- return JSON.stringify(data);
35
- },
36
- transformResponse: (data) => {
37
- try {
38
- return JSON.parse(data);
39
- }
40
- catch (ex) {
41
- return null;
42
- }
43
- },
44
- };
18
+ get targetAddressString() {
19
+ return this.targetAddress ?? '';
45
20
  }
46
21
  connect() {
47
22
  return true;
@@ -51,7 +26,8 @@ export class XyoHttpBridge extends XyoModule {
51
26
  }
52
27
  async forward(query) {
53
28
  try {
54
- const result = await this.axios.post(this.uri, query);
29
+ const boundQuery = this.bindPayloads([query]);
30
+ const result = await this.axios.post(`${this.nodeUri}/${this.address}`, [boundQuery, ...[query]]);
55
31
  console.log(`Status: ${result.status}`);
56
32
  console.log(`Data: ${JSON.stringify(result.data, null, 2)}`);
57
33
  return result.data;
@@ -1 +1 @@
1
- {"version":3,"file":"XyoHttpBridge.js","sourceRoot":"","sources":["../../src/XyoHttpBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XyoHttpBridge.js","sourceRoot":"","sources":["../../src/XyoHttpBridge.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export * from './Config';
2
- export * from './PartialBridgeConfig';
2
+ export * from './PartialConfig';
3
3
  export * from './Queries';
4
4
  export * from './XyoBridge';
5
5
  export * from './XyoBridgeWrapper';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,uBAAuB,CAAA;AACrC,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA"}
package/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './Config';
2
- export * from './PartialBridgeConfig';
2
+ export * from './PartialConfig';
3
3
  export * from './Queries';
4
4
  export * from './XyoBridge';
5
5
  export * from './XyoBridgeWrapper';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,uBAAuB,CAAA;AACrC,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA"}
package/package.json CHANGED
@@ -11,10 +11,10 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.6.7",
14
- "@xyo-network/boundwitness": "^2.32.0-rc.4",
15
- "@xyo-network/module": "^2.32.0-rc.4",
16
- "@xyo-network/payload": "^2.32.0-rc.4",
17
- "@xyo-network/promisable": "^2.32.0-rc.4",
14
+ "@xyo-network/boundwitness": "^2.32.0",
15
+ "@xyo-network/module": "^2.32.0",
16
+ "@xyo-network/payload": "^2.32.0",
17
+ "@xyo-network/promisable": "^2.32.0",
18
18
  "pako": "^2.0.4",
19
19
  "tslib": "^2.4.0"
20
20
  },
@@ -54,6 +54,5 @@
54
54
  },
55
55
  "sideEffects": false,
56
56
  "types": "dist/esm/index.d.ts",
57
- "version": "2.32.0-rc.4",
58
- "stableVersion": "2.31.5"
57
+ "version": "2.32.0"
59
58
  }
@@ -0,0 +1,43 @@
1
+ import { Axios, AxiosRequestConfig, AxiosRequestHeaders } from 'axios'
2
+ import { gzip } from 'pako'
3
+
4
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
+ export type AxiosJsonRequestConfig<D = any> = AxiosRequestConfig<D> & { compressLength?: number }
6
+
7
+ export class AxiosJson extends Axios {
8
+ constructor(config?: AxiosJsonRequestConfig) {
9
+ super(AxiosJson.axiosConfig(config))
10
+ }
11
+
12
+ private static axiosHeaders(headers?: AxiosRequestHeaders): AxiosRequestHeaders {
13
+ return {
14
+ Accept: 'application/json, text/plain, *.*',
15
+ 'Content-Type': 'application/json',
16
+ ...headers,
17
+ }
18
+ }
19
+
20
+ private static axiosConfig({ compressLength, headers, ...config }: AxiosJsonRequestConfig = {}): AxiosRequestConfig {
21
+ return {
22
+ headers: this.axiosHeaders(headers),
23
+ transformRequest: (data, headers) => {
24
+ const json = JSON.stringify(data)
25
+ if (headers && data) {
26
+ if (json.length > (compressLength ?? 1024)) {
27
+ headers['Content-Encoding'] = 'gzip'
28
+ return gzip(JSON.stringify(data)).buffer
29
+ }
30
+ }
31
+ return JSON.stringify(data)
32
+ },
33
+ transformResponse: (data) => {
34
+ try {
35
+ return JSON.parse(data)
36
+ } catch (ex) {
37
+ return null
38
+ }
39
+ },
40
+ ...config,
41
+ }
42
+ }
43
+ }
package/src/Config.ts CHANGED
@@ -6,6 +6,7 @@ export const XyoBridgeConfigSchema: XyoBridgeConfigSchema = 'network.xyo.bridge.
6
6
 
7
7
  export type XyoBridgeConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<
8
8
  {
9
- uri: string
9
+ nodeUri: string
10
+ targetAddress?: string
10
11
  } & TConfig
11
12
  >
@@ -0,0 +1,5 @@
1
+ import { PartialModuleConfig } from '@xyo-network/module'
2
+
3
+ import { XyoBridgeConfig } from './Config'
4
+
5
+ export type PartialBridgeConfig<T extends XyoBridgeConfig> = PartialModuleConfig<T>
package/src/XyoBridge.ts CHANGED
@@ -35,7 +35,7 @@ export abstract class XyoBridge<TConfig extends XyoBridgeConfig = XyoBridgeConfi
35
35
  if (super.queries().find((schema) => schema === query.schema)) {
36
36
  return super.query(query)
37
37
  } else {
38
- return super.query(query)
38
+ return this.forward(query)
39
39
  }
40
40
  }
41
41
  return [this.bindPayloads(payloads), payloads]
@@ -1,20 +1,21 @@
1
1
  import { XyoArchivistWrapper } from '@xyo-network/archivist'
2
+ import { uuid } from '@xyo-network/core'
2
3
  import { XyoPayloadWrapper } from '@xyo-network/payload'
3
- import { XyoIdPayload, XyoIdSchema } from '@xyo-network/payload-plugins'
4
4
 
5
5
  import { XyoHttpBridge } from './XyoHttpBridge'
6
6
 
7
7
  test('XyoHttpBridge', async () => {
8
- const bridge = new XyoHttpBridge({ uri: `${process.env.API_DOMAIN}` ?? 'https://beta.api.archivist.xyo.network' })
8
+ const nodeUri = `${process.env.API_DOMAIN}` ?? 'https://beta.api.archivist.xyo.network'
9
+ const targetAddress = 'temp'
10
+ const bridge = new XyoHttpBridge({ nodeUri, targetAddress })
9
11
  const wrapper = new XyoArchivistWrapper(bridge)
10
- const idPayload: XyoIdPayload = {
11
- salt: 'test',
12
- schema: XyoIdSchema,
12
+ const debugPayload = {
13
+ nonce: uuid(),
14
+ schema: 'network.xyo.debug',
13
15
  }
14
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
15
- const result = await wrapper.insert([idPayload])
16
+ const result = await wrapper.insert([debugPayload])
17
+ console.log(result)
16
18
  //expect(result).toBeDefined()
17
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
18
- const result2 = await wrapper.get([new XyoPayloadWrapper(idPayload).hash])
19
+ await wrapper.get([new XyoPayloadWrapper(debugPayload).hash])
19
20
  //expect(result2).toBeDefined()
20
21
  })
@@ -3,12 +3,12 @@ import { XyoBoundWitness } from '@xyo-network/boundwitness'
3
3
  import { XyoModule } from '@xyo-network/module'
4
4
  import { XyoPayload, XyoPayloads } from '@xyo-network/payload'
5
5
  import { Promisable } from '@xyo-network/promisable'
6
- import { Axios, AxiosError, AxiosRequestConfig, AxiosRequestHeaders } from 'axios'
7
- import { gzip } from 'pako'
6
+ import { AxiosError, AxiosRequestHeaders } from 'axios'
8
7
 
8
+ import { AxiosJson, AxiosJsonRequestConfig } from './AxiosJson'
9
9
  import { BridgeModule } from './Bridge'
10
10
  import { XyoBridgeConfig } from './Config'
11
- import { PartialBridgeConfig } from './PartialBridgeConfig'
11
+ import { PartialBridgeConfig } from './PartialConfig'
12
12
  import { XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema, XyoBridgeQuery } from './Queries'
13
13
 
14
14
  export type XyoHttpBridgeConfigSchema = 'network.xyo.bridge.http.config'
@@ -17,53 +17,30 @@ export const XyoHttpBridgeConfigSchema: XyoHttpBridgeConfigSchema = 'network.xyo
17
17
  export type XyoHttpBridgeConfig = XyoBridgeConfig<{
18
18
  schema: XyoHttpBridgeConfigSchema
19
19
  headers?: AxiosRequestHeaders
20
- axios?: AxiosRequestConfig
20
+ axios?: AxiosJsonRequestConfig
21
21
  }>
22
22
 
23
23
  export class XyoHttpBridge<TQuery extends XyoBridgeQuery = XyoBridgeQuery>
24
24
  extends XyoModule<XyoHttpBridgeConfig, TQuery>
25
25
  implements BridgeModule<TQuery>
26
26
  {
27
- private axios
27
+ private axios: AxiosJson
28
28
 
29
29
  constructor(config: PartialBridgeConfig<XyoHttpBridgeConfig>) {
30
30
  super({ schema: XyoHttpBridgeConfigSchema, ...config })
31
- this.axios = new Axios(this.axiosConfig)
31
+ this.axios = new AxiosJson(this.config?.axios)
32
32
  }
33
33
 
34
- public get uri() {
35
- return assertEx(this.config?.uri, 'Missing URI')
34
+ public get nodeUri() {
35
+ return assertEx(this.config?.nodeUri, 'Missing nodeUri')
36
36
  }
37
37
 
38
- private get axiosHeaders(): AxiosRequestHeaders {
39
- return {
40
- ...this.config?.headers,
41
- Accept: 'application/json, text/plain, *.*',
42
- 'Content-Type': 'application/json',
43
- }
38
+ public get targetAddress() {
39
+ return this.config?.targetAddress
44
40
  }
45
41
 
46
- private get axiosConfig(): AxiosRequestConfig {
47
- return {
48
- headers: this.axiosHeaders,
49
- transformRequest: (data, headers) => {
50
- const json = JSON.stringify(data)
51
- if (headers && data) {
52
- if (json.length > (this.config?.axios ?? 1024)) {
53
- headers['Content-Encoding'] = 'gzip'
54
- return gzip(JSON.stringify(data)).buffer
55
- }
56
- }
57
- return JSON.stringify(data)
58
- },
59
- transformResponse: (data) => {
60
- try {
61
- return JSON.parse(data)
62
- } catch (ex) {
63
- return null
64
- }
65
- },
66
- }
42
+ public get targetAddressString() {
43
+ return this.targetAddress ?? ''
67
44
  }
68
45
 
69
46
  connect(): Promisable<boolean> {
@@ -76,7 +53,8 @@ export class XyoHttpBridge<TQuery extends XyoBridgeQuery = XyoBridgeQuery>
76
53
 
77
54
  async forward(query: TQuery): Promise<[XyoBoundWitness, XyoPayloads]> {
78
55
  try {
79
- const result = await this.axios.post<[XyoBoundWitness, XyoPayloads]>(this.uri, query)
56
+ const boundQuery = this.bindPayloads([query])
57
+ const result = await this.axios.post<[XyoBoundWitness, XyoPayloads]>(`${this.nodeUri}/${this.address}`, [boundQuery, ...[query]])
80
58
  console.log(`Status: ${result.status}`)
81
59
  console.log(`Data: ${JSON.stringify(result.data, null, 2)}`)
82
60
  return result.data
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './Config'
2
- export * from './PartialBridgeConfig'
2
+ export * from './PartialConfig'
3
3
  export * from './Queries'
4
4
  export * from './XyoBridge'
5
5
  export * from './XyoBridgeWrapper'
@@ -1,5 +0,0 @@
1
- import { XyoBridgeConfig } from './Config';
2
- export declare type PartialBridgeConfig<T extends XyoBridgeConfig> = Omit<T, 'schema'> & {
3
- schema?: T['schema'];
4
- };
5
- //# sourceMappingURL=PartialBridgeConfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PartialBridgeConfig.d.ts","sourceRoot":"","sources":["../../src/PartialBridgeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,oBAAY,mBAAmB,CAAC,CAAC,SAAS,eAAe,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG;IAC/E,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;CACrB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PartialBridgeConfig.js","sourceRoot":"","sources":["../../src/PartialBridgeConfig.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import { XyoBridgeConfig } from './Config';
2
- export declare type PartialBridgeConfig<T extends XyoBridgeConfig> = Omit<T, 'schema'> & {
3
- schema?: T['schema'];
4
- };
5
- //# sourceMappingURL=PartialBridgeConfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PartialBridgeConfig.d.ts","sourceRoot":"","sources":["../../src/PartialBridgeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,oBAAY,mBAAmB,CAAC,CAAC,SAAS,eAAe,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG;IAC/E,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;CACrB,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=PartialBridgeConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PartialBridgeConfig.js","sourceRoot":"","sources":["../../src/PartialBridgeConfig.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import { XyoBridgeConfig } from './Config'
2
-
3
- export type PartialBridgeConfig<T extends XyoBridgeConfig> = Omit<T, 'schema'> & {
4
- schema?: T['schema']
5
- }