@xyo-network/bridge 0.42.0 → 2.32.0-rc.3
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/LICENSE +165 -0
- package/README.md +67 -8
- package/dist/cjs/Bridge.d.ts +10 -0
- package/dist/cjs/Bridge.d.ts.map +1 -0
- package/dist/{@types/index.js → cjs/Bridge.js} +1 -1
- package/dist/cjs/Bridge.js.map +1 -0
- package/dist/cjs/Config.d.ts +8 -0
- package/dist/cjs/Config.d.ts.map +1 -0
- package/dist/cjs/Config.js +5 -0
- package/dist/cjs/Config.js.map +1 -0
- package/dist/cjs/PartialBridgeConfig.d.ts +5 -0
- package/dist/cjs/PartialBridgeConfig.d.ts.map +1 -0
- package/dist/cjs/PartialBridgeConfig.js +3 -0
- package/dist/cjs/PartialBridgeConfig.js.map +1 -0
- package/dist/cjs/Queries/Connect.d.ts +8 -0
- package/dist/cjs/Queries/Connect.d.ts.map +1 -0
- package/dist/cjs/Queries/Connect.js +5 -0
- package/dist/cjs/Queries/Connect.js.map +1 -0
- package/dist/cjs/Queries/Disconnect.d.ts +8 -0
- package/dist/cjs/Queries/Disconnect.d.ts.map +1 -0
- package/dist/cjs/Queries/Disconnect.js +5 -0
- package/dist/cjs/Queries/Disconnect.js.map +1 -0
- package/dist/cjs/Queries/index.d.ts +8 -0
- package/dist/cjs/Queries/index.d.ts.map +1 -0
- package/dist/cjs/Queries/index.js +6 -0
- package/dist/cjs/Queries/index.js.map +1 -0
- package/dist/cjs/XyoBridge.d.ts +15 -0
- package/dist/cjs/XyoBridge.d.ts.map +1 -0
- package/dist/cjs/XyoBridge.js +40 -0
- package/dist/cjs/XyoBridge.js.map +1 -0
- package/dist/cjs/XyoBridgeWrapper.d.ts +7 -0
- package/dist/cjs/XyoBridgeWrapper.d.ts.map +1 -0
- package/dist/cjs/XyoBridgeWrapper.js +24 -0
- package/dist/cjs/XyoBridgeWrapper.js.map +1 -0
- package/dist/cjs/XyoHttpBridge.d.ts +28 -0
- package/dist/cjs/XyoHttpBridge.d.ts.map +1 -0
- package/dist/cjs/XyoHttpBridge.js +100 -0
- package/dist/cjs/XyoHttpBridge.js.map +1 -0
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +10 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/docs.json +5945 -0
- package/dist/esm/Bridge.d.ts +10 -0
- package/dist/esm/Bridge.d.ts.map +1 -0
- package/dist/esm/Bridge.js +2 -0
- package/dist/esm/Bridge.js.map +1 -0
- package/dist/esm/Config.d.ts +8 -0
- package/dist/esm/Config.d.ts.map +1 -0
- package/dist/esm/Config.js +2 -0
- package/dist/esm/Config.js.map +1 -0
- package/dist/esm/PartialBridgeConfig.d.ts +5 -0
- package/dist/esm/PartialBridgeConfig.d.ts.map +1 -0
- package/dist/esm/PartialBridgeConfig.js +2 -0
- package/dist/esm/PartialBridgeConfig.js.map +1 -0
- package/dist/esm/Queries/Connect.d.ts +8 -0
- package/dist/esm/Queries/Connect.d.ts.map +1 -0
- package/dist/esm/Queries/Connect.js +2 -0
- package/dist/esm/Queries/Connect.js.map +1 -0
- package/dist/esm/Queries/Disconnect.d.ts +8 -0
- package/dist/esm/Queries/Disconnect.d.ts.map +1 -0
- package/dist/esm/Queries/Disconnect.js +2 -0
- package/dist/esm/Queries/Disconnect.js.map +1 -0
- package/dist/esm/Queries/index.d.ts +8 -0
- package/dist/esm/Queries/index.d.ts.map +1 -0
- package/dist/esm/Queries/index.js +3 -0
- package/dist/esm/Queries/index.js.map +1 -0
- package/dist/esm/XyoBridge.d.ts +15 -0
- package/dist/esm/XyoBridge.d.ts.map +1 -0
- package/dist/esm/XyoBridge.js +29 -0
- package/dist/esm/XyoBridge.js.map +1 -0
- package/dist/esm/XyoBridgeWrapper.d.ts +7 -0
- package/dist/esm/XyoBridgeWrapper.d.ts.map +1 -0
- package/dist/esm/XyoBridgeWrapper.js +15 -0
- package/dist/esm/XyoBridgeWrapper.js.map +1 -0
- package/dist/esm/XyoHttpBridge.d.ts +28 -0
- package/dist/esm/XyoHttpBridge.d.ts.map +1 -0
- package/dist/esm/XyoHttpBridge.js +89 -0
- package/dist/esm/XyoHttpBridge.js.map +1 -0
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/package.json +53 -42
- package/src/Bridge.ts +11 -0
- package/src/Config.ts +11 -0
- package/src/PartialBridgeConfig.ts +5 -0
- package/src/Queries/Connect.ts +9 -0
- package/src/Queries/Disconnect.ts +9 -0
- package/src/Queries/index.ts +11 -0
- package/src/XyoBridge.ts +43 -0
- package/src/XyoBridgeWrapper.ts +18 -0
- package/src/XyoHttpBridge.spec.ts +20 -0
- package/src/XyoHttpBridge.ts +112 -0
- package/src/index.ts +6 -2
- package/dist/@types/index.d.ts +0 -15
- package/dist/@types/index.d.ts.map +0 -1
- package/dist/@types/index.js.map +0 -1
- package/dist/app/index.d.ts +0 -1
- package/dist/app/index.d.ts.map +0 -1
- package/dist/app/index.js +0 -48
- package/dist/app/index.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -5
- package/dist/index.js.map +0 -1
- package/dist/xyo-bridge-bound-witness-success-listener.d.ts +0 -20
- package/dist/xyo-bridge-bound-witness-success-listener.d.ts.map +0 -1
- package/dist/xyo-bridge-bound-witness-success-listener.js +0 -100
- package/dist/xyo-bridge-bound-witness-success-listener.js.map +0 -1
- package/dist/xyo-bridge-procedure-catalogue.d.ts +0 -9
- package/dist/xyo-bridge-procedure-catalogue.d.ts.map +0 -1
- package/dist/xyo-bridge-procedure-catalogue.js +0 -28
- package/dist/xyo-bridge-procedure-catalogue.js.map +0 -1
- package/dist/xyo-bridge.d.ts +0 -31
- package/dist/xyo-bridge.d.ts.map +0 -1
- package/dist/xyo-bridge.js +0 -130
- package/dist/xyo-bridge.js.map +0 -1
- package/src/@types/index.ts +0 -16
- package/src/app/index.ts +0 -55
- package/src/xyo-bridge-bound-witness-success-listener.ts +0 -108
- package/src/xyo-bridge-procedure-catalogue.ts +0 -33
- package/src/xyo-bridge.ts +0 -184
- package/tsconfig.json +0 -31
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Module } from '@xyo-network/module';
|
|
2
|
+
import { Promisable } from '@xyo-network/promisable';
|
|
3
|
+
import { XyoBridgeQuery } from './Queries';
|
|
4
|
+
export interface Bridge {
|
|
5
|
+
connect: () => Promisable<boolean>;
|
|
6
|
+
disconnect: () => Promisable<boolean>;
|
|
7
|
+
}
|
|
8
|
+
export interface BridgeModule<TQuery extends XyoBridgeQuery = XyoBridgeQuery> extends Bridge, Module<TQuery> {
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=Bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bridge.d.ts","sourceRoot":"","sources":["../../src/Bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE1C,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;IAClC,UAAU,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,YAAY,CAAC,MAAM,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bridge.js","sourceRoot":"","sources":["../../src/Bridge.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { XyoModuleConfig } from '@xyo-network/module';
|
|
2
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
3
|
+
export declare type XyoBridgeConfigSchema = 'network.xyo.bridge.config';
|
|
4
|
+
export declare const XyoBridgeConfigSchema: XyoBridgeConfigSchema;
|
|
5
|
+
export declare type XyoBridgeConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<{
|
|
6
|
+
uri: string;
|
|
7
|
+
} & TConfig>;
|
|
8
|
+
//# sourceMappingURL=Config.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,qBAAqB,GAA0B,2BAA2B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PartialBridgeConfig.js","sourceRoot":"","sources":["../../src/PartialBridgeConfig.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { XyoQuery } from '@xyo-network/module';
|
|
2
|
+
export declare type XyoBridgeConnectQuerySchema = 'network.xyo.query.bridge.connect';
|
|
3
|
+
export declare const XyoBridgeConnectQuerySchema: XyoBridgeConnectQuerySchema;
|
|
4
|
+
export declare type XyoBridgeConnectQuery = XyoQuery<{
|
|
5
|
+
schema: XyoBridgeConnectQuerySchema;
|
|
6
|
+
uri?: string;
|
|
7
|
+
}>;
|
|
8
|
+
//# sourceMappingURL=Connect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Connect.d.ts","sourceRoot":"","sources":["../../../src/Queries/Connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,oBAAY,2BAA2B,GAAG,kCAAkC,CAAA;AAC5E,eAAO,MAAM,2BAA2B,EAAE,2BAAgE,CAAA;AAE1G,oBAAY,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,MAAM,EAAE,2BAA2B,CAAA;IACnC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Connect.js","sourceRoot":"","sources":["../../../src/Queries/Connect.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,2BAA2B,GAAgC,kCAAkC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { XyoQuery } from '@xyo-network/module';
|
|
2
|
+
export declare type XyoBridgeDisconnectQuerySchema = 'network.xyo.query.bridge.disconnect';
|
|
3
|
+
export declare const XyoBridgeDisconnectQuerySchema: XyoBridgeDisconnectQuerySchema;
|
|
4
|
+
export declare type XyoBridgeDisconnectQuery = XyoQuery<{
|
|
5
|
+
schema: XyoBridgeDisconnectQuerySchema;
|
|
6
|
+
uri?: string;
|
|
7
|
+
}>;
|
|
8
|
+
//# sourceMappingURL=Disconnect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Disconnect.d.ts","sourceRoot":"","sources":["../../../src/Queries/Disconnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,oBAAY,8BAA8B,GAAG,qCAAqC,CAAA;AAClF,eAAO,MAAM,8BAA8B,EAAE,8BAAsE,CAAA;AAEnH,oBAAY,wBAAwB,GAAG,QAAQ,CAAC;IAC9C,MAAM,EAAE,8BAA8B,CAAA;IACtC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Disconnect.js","sourceRoot":"","sources":["../../../src/Queries/Disconnect.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,8BAA8B,GAAmC,qCAAqC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { XyoModuleQuery, XyoModuleQuerySchema } from '@xyo-network/module';
|
|
2
|
+
import { XyoBridgeConnectQuery, XyoBridgeConnectQuerySchema } from './Connect';
|
|
3
|
+
import { XyoBridgeDisconnectQuery, XyoBridgeDisconnectQuerySchema } from './Disconnect';
|
|
4
|
+
export * from './Connect';
|
|
5
|
+
export * from './Disconnect';
|
|
6
|
+
export declare type XyoBridgeQuery = XyoBridgeConnectQuery | XyoBridgeDisconnectQuery | XyoModuleQuery;
|
|
7
|
+
export declare type XyoBridgeQuerySchema = XyoBridgeConnectQuerySchema | XyoBridgeDisconnectQuerySchema | XyoModuleQuerySchema;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1E,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAA;AAC9E,OAAO,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAA;AAEvF,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAE5B,oBAAY,cAAc,GAAG,qBAAqB,GAAG,wBAAwB,GAAG,cAAc,CAAA;AAE9F,oBAAY,oBAAoB,GAAG,2BAA2B,GAAG,8BAA8B,GAAG,oBAAoB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAKA,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness';
|
|
2
|
+
import { XyoModule } from '@xyo-network/module';
|
|
3
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
4
|
+
import { Promisable } from '@xyo-network/promisable';
|
|
5
|
+
import { BridgeModule } from './Bridge';
|
|
6
|
+
import { XyoBridgeConfig } from './Config';
|
|
7
|
+
import { XyoBridgeQuery } from './Queries';
|
|
8
|
+
export declare abstract class XyoBridge<TConfig extends XyoBridgeConfig = XyoBridgeConfig, TQuery extends XyoBridgeQuery = XyoBridgeQuery> extends XyoModule<TConfig, TQuery> implements BridgeModule<TQuery> {
|
|
9
|
+
queries(): ("network.xyo.query.bridge.connect" | "network.xyo.query.bridge.disconnect" | TQuery["schema"])[];
|
|
10
|
+
abstract connect(): Promisable<boolean>;
|
|
11
|
+
abstract disconnect(): Promisable<boolean>;
|
|
12
|
+
abstract forward(query: TQuery): Promise<[XyoBoundWitness, (XyoPayload | null)[]]>;
|
|
13
|
+
query(query: TQuery): Promise<[XyoBoundWitness, (XyoPayload | null)[]]>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=XyoBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoBridge.d.ts","sourceRoot":"","sources":["../../src/XyoBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAA+D,cAAc,EAAE,MAAM,WAAW,CAAA;AAEvG,8BAAsB,SAAS,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe,EAAE,MAAM,SAAS,cAAc,GAAG,cAAc,CAC/H,SAAQ,SAAS,CAAC,OAAO,EAAE,MAAM,CACjC,YAAW,YAAY,CAAC,MAAM,CAAC;IAEtB,OAAO;IAIhB,QAAQ,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IACvC,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;IAE1C,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,eAAe,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAEnE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,eAAe,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;CAoBvF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { XyoModule } from '@xyo-network/module';
|
|
2
|
+
import { XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema } from './Queries';
|
|
3
|
+
export class XyoBridge extends XyoModule {
|
|
4
|
+
queries() {
|
|
5
|
+
return [XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema, ...super.queries()];
|
|
6
|
+
}
|
|
7
|
+
async query(query) {
|
|
8
|
+
const payloads = [];
|
|
9
|
+
switch (query.schema) {
|
|
10
|
+
case XyoBridgeConnectQuerySchema: {
|
|
11
|
+
await this.connect();
|
|
12
|
+
break;
|
|
13
|
+
}
|
|
14
|
+
case XyoBridgeDisconnectQuerySchema: {
|
|
15
|
+
await this.disconnect();
|
|
16
|
+
break;
|
|
17
|
+
}
|
|
18
|
+
default:
|
|
19
|
+
if (super.queries().find((schema) => schema === query.schema)) {
|
|
20
|
+
return super.query(query);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return super.query(query);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return [this.bindPayloads(payloads), payloads];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=XyoBridge.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { XyoModuleWrapper } from '@xyo-network/module';
|
|
2
|
+
import { Bridge } from './Bridge';
|
|
3
|
+
export declare class XyoBridgeWrapper extends XyoModuleWrapper implements Bridge {
|
|
4
|
+
connect(uri?: string): Promise<boolean>;
|
|
5
|
+
disconnect(uri?: string): Promise<boolean>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=XyoBridgeWrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoBridgeWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoBridgeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAGjC,qBAAa,gBAAiB,SAAQ,gBAAiB,YAAW,MAAM;IAChE,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAKjD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { XyoModuleWrapper } from '@xyo-network/module';
|
|
2
|
+
import { XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema } from './Queries';
|
|
3
|
+
export class XyoBridgeWrapper extends XyoModuleWrapper {
|
|
4
|
+
async connect(uri) {
|
|
5
|
+
const query = { schema: XyoBridgeConnectQuerySchema, uri };
|
|
6
|
+
await this.module.query(query);
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
async disconnect(uri) {
|
|
10
|
+
const query = { schema: XyoBridgeDisconnectQuerySchema, uri };
|
|
11
|
+
await this.module.query(query);
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=XyoBridgeWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoBridgeWrapper.js","sourceRoot":"","sources":["../../src/XyoBridgeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGtD,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAkB,MAAM,WAAW,CAAA;AAEvG,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IACpD,KAAK,CAAC,OAAO,CAAC,GAAY;QACxB,MAAM,KAAK,GAAmB,EAAE,MAAM,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAA;QAC1E,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAY;QAC3B,MAAM,KAAK,GAAmB,EAAE,MAAM,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAA;QAC7E,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness';
|
|
2
|
+
import { XyoModule } from '@xyo-network/module';
|
|
3
|
+
import { XyoPayloads } from '@xyo-network/payload';
|
|
4
|
+
import { Promisable } from '@xyo-network/promisable';
|
|
5
|
+
import { AxiosRequestConfig, AxiosRequestHeaders } from 'axios';
|
|
6
|
+
import { BridgeModule } from './Bridge';
|
|
7
|
+
import { XyoBridgeConfig } from './Config';
|
|
8
|
+
import { PartialBridgeConfig } from './PartialBridgeConfig';
|
|
9
|
+
import { XyoBridgeQuery } from './Queries';
|
|
10
|
+
export declare type XyoHttpBridgeConfigSchema = 'network.xyo.bridge.http.config';
|
|
11
|
+
export declare const XyoHttpBridgeConfigSchema: XyoHttpBridgeConfigSchema;
|
|
12
|
+
export declare type XyoHttpBridgeConfig = XyoBridgeConfig<{
|
|
13
|
+
schema: XyoHttpBridgeConfigSchema;
|
|
14
|
+
headers?: AxiosRequestHeaders;
|
|
15
|
+
axios?: AxiosRequestConfig;
|
|
16
|
+
}>;
|
|
17
|
+
export declare class XyoHttpBridge<TQuery extends XyoBridgeQuery = XyoBridgeQuery> extends XyoModule<XyoHttpBridgeConfig, TQuery> implements BridgeModule<TQuery> {
|
|
18
|
+
private axios;
|
|
19
|
+
constructor(config: PartialBridgeConfig<XyoHttpBridgeConfig>);
|
|
20
|
+
get uri(): string;
|
|
21
|
+
private get axiosHeaders();
|
|
22
|
+
private get axiosConfig();
|
|
23
|
+
connect(): Promisable<boolean>;
|
|
24
|
+
disconnect(): Promisable<boolean>;
|
|
25
|
+
forward(query: TQuery): Promise<[XyoBoundWitness, XyoPayloads]>;
|
|
26
|
+
query(query: TQuery): Promise<[XyoBoundWitness, XyoPayloads]>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=XyoHttpBridge.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert';
|
|
2
|
+
import { XyoModule } from '@xyo-network/module';
|
|
3
|
+
import { Axios } from 'axios';
|
|
4
|
+
import { gzip } from 'pako';
|
|
5
|
+
import { XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema } from './Queries';
|
|
6
|
+
export const XyoHttpBridgeConfigSchema = 'network.xyo.bridge.http.config';
|
|
7
|
+
export class XyoHttpBridge extends XyoModule {
|
|
8
|
+
axios;
|
|
9
|
+
constructor(config) {
|
|
10
|
+
super({ schema: XyoHttpBridgeConfigSchema, ...config });
|
|
11
|
+
this.axios = new Axios(this.axiosConfig);
|
|
12
|
+
}
|
|
13
|
+
get uri() {
|
|
14
|
+
return assertEx(this.config?.uri, 'Missing URI');
|
|
15
|
+
}
|
|
16
|
+
get axiosHeaders() {
|
|
17
|
+
return {
|
|
18
|
+
...this.config?.headers,
|
|
19
|
+
Accept: 'application/json, text/plain, *.*',
|
|
20
|
+
'Content-Type': 'application/json',
|
|
21
|
+
};
|
|
22
|
+
}
|
|
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
|
+
};
|
|
45
|
+
}
|
|
46
|
+
connect() {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
disconnect() {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
async forward(query) {
|
|
53
|
+
try {
|
|
54
|
+
const result = await this.axios.post(this.uri, query);
|
|
55
|
+
console.log(`Status: ${result.status}`);
|
|
56
|
+
console.log(`Data: ${JSON.stringify(result.data, null, 2)}`);
|
|
57
|
+
return result.data;
|
|
58
|
+
}
|
|
59
|
+
catch (ex) {
|
|
60
|
+
const error = ex;
|
|
61
|
+
console.log(`Error Status: ${error.status}`);
|
|
62
|
+
console.log(`Error Cause: ${JSON.stringify(error.cause, null, 2)}`);
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async query(query) {
|
|
67
|
+
console.log(`Query: ${query.schema}`);
|
|
68
|
+
const payloads = [];
|
|
69
|
+
switch (query.schema) {
|
|
70
|
+
case XyoBridgeConnectQuerySchema: {
|
|
71
|
+
await this.connect();
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
case XyoBridgeDisconnectQuerySchema: {
|
|
75
|
+
await this.disconnect();
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
default:
|
|
79
|
+
if (super.queries().find((schema) => schema === query.schema)) {
|
|
80
|
+
return super.query(query);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
return this.forward(query);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return [this.bindPayloads(payloads), payloads];
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=XyoHttpBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoHttpBridge.js","sourceRoot":"","sources":["../../src/XyoHttpBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +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"}
|
package/package.json
CHANGED
|
@@ -1,47 +1,58 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/bridge",
|
|
3
|
-
"
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"
|
|
3
|
+
"author": {
|
|
4
|
+
"email": "support@xyo.network",
|
|
5
|
+
"name": "XYO Development Team",
|
|
6
|
+
"url": "https://xyo.network"
|
|
7
|
+
},
|
|
8
|
+
"bugs": {
|
|
9
|
+
"email": "support@xyo.network",
|
|
10
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
|
+
},
|
|
9
12
|
"dependencies": {
|
|
10
|
-
"@xyo-network/
|
|
11
|
-
"@xyo-network/
|
|
12
|
-
"@xyo-network/
|
|
13
|
-
"@xyo-network/
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"
|
|
13
|
+
"@xyo-network/boundwitness": "^2.32.0-rc.3",
|
|
14
|
+
"@xyo-network/module": "^2.32.0-rc.3",
|
|
15
|
+
"@xyo-network/payload": "^2.32.0-rc.3",
|
|
16
|
+
"@xyo-network/promisable": "^2.32.0-rc.3",
|
|
17
|
+
"pako": "^2.0.4",
|
|
18
|
+
"tslib": "^2.4.0"
|
|
19
|
+
},
|
|
20
|
+
"peerDependencies": {
|
|
21
|
+
"axios": "^0.27.2"
|
|
22
|
+
},
|
|
23
|
+
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
24
|
+
"browser": "dist/esm/index.js",
|
|
25
|
+
"docs": "dist/docs.json",
|
|
26
|
+
"exports": {
|
|
27
|
+
".": {
|
|
28
|
+
"node": {
|
|
29
|
+
"import": "./dist/esm/index.js",
|
|
30
|
+
"require": "./dist/cjs/index.js"
|
|
31
|
+
},
|
|
32
|
+
"browser": {
|
|
33
|
+
"import": "./dist/esm/index.js",
|
|
34
|
+
"require": "./dist/cjs/index.js"
|
|
35
|
+
},
|
|
36
|
+
"default": "./dist/esm/index.js"
|
|
37
|
+
},
|
|
38
|
+
"./dist/docs.json": {
|
|
39
|
+
"default": "./dist/docs.json"
|
|
40
|
+
},
|
|
41
|
+
"./package.json": "./package.json"
|
|
42
|
+
},
|
|
43
|
+
"main": "dist/cjs/index.js",
|
|
44
|
+
"module": "dist/esm/index.js",
|
|
45
|
+
"homepage": "https://xyo.network",
|
|
46
|
+
"license": "LGPL-3.0-only",
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "public"
|
|
36
49
|
},
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"jest": "^23.6.0",
|
|
41
|
-
"ts-jest": "^23.10.5",
|
|
42
|
-
"ts-node": "^7.0.1",
|
|
43
|
-
"tslint": "^5.12.1",
|
|
44
|
-
"typescript": "^3.2.2"
|
|
50
|
+
"repository": {
|
|
51
|
+
"type": "git",
|
|
52
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
45
53
|
},
|
|
46
|
-
"
|
|
47
|
-
|
|
54
|
+
"sideEffects": false,
|
|
55
|
+
"types": "dist/esm/index.d.ts",
|
|
56
|
+
"version": "2.32.0-rc.3",
|
|
57
|
+
"stableVersion": "2.31.5"
|
|
58
|
+
}
|
package/src/Bridge.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Module } from '@xyo-network/module'
|
|
2
|
+
import { Promisable } from '@xyo-network/promisable'
|
|
3
|
+
|
|
4
|
+
import { XyoBridgeQuery } from './Queries'
|
|
5
|
+
|
|
6
|
+
export interface Bridge {
|
|
7
|
+
connect: () => Promisable<boolean>
|
|
8
|
+
disconnect: () => Promisable<boolean>
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface BridgeModule<TQuery extends XyoBridgeQuery = XyoBridgeQuery> extends Bridge, Module<TQuery> {}
|
package/src/Config.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XyoModuleConfig } from '@xyo-network/module'
|
|
2
|
+
import { XyoPayload } from '@xyo-network/payload'
|
|
3
|
+
|
|
4
|
+
export type XyoBridgeConfigSchema = 'network.xyo.bridge.config'
|
|
5
|
+
export const XyoBridgeConfigSchema: XyoBridgeConfigSchema = 'network.xyo.bridge.config'
|
|
6
|
+
|
|
7
|
+
export type XyoBridgeConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<
|
|
8
|
+
{
|
|
9
|
+
uri: string
|
|
10
|
+
} & TConfig
|
|
11
|
+
>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { XyoQuery } from '@xyo-network/module'
|
|
2
|
+
|
|
3
|
+
export type XyoBridgeConnectQuerySchema = 'network.xyo.query.bridge.connect'
|
|
4
|
+
export const XyoBridgeConnectQuerySchema: XyoBridgeConnectQuerySchema = 'network.xyo.query.bridge.connect'
|
|
5
|
+
|
|
6
|
+
export type XyoBridgeConnectQuery = XyoQuery<{
|
|
7
|
+
schema: XyoBridgeConnectQuerySchema
|
|
8
|
+
uri?: string
|
|
9
|
+
}>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { XyoQuery } from '@xyo-network/module'
|
|
2
|
+
|
|
3
|
+
export type XyoBridgeDisconnectQuerySchema = 'network.xyo.query.bridge.disconnect'
|
|
4
|
+
export const XyoBridgeDisconnectQuerySchema: XyoBridgeDisconnectQuerySchema = 'network.xyo.query.bridge.disconnect'
|
|
5
|
+
|
|
6
|
+
export type XyoBridgeDisconnectQuery = XyoQuery<{
|
|
7
|
+
schema: XyoBridgeDisconnectQuerySchema
|
|
8
|
+
uri?: string
|
|
9
|
+
}>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XyoModuleQuery, XyoModuleQuerySchema } from '@xyo-network/module'
|
|
2
|
+
|
|
3
|
+
import { XyoBridgeConnectQuery, XyoBridgeConnectQuerySchema } from './Connect'
|
|
4
|
+
import { XyoBridgeDisconnectQuery, XyoBridgeDisconnectQuerySchema } from './Disconnect'
|
|
5
|
+
|
|
6
|
+
export * from './Connect'
|
|
7
|
+
export * from './Disconnect'
|
|
8
|
+
|
|
9
|
+
export type XyoBridgeQuery = XyoBridgeConnectQuery | XyoBridgeDisconnectQuery | XyoModuleQuery
|
|
10
|
+
|
|
11
|
+
export type XyoBridgeQuerySchema = XyoBridgeConnectQuerySchema | XyoBridgeDisconnectQuerySchema | XyoModuleQuerySchema
|
package/src/XyoBridge.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness'
|
|
2
|
+
import { XyoModule } from '@xyo-network/module'
|
|
3
|
+
import { XyoPayload } from '@xyo-network/payload'
|
|
4
|
+
import { Promisable } from '@xyo-network/promisable'
|
|
5
|
+
|
|
6
|
+
import { BridgeModule } from './Bridge'
|
|
7
|
+
import { XyoBridgeConfig } from './Config'
|
|
8
|
+
import { XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema, XyoBridgeQuery } from './Queries'
|
|
9
|
+
|
|
10
|
+
export abstract class XyoBridge<TConfig extends XyoBridgeConfig = XyoBridgeConfig, TQuery extends XyoBridgeQuery = XyoBridgeQuery>
|
|
11
|
+
extends XyoModule<TConfig, TQuery>
|
|
12
|
+
implements BridgeModule<TQuery>
|
|
13
|
+
{
|
|
14
|
+
override queries() {
|
|
15
|
+
return [XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema, ...super.queries()]
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
abstract connect(): Promisable<boolean>
|
|
19
|
+
abstract disconnect(): Promisable<boolean>
|
|
20
|
+
|
|
21
|
+
abstract forward(query: TQuery): Promise<[XyoBoundWitness, (XyoPayload | null)[]]>
|
|
22
|
+
|
|
23
|
+
override async query(query: TQuery): Promise<[XyoBoundWitness, (XyoPayload | null)[]]> {
|
|
24
|
+
const payloads: (XyoPayload | null)[] = []
|
|
25
|
+
switch (query.schema) {
|
|
26
|
+
case XyoBridgeConnectQuerySchema: {
|
|
27
|
+
await this.connect()
|
|
28
|
+
break
|
|
29
|
+
}
|
|
30
|
+
case XyoBridgeDisconnectQuerySchema: {
|
|
31
|
+
await this.disconnect()
|
|
32
|
+
break
|
|
33
|
+
}
|
|
34
|
+
default:
|
|
35
|
+
if (super.queries().find((schema) => schema === query.schema)) {
|
|
36
|
+
return super.query(query)
|
|
37
|
+
} else {
|
|
38
|
+
return super.query(query)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return [this.bindPayloads(payloads), payloads]
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { XyoModuleWrapper } from '@xyo-network/module'
|
|
2
|
+
|
|
3
|
+
import { Bridge } from './Bridge'
|
|
4
|
+
import { XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema, XyoBridgeQuery } from './Queries'
|
|
5
|
+
|
|
6
|
+
export class XyoBridgeWrapper extends XyoModuleWrapper implements Bridge {
|
|
7
|
+
async connect(uri?: string): Promise<boolean> {
|
|
8
|
+
const query: XyoBridgeQuery = { schema: XyoBridgeConnectQuerySchema, uri }
|
|
9
|
+
await this.module.query(query)
|
|
10
|
+
return true
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
async disconnect(uri?: string): Promise<boolean> {
|
|
14
|
+
const query: XyoBridgeQuery = { schema: XyoBridgeDisconnectQuerySchema, uri }
|
|
15
|
+
await this.module.query(query)
|
|
16
|
+
return true
|
|
17
|
+
}
|
|
18
|
+
}
|