@xyo-network/bridge 2.46.4 → 2.47.1
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/BridgeWrapper.js +38 -3
- package/dist/cjs/BridgeWrapper.js.map +1 -1
- package/dist/cjs/index.js +2 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +15754 -15154
- package/dist/esm/BridgeWrapper.js +27 -2
- package/dist/esm/BridgeWrapper.js.map +1 -1
- package/dist/esm/index.js +2 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/types/BridgeWrapper.d.ts +30 -3
- package/dist/types/BridgeWrapper.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -6
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +6 -13
- package/src/BridgeWrapper.ts +52 -4
- package/src/index.ts +2 -6
- package/dist/cjs/AbstractBridge.js +0 -49
- package/dist/cjs/AbstractBridge.js.map +0 -1
- package/dist/cjs/Bridge.js +0 -3
- package/dist/cjs/Bridge.js.map +0 -1
- package/dist/cjs/Config.js +0 -5
- package/dist/cjs/Config.js.map +0 -1
- package/dist/cjs/HttpBridge.js +0 -127
- package/dist/cjs/HttpBridge.js.map +0 -1
- package/dist/cjs/HttpBridgeConfig.js +0 -5
- package/dist/cjs/HttpBridgeConfig.js.map +0 -1
- package/dist/cjs/PartialConfig.js +0 -3
- package/dist/cjs/PartialConfig.js.map +0 -1
- package/dist/cjs/Queries/Connect.js +0 -5
- package/dist/cjs/Queries/Connect.js.map +0 -1
- package/dist/cjs/Queries/Disconnect.js +0 -5
- package/dist/cjs/Queries/Disconnect.js.map +0 -1
- package/dist/cjs/Queries/index.js +0 -6
- package/dist/cjs/Queries/index.js.map +0 -1
- package/dist/cjs/RemoteModuleResolver.js +0 -95
- package/dist/cjs/RemoteModuleResolver.js.map +0 -1
- package/dist/esm/AbstractBridge.js +0 -38
- package/dist/esm/AbstractBridge.js.map +0 -1
- package/dist/esm/Bridge.js +0 -2
- package/dist/esm/Bridge.js.map +0 -1
- package/dist/esm/Config.js +0 -2
- package/dist/esm/Config.js.map +0 -1
- package/dist/esm/HttpBridge.js +0 -100
- package/dist/esm/HttpBridge.js.map +0 -1
- package/dist/esm/HttpBridgeConfig.js +0 -2
- package/dist/esm/HttpBridgeConfig.js.map +0 -1
- package/dist/esm/PartialConfig.js +0 -2
- package/dist/esm/PartialConfig.js.map +0 -1
- package/dist/esm/Queries/Connect.js +0 -2
- package/dist/esm/Queries/Connect.js.map +0 -1
- package/dist/esm/Queries/Disconnect.js +0 -2
- package/dist/esm/Queries/Disconnect.js.map +0 -1
- package/dist/esm/Queries/index.js +0 -3
- package/dist/esm/Queries/index.js.map +0 -1
- package/dist/esm/RemoteModuleResolver.js +0 -80
- package/dist/esm/RemoteModuleResolver.js.map +0 -1
- package/dist/types/AbstractBridge.d.ts +0 -13
- package/dist/types/AbstractBridge.d.ts.map +0 -1
- package/dist/types/Bridge.d.ts +0 -9
- package/dist/types/Bridge.d.ts.map +0 -1
- package/dist/types/Config.d.ts +0 -6
- package/dist/types/Config.d.ts.map +0 -1
- package/dist/types/HttpBridge.d.ts +0 -36
- package/dist/types/HttpBridge.d.ts.map +0 -1
- package/dist/types/HttpBridgeConfig.d.ts +0 -10
- package/dist/types/HttpBridgeConfig.d.ts.map +0 -1
- package/dist/types/PartialConfig.d.ts +0 -4
- package/dist/types/PartialConfig.d.ts.map +0 -1
- package/dist/types/Queries/Connect.d.ts +0 -8
- package/dist/types/Queries/Connect.d.ts.map +0 -1
- package/dist/types/Queries/Disconnect.d.ts +0 -8
- package/dist/types/Queries/Disconnect.d.ts.map +0 -1
- package/dist/types/Queries/index.d.ts +0 -8
- package/dist/types/Queries/index.d.ts.map +0 -1
- package/dist/types/RemoteModuleResolver.d.ts +0 -21
- package/dist/types/RemoteModuleResolver.d.ts.map +0 -1
- package/src/AbstractBridge.ts +0 -47
- package/src/Bridge.ts +0 -9
- package/src/Config.ts +0 -7
- package/src/HttpBridge.ts +0 -132
- package/src/HttpBridgeConfig.ts +0 -14
- package/src/PartialConfig.ts +0 -5
- package/src/Queries/Connect.ts +0 -9
- package/src/Queries/Disconnect.ts +0 -9
- package/src/Queries/index.ts +0 -10
- package/src/RemoteModuleResolver.ts +0 -103
- package/src/spec/HttpBridge.spec.ts +0 -20
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Account } from '@xyo-network/account';
|
|
2
|
-
import { AbstractModule, QueryBoundWitnessWrapper, XyoErrorBuilder } from '@xyo-network/module';
|
|
3
|
-
import { XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema } from './Queries';
|
|
4
|
-
export class AbstractBridge extends AbstractModule {
|
|
5
|
-
get queries() {
|
|
6
|
-
return [XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema, ...super.queries];
|
|
7
|
-
}
|
|
8
|
-
async query(query, payloads) {
|
|
9
|
-
const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
10
|
-
const typedQuery = wrapper.query.payload;
|
|
11
|
-
const queryAccount = new Account();
|
|
12
|
-
try {
|
|
13
|
-
switch (typedQuery.schema) {
|
|
14
|
-
case XyoBridgeConnectQuerySchema: {
|
|
15
|
-
await this.connect();
|
|
16
|
-
break;
|
|
17
|
-
}
|
|
18
|
-
case XyoBridgeDisconnectQuerySchema: {
|
|
19
|
-
await this.disconnect();
|
|
20
|
-
break;
|
|
21
|
-
}
|
|
22
|
-
default:
|
|
23
|
-
if (super.queries.includes(typedQuery.schema)) {
|
|
24
|
-
return super.query(query, payloads);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
return this.forward(typedQuery);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
catch (ex) {
|
|
32
|
-
const error = ex;
|
|
33
|
-
return this.bindResult([new XyoErrorBuilder([wrapper.hash], error.message).build()], queryAccount);
|
|
34
|
-
}
|
|
35
|
-
return this.bindResult([], queryAccount);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=AbstractBridge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractBridge.js","sourceRoot":"","sources":["../../src/AbstractBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAqB,wBAAwB,EAAE,eAAe,EAAkC,MAAM,qBAAqB,CAAA;AAMlJ,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAkB,MAAM,WAAW,CAAA;AAEvG,MAAM,OAAgB,cAA4D,SAAQ,cAAuB;IAC/G,IAAa,OAAO;QAClB,OAAO,CAAC,2BAA2B,EAAE,8BAA8B,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;IACxF,CAAC;IAEQ,KAAK,CAAC,KAAK,CAAwD,KAAQ,EAAE,QAAuB;QAC3G,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAiB,KAAK,EAAE,QAAQ,CAAC,CAAA;QACpF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACxC,MAAM,YAAY,GAAG,IAAI,OAAO,EAAE,CAAA;QAClC,IAAI;YACF,QAAQ,UAAU,CAAC,MAAM,EAAE;gBACzB,KAAK,2BAA2B,CAAC,CAAC;oBAChC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;oBACpB,MAAK;iBACN;gBACD,KAAK,8BAA8B,CAAC,CAAC;oBACnC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;oBACvB,MAAK;iBACN;gBACD;oBACE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;wBAC7C,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;qBACpC;yBAAM;wBACL,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;qBAChC;aACJ;SACF;QAAC,OAAO,EAAE,EAAE;YACX,MAAM,KAAK,GAAG,EAAW,CAAA;YACzB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,CAAA;SACnG;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;IAC1C,CAAC;CAMF"}
|
package/dist/esm/Bridge.js
DELETED
package/dist/esm/Bridge.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Bridge.js","sourceRoot":"","sources":["../../src/Bridge.ts"],"names":[],"mappings":""}
|
package/dist/esm/Config.js
DELETED
package/dist/esm/Config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,qBAAqB,GAA0B,2BAA2B,CAAA"}
|
package/dist/esm/HttpBridge.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/assert';
|
|
2
|
-
import { Account } from '@xyo-network/account';
|
|
3
|
-
import { AxiosJson } from '@xyo-network/axios';
|
|
4
|
-
import { AbstractModule, ModuleDiscoverQuerySchema, ModuleWrapper, QueryBoundWitnessWrapper, XyoErrorBuilder, } from '@xyo-network/module';
|
|
5
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
6
|
-
import { QuerySchema } from '@xyo-network/query-payload-plugin';
|
|
7
|
-
import compact from 'lodash/compact';
|
|
8
|
-
import { XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema } from './Queries';
|
|
9
|
-
import { RemoteModuleResolver } from './RemoteModuleResolver';
|
|
10
|
-
export class HttpBridge extends AbstractModule {
|
|
11
|
-
axios;
|
|
12
|
-
remoteQueries = [];
|
|
13
|
-
remoteResolver;
|
|
14
|
-
constructor(params) {
|
|
15
|
-
super(params);
|
|
16
|
-
this.axios = params.axios ?? new AxiosJson();
|
|
17
|
-
this.remoteResolver = new RemoteModuleResolver(this);
|
|
18
|
-
}
|
|
19
|
-
get nodeUri() {
|
|
20
|
-
return assertEx(this.config?.nodeUri, 'Missing nodeUri');
|
|
21
|
-
}
|
|
22
|
-
get queries() {
|
|
23
|
-
return [...super.queries, ...this.remoteQueries];
|
|
24
|
-
}
|
|
25
|
-
get targetAddress() {
|
|
26
|
-
return this.config?.targetAddress;
|
|
27
|
-
}
|
|
28
|
-
static async create(params) {
|
|
29
|
-
const result = (await super.create(params));
|
|
30
|
-
const moduleWrapper = ModuleWrapper.wrap(result);
|
|
31
|
-
const discover = await moduleWrapper.discover();
|
|
32
|
-
result.remoteQueries = compact(discover.map((payload) => {
|
|
33
|
-
if (payload.schema === QuerySchema) {
|
|
34
|
-
const schemaPayload = payload;
|
|
35
|
-
return schemaPayload.query;
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
}));
|
|
41
|
-
return result;
|
|
42
|
-
}
|
|
43
|
-
connect() {
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
disconnect() {
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
|
-
async discover() {
|
|
50
|
-
const queryPayload = PayloadWrapper.parse({ schema: ModuleDiscoverQuerySchema });
|
|
51
|
-
return (await this.forward(queryPayload))[1];
|
|
52
|
-
}
|
|
53
|
-
async query(query, payloads) {
|
|
54
|
-
const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
55
|
-
const typedQuery = wrapper.query.payload;
|
|
56
|
-
const queryAccount = new Account();
|
|
57
|
-
const resultPayloads = [];
|
|
58
|
-
try {
|
|
59
|
-
switch (typedQuery.schema) {
|
|
60
|
-
case XyoBridgeConnectQuerySchema: {
|
|
61
|
-
await this.connect();
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
case XyoBridgeDisconnectQuerySchema: {
|
|
65
|
-
await this.disconnect();
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
default:
|
|
69
|
-
if (super.queries.find((schema) => schema === typedQuery.schema)) {
|
|
70
|
-
return await super.query(query, payloads);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
return await this.forward(query, payloads);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
catch (ex) {
|
|
78
|
-
const error = ex;
|
|
79
|
-
resultPayloads.push(new XyoErrorBuilder([wrapper.hash], error.message).build());
|
|
80
|
-
}
|
|
81
|
-
return await this.bindResult(resultPayloads, queryAccount);
|
|
82
|
-
}
|
|
83
|
-
async resolve(filter) {
|
|
84
|
-
return [...(await super.resolve(filter)), ...(await this.remoteResolver.resolve(filter))];
|
|
85
|
-
}
|
|
86
|
-
async forward(query, payloads = []) {
|
|
87
|
-
try {
|
|
88
|
-
const boundQuery = await this.bindQuery(query, payloads);
|
|
89
|
-
const result = await this.axios.post(`${this.nodeUri}/address/${this.targetAddress}`, boundQuery);
|
|
90
|
-
return result.data.data;
|
|
91
|
-
}
|
|
92
|
-
catch (ex) {
|
|
93
|
-
const error = ex;
|
|
94
|
-
this.logger?.error(`Error Status: ${error.status}`);
|
|
95
|
-
this.logger?.error(`Error Cause: ${JSON.stringify(error.cause, null, 2)}`);
|
|
96
|
-
throw error;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=HttpBridge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HttpBridge.js","sourceRoot":"","sources":["../../src/HttpBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HttpBridgeConfig.js","sourceRoot":"","sources":["../../src/HttpBridgeConfig.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,sBAAsB,GAA2B,gCAAgC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PartialConfig.js","sourceRoot":"","sources":["../../src/PartialConfig.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Connect.js","sourceRoot":"","sources":["../../../src/Queries/Connect.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,2BAA2B,GAAgC,kCAAkC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Disconnect.js","sourceRoot":"","sources":["../../../src/Queries/Disconnect.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,8BAA8B,GAAmC,qCAAqC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAKA,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/assert';
|
|
2
|
-
import { AddressSchema } from '@xyo-network/address-payload-plugin';
|
|
3
|
-
import { CompositeModuleResolver, ModuleWrapper } from '@xyo-network/module';
|
|
4
|
-
import compact from 'lodash/compact';
|
|
5
|
-
import flatten from 'lodash/flatten';
|
|
6
|
-
import { HttpBridge } from './HttpBridge';
|
|
7
|
-
import { HttpBridgeConfigSchema } from './HttpBridgeConfig';
|
|
8
|
-
export class RemoteModuleResolver extends CompositeModuleResolver {
|
|
9
|
-
bridge;
|
|
10
|
-
resolvedModules = {};
|
|
11
|
-
// TODO: Allow optional ctor param for supplying address for nested Nodes
|
|
12
|
-
// protected readonly address?: string,
|
|
13
|
-
constructor(bridge) {
|
|
14
|
-
super();
|
|
15
|
-
this.bridge = bridge;
|
|
16
|
-
}
|
|
17
|
-
get isModuleResolver() {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
add(_module, _name) {
|
|
21
|
-
throw new Error('Method not implemented.');
|
|
22
|
-
}
|
|
23
|
-
remove(_address) {
|
|
24
|
-
throw new Error('Method not implemented.');
|
|
25
|
-
}
|
|
26
|
-
async resolve(filter) {
|
|
27
|
-
const mods = await Promise.all(flatten(await this.resolveRemoteModules(filter)));
|
|
28
|
-
return this.filterLocalModules(mods, filter);
|
|
29
|
-
}
|
|
30
|
-
filterLocalModules(mods, filter) {
|
|
31
|
-
// TODO: Handle filter?.query
|
|
32
|
-
if (filter?.query)
|
|
33
|
-
throw new Error('Filtering by query not yet implemented by this resolver');
|
|
34
|
-
const config = filter?.config;
|
|
35
|
-
const filtered = config?.length ? mods.filter((mod) => config.includes(mod.config.schema)) : mods;
|
|
36
|
-
return filtered;
|
|
37
|
-
}
|
|
38
|
-
async getRemoteAddresses() {
|
|
39
|
-
const nodeWrapper = assertEx(ModuleWrapper.wrap(this.bridge), 'nodeUri can not be wrapped');
|
|
40
|
-
const discover = await nodeWrapper.discover();
|
|
41
|
-
return compact(discover.map((payload) => {
|
|
42
|
-
if (payload.schema === AddressSchema) {
|
|
43
|
-
const schemaPayload = payload;
|
|
44
|
-
return schemaPayload.address;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
}));
|
|
50
|
-
}
|
|
51
|
-
async resolveByAddress(targetAddress) {
|
|
52
|
-
const cached = this.resolvedModules[targetAddress];
|
|
53
|
-
if (cached)
|
|
54
|
-
return cached;
|
|
55
|
-
const mod = await HttpBridge.create({
|
|
56
|
-
config: { nodeUri: this.bridge.nodeUri, schema: HttpBridgeConfigSchema, targetAddress },
|
|
57
|
-
});
|
|
58
|
-
this.resolvedModules[targetAddress] = mod;
|
|
59
|
-
return mod;
|
|
60
|
-
}
|
|
61
|
-
async resolveByName(name) {
|
|
62
|
-
const cached = this.resolvedModules[name];
|
|
63
|
-
if (cached)
|
|
64
|
-
return cached;
|
|
65
|
-
const mod = await HttpBridge.create({
|
|
66
|
-
config: { name, nodeUri: this.bridge.nodeUri, schema: HttpBridgeConfigSchema },
|
|
67
|
-
});
|
|
68
|
-
this.resolvedModules[name] = mod;
|
|
69
|
-
this.resolvedModules[mod.address] = mod;
|
|
70
|
-
return mod;
|
|
71
|
-
}
|
|
72
|
-
async resolveRemoteModules(filter) {
|
|
73
|
-
const addresses = filter ? filter?.address : await this.getRemoteAddresses();
|
|
74
|
-
const names = filter?.name;
|
|
75
|
-
const byAddress = await Promise.all(addresses?.map((address) => this.resolveByAddress(address)) ?? []);
|
|
76
|
-
const byName = await Promise.all(names?.map((name) => this.resolveByName(name)) ?? []);
|
|
77
|
-
return [...byAddress, ...byName];
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=RemoteModuleResolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteModuleResolver.js","sourceRoot":"","sources":["../../src/RemoteModuleResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { AbstractModule, ModuleQueryResult, XyoQuery, XyoQueryBoundWitness } from '@xyo-network/module';
|
|
2
|
-
import { XyoPayload } from '@xyo-network/payload-model';
|
|
3
|
-
import { Promisable } from '@xyo-network/promise';
|
|
4
|
-
import { BridgeModule } from './Bridge';
|
|
5
|
-
import { BridgeConfig } from './Config';
|
|
6
|
-
export declare abstract class AbstractBridge<TConfig extends BridgeConfig = BridgeConfig> extends AbstractModule<TConfig> implements BridgeModule {
|
|
7
|
-
get queries(): string[];
|
|
8
|
-
query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult>;
|
|
9
|
-
abstract connect(): Promisable<boolean>;
|
|
10
|
-
abstract disconnect(): Promisable<boolean>;
|
|
11
|
-
abstract forward(query: XyoQuery): Promise<ModuleQueryResult>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=AbstractBridge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractBridge.d.ts","sourceRoot":"","sources":["../../src/AbstractBridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAA6C,QAAQ,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAClJ,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGvC,8BAAsB,cAAc,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAE,YAAW,YAAY;IACvI,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAEc,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4B1I,QAAQ,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IACvC,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;IAE1C,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAC9D"}
|
package/dist/types/Bridge.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Module } from '@xyo-network/module-model';
|
|
2
|
-
import { Promisable } from '@xyo-network/promise';
|
|
3
|
-
export interface Bridge {
|
|
4
|
-
connect: () => Promisable<boolean>;
|
|
5
|
-
disconnect: () => Promisable<boolean>;
|
|
6
|
-
}
|
|
7
|
-
export interface BridgeModule extends Bridge, Module {
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=Bridge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Bridge.d.ts","sourceRoot":"","sources":["../../src/Bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,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,YAAa,SAAQ,MAAM,EAAE,MAAM;CAAG"}
|
package/dist/types/Config.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ModuleConfig } from '@xyo-network/module';
|
|
2
|
-
import { XyoPayload } from '@xyo-network/payload-model';
|
|
3
|
-
export type XyoBridgeConfigSchema = 'network.xyo.bridge.config';
|
|
4
|
-
export declare const XyoBridgeConfigSchema: XyoBridgeConfigSchema;
|
|
5
|
-
export type BridgeConfig<TConfig extends XyoPayload = XyoPayload> = ModuleConfig<TConfig>;
|
|
6
|
-
//# sourceMappingURL=Config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,MAAM,MAAM,qBAAqB,GAAG,2BAA2B,CAAA;AAC/D,eAAO,MAAM,qBAAqB,EAAE,qBAAmD,CAAA;AAEvF,MAAM,MAAM,YAAY,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,YAAY,CAAC,OAAO,CAAC,CAAA"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { AxiosJson } from '@xyo-network/axios';
|
|
2
|
-
import { AbstractModule, ModuleFilter, ModuleParams, ModuleQueryResult, XyoQuery, XyoQueryBoundWitness } from '@xyo-network/module';
|
|
3
|
-
import { XyoPayload } from '@xyo-network/payload-model';
|
|
4
|
-
import { Promisable } from '@xyo-network/promise';
|
|
5
|
-
import { BridgeModule } from './Bridge';
|
|
6
|
-
import { HttpBridgeConfig } from './HttpBridgeConfig';
|
|
7
|
-
export interface XyoHttpBridgeParams<TConfig extends HttpBridgeConfig = HttpBridgeConfig> extends ModuleParams<TConfig> {
|
|
8
|
-
axios?: AxiosJson;
|
|
9
|
-
}
|
|
10
|
-
export declare class HttpBridge<TConfig extends HttpBridgeConfig = HttpBridgeConfig> extends AbstractModule<TConfig> implements BridgeModule {
|
|
11
|
-
private axios;
|
|
12
|
-
private remoteQueries;
|
|
13
|
-
private remoteResolver;
|
|
14
|
-
protected constructor(params: XyoHttpBridgeParams<TConfig>);
|
|
15
|
-
get nodeUri(): string;
|
|
16
|
-
get queries(): string[];
|
|
17
|
-
get targetAddress(): string | undefined;
|
|
18
|
-
static create(params: XyoHttpBridgeParams): Promise<HttpBridge>;
|
|
19
|
-
connect(): Promisable<boolean>;
|
|
20
|
-
disconnect(): Promisable<boolean>;
|
|
21
|
-
discover(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
22
|
-
schema: string;
|
|
23
|
-
})[]>;
|
|
24
|
-
query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult>;
|
|
25
|
-
resolve(filter?: ModuleFilter): Promise<import("@xyo-network/module").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
26
|
-
name?: string | undefined;
|
|
27
|
-
security?: {
|
|
28
|
-
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
29
|
-
disallowed?: Record<string, string[]> | undefined;
|
|
30
|
-
} | undefined;
|
|
31
|
-
} & {
|
|
32
|
-
schema: string;
|
|
33
|
-
}>[]>;
|
|
34
|
-
protected forward(query: XyoQuery, payloads?: XyoPayload[]): Promise<ModuleQueryResult>;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=HttpBridge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HttpBridge.d.ts","sourceRoot":"","sources":["../../src/HttpBridge.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EACL,cAAc,EAGd,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAKjB,QAAQ,EACR,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAIrD,MAAM,WAAW,mBAAmB,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,YAAY,CAAC,OAAO,CAAC;IACrH,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAE,YAAW,YAAY;IAClI,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,cAAc,CAAgB;IAEtC,SAAS,aAAa,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC;IAM1D,IAAW,OAAO,WAEjB;IAED,IAAoB,OAAO,aAE1B;IAED,IAAW,aAAa,uBAEvB;WAEqB,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAiB9E,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IAI9B,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;IAIlB,QAAQ;;;IAKR,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6B3H,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY;;;;;;;;;cAI5B,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAE,UAAU,EAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAYlG"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { XyoPayload } from '@xyo-network/payload-model';
|
|
2
|
-
import { BridgeConfig } from './Config';
|
|
3
|
-
export type HttpBridgeConfigSchema = 'network.xyo.bridge.http.config';
|
|
4
|
-
export declare const HttpBridgeConfigSchema: HttpBridgeConfigSchema;
|
|
5
|
-
export type HttpBridgeConfig<TConfig extends XyoPayload = XyoPayload> = BridgeConfig<{
|
|
6
|
-
nodeUri: string;
|
|
7
|
-
schema: HttpBridgeConfigSchema;
|
|
8
|
-
targetAddress?: string;
|
|
9
|
-
} & TConfig>;
|
|
10
|
-
//# sourceMappingURL=HttpBridgeConfig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HttpBridgeConfig.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,sBAAsB,GAAG,gCAAgC,CAAA;AACrE,eAAO,MAAM,sBAAsB,EAAE,sBAAyD,CAAA;AAE9F,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,YAAY,CAClF;IACE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,sBAAsB,CAAA;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,OAAO,CACZ,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
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,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,YAAY,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { XyoQuery } from '@xyo-network/module-model';
|
|
2
|
-
export type XyoBridgeConnectQuerySchema = 'network.xyo.query.bridge.connect';
|
|
3
|
-
export declare const XyoBridgeConnectQuerySchema: XyoBridgeConnectQuerySchema;
|
|
4
|
-
export type XyoBridgeConnectQuery = XyoQuery<{
|
|
5
|
-
schema: XyoBridgeConnectQuerySchema;
|
|
6
|
-
uri?: string;
|
|
7
|
-
}>;
|
|
8
|
-
//# sourceMappingURL=Connect.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Connect.d.ts","sourceRoot":"","sources":["../../../src/Queries/Connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEpD,MAAM,MAAM,2BAA2B,GAAG,kCAAkC,CAAA;AAC5E,eAAO,MAAM,2BAA2B,EAAE,2BAAgE,CAAA;AAE1G,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,MAAM,EAAE,2BAA2B,CAAA;IACnC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAC,CAAA"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { XyoQuery } from '@xyo-network/module-model';
|
|
2
|
-
export type XyoBridgeDisconnectQuerySchema = 'network.xyo.query.bridge.disconnect';
|
|
3
|
-
export declare const XyoBridgeDisconnectQuerySchema: XyoBridgeDisconnectQuerySchema;
|
|
4
|
-
export type XyoBridgeDisconnectQuery = XyoQuery<{
|
|
5
|
-
schema: XyoBridgeDisconnectQuerySchema;
|
|
6
|
-
uri?: string;
|
|
7
|
-
}>;
|
|
8
|
-
//# sourceMappingURL=Disconnect.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Disconnect.d.ts","sourceRoot":"","sources":["../../../src/Queries/Disconnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEpD,MAAM,MAAM,8BAA8B,GAAG,qCAAqC,CAAA;AAClF,eAAO,MAAM,8BAA8B,EAAE,8BAAsE,CAAA;AAEnH,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC9C,MAAM,EAAE,8BAA8B,CAAA;IACtC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAC,CAAA"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ModuleQuery, XyoQuery } from '@xyo-network/module-model';
|
|
2
|
-
import { XyoBridgeConnectQuery } from './Connect';
|
|
3
|
-
import { XyoBridgeDisconnectQuery } from './Disconnect';
|
|
4
|
-
export * from './Connect';
|
|
5
|
-
export * from './Disconnect';
|
|
6
|
-
export type XyoBridgeQueryBase = XyoBridgeConnectQuery | XyoBridgeDisconnectQuery;
|
|
7
|
-
export type XyoBridgeQuery<T extends XyoQuery | void = void> = ModuleQuery<T extends XyoQuery ? XyoBridgeQueryBase | T : XyoBridgeQueryBase>;
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAEvD,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAE5B,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,GAAG,wBAAwB,CAAA;AACjF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IAAI,WAAW,CAAC,CAAC,SAAS,QAAQ,GAAG,kBAAkB,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAA"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { AbstractModule, CompositeModuleResolver } from '@xyo-network/module';
|
|
2
|
-
import { Module, ModuleFilter } from '@xyo-network/module-model';
|
|
3
|
-
import { HttpBridge } from './HttpBridge';
|
|
4
|
-
export declare class RemoteModuleResolver extends CompositeModuleResolver {
|
|
5
|
-
protected readonly bridge: HttpBridge;
|
|
6
|
-
private resolvedModules;
|
|
7
|
-
constructor(bridge: HttpBridge);
|
|
8
|
-
get isModuleResolver(): boolean;
|
|
9
|
-
add(module: Module, name?: string | undefined): this;
|
|
10
|
-
add(module: Module[], name?: string[] | undefined): this;
|
|
11
|
-
add(module: Module | Module[], name?: string | string[] | undefined): this;
|
|
12
|
-
remove(name: string | string[]): this;
|
|
13
|
-
remove(address: string | string[]): this;
|
|
14
|
-
resolve(filter?: ModuleFilter): Promise<AbstractModule[]>;
|
|
15
|
-
private filterLocalModules;
|
|
16
|
-
private getRemoteAddresses;
|
|
17
|
-
private resolveByAddress;
|
|
18
|
-
private resolveByName;
|
|
19
|
-
private resolveRemoteModules;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=RemoteModuleResolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteModuleResolver.d.ts","sourceRoot":"","sources":["../../src/RemoteModuleResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAiB,MAAM,qBAAqB,CAAA;AAC5F,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAIhE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAazC,qBAAa,oBAAqB,SAAQ,uBAAuB;IAKnD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU;IAJjD,OAAO,CAAC,eAAe,CAAiC;gBAIzB,MAAM,EAAE,UAAU;IAIjD,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IACpD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI;IACxD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI;IAK1E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IACrC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAKlC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAK/D,OAAO,CAAC,kBAAkB;YAQZ,kBAAkB;YAelB,gBAAgB;YAUhB,aAAa;YAWb,oBAAoB;CAOnC"}
|
package/src/AbstractBridge.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Account } from '@xyo-network/account'
|
|
2
|
-
import { AbstractModule, ModuleQueryResult, QueryBoundWitnessWrapper, XyoErrorBuilder, XyoQuery, XyoQueryBoundWitness } from '@xyo-network/module'
|
|
3
|
-
import { XyoPayload } from '@xyo-network/payload-model'
|
|
4
|
-
import { Promisable } from '@xyo-network/promise'
|
|
5
|
-
|
|
6
|
-
import { BridgeModule } from './Bridge'
|
|
7
|
-
import { BridgeConfig } from './Config'
|
|
8
|
-
import { XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema, XyoBridgeQuery } from './Queries'
|
|
9
|
-
|
|
10
|
-
export abstract class AbstractBridge<TConfig extends BridgeConfig = BridgeConfig> extends AbstractModule<TConfig> implements BridgeModule {
|
|
11
|
-
override get queries(): string[] {
|
|
12
|
-
return [XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema, ...super.queries]
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
override async query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult> {
|
|
16
|
-
const wrapper = QueryBoundWitnessWrapper.parseQuery<XyoBridgeQuery>(query, payloads)
|
|
17
|
-
const typedQuery = wrapper.query.payload
|
|
18
|
-
const queryAccount = new Account()
|
|
19
|
-
try {
|
|
20
|
-
switch (typedQuery.schema) {
|
|
21
|
-
case XyoBridgeConnectQuerySchema: {
|
|
22
|
-
await this.connect()
|
|
23
|
-
break
|
|
24
|
-
}
|
|
25
|
-
case XyoBridgeDisconnectQuerySchema: {
|
|
26
|
-
await this.disconnect()
|
|
27
|
-
break
|
|
28
|
-
}
|
|
29
|
-
default:
|
|
30
|
-
if (super.queries.includes(typedQuery.schema)) {
|
|
31
|
-
return super.query(query, payloads)
|
|
32
|
-
} else {
|
|
33
|
-
return this.forward(typedQuery)
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
} catch (ex) {
|
|
37
|
-
const error = ex as Error
|
|
38
|
-
return this.bindResult([new XyoErrorBuilder([wrapper.hash], error.message).build()], queryAccount)
|
|
39
|
-
}
|
|
40
|
-
return this.bindResult([], queryAccount)
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
abstract connect(): Promisable<boolean>
|
|
44
|
-
abstract disconnect(): Promisable<boolean>
|
|
45
|
-
|
|
46
|
-
abstract forward(query: XyoQuery): Promise<ModuleQueryResult>
|
|
47
|
-
}
|
package/src/Bridge.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Module } from '@xyo-network/module-model'
|
|
2
|
-
import { Promisable } from '@xyo-network/promise'
|
|
3
|
-
|
|
4
|
-
export interface Bridge {
|
|
5
|
-
connect: () => Promisable<boolean>
|
|
6
|
-
disconnect: () => Promisable<boolean>
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface BridgeModule extends Bridge, Module {}
|
package/src/Config.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ModuleConfig } from '@xyo-network/module'
|
|
2
|
-
import { XyoPayload } from '@xyo-network/payload-model'
|
|
3
|
-
|
|
4
|
-
export type XyoBridgeConfigSchema = 'network.xyo.bridge.config'
|
|
5
|
-
export const XyoBridgeConfigSchema: XyoBridgeConfigSchema = 'network.xyo.bridge.config'
|
|
6
|
-
|
|
7
|
-
export type BridgeConfig<TConfig extends XyoPayload = XyoPayload> = ModuleConfig<TConfig>
|