@xyo-network/bridge-module-resolver 2.66.8 → 2.66.9
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/ModuleResolver.js +8 -4
- package/dist/cjs/ModuleResolver.js.map +1 -1
- package/dist/docs.json +159 -153
- package/dist/esm/ModuleResolver.js +8 -4
- package/dist/esm/ModuleResolver.js.map +1 -1
- package/dist/types/ModuleResolver.d.ts +4 -4
- package/dist/types/ModuleResolver.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/ModuleResolver.ts +30 -17
|
@@ -59,10 +59,12 @@ export class BridgeModuleResolver extends CompositeModuleResolver {
|
|
|
59
59
|
}
|
|
60
60
|
async resolve(nameOrAddressOrFilter) {
|
|
61
61
|
if (typeof nameOrAddressOrFilter === 'string') {
|
|
62
|
-
|
|
62
|
+
const result = (await this.resolveByAddress(nameOrAddressOrFilter)) ?? (await this.resolveByName(nameOrAddressOrFilter));
|
|
63
|
+
return result;
|
|
63
64
|
}
|
|
64
65
|
else {
|
|
65
|
-
|
|
66
|
+
const result = await this.resolveRemoteModules(nameOrAddressOrFilter);
|
|
67
|
+
return result;
|
|
66
68
|
}
|
|
67
69
|
}
|
|
68
70
|
async resolveByAddress(targetAddress) {
|
|
@@ -109,7 +111,9 @@ export class BridgeModuleResolver extends CompositeModuleResolver {
|
|
|
109
111
|
return await this.resolvedModules[targetAddress];
|
|
110
112
|
}
|
|
111
113
|
async resolveByName(name) {
|
|
112
|
-
return Object.values(await this.currentResolvedModules())
|
|
114
|
+
return Object.values(await this.currentResolvedModules())
|
|
115
|
+
.filter((module) => module.config.name === name)
|
|
116
|
+
.pop();
|
|
113
117
|
}
|
|
114
118
|
async resolveByQuery(queries) {
|
|
115
119
|
return Object.values(await this.currentResolvedModules()).filter((module) => {
|
|
@@ -136,7 +140,7 @@ export class BridgeModuleResolver extends CompositeModuleResolver {
|
|
|
136
140
|
return compact(await Promise.all(filter.address.map((address) => this.resolveByAddress(address))));
|
|
137
141
|
}
|
|
138
142
|
async resolveRemoteModulesByName(filter) {
|
|
139
|
-
return compact(
|
|
143
|
+
return compact(await Promise.all(filter.name.map(async (name) => await this.resolveByName(name))));
|
|
140
144
|
}
|
|
141
145
|
async resolveRemoteModulesByQuery(filter) {
|
|
142
146
|
return compact((await Promise.all(filter.query.map(async (query) => await this.resolveByQuery(query)))).flat());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAEzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
2
|
import { BridgeModule } from '@xyo-network/bridge-model';
|
|
3
3
|
import { CompositeModuleResolver } from '@xyo-network/module';
|
|
4
|
-
import { Module, ModuleFilter, ModuleResolver } from '@xyo-network/module-model';
|
|
4
|
+
import { Module, ModuleFilter, ModuleInstance, ModuleResolver } from '@xyo-network/module-model';
|
|
5
5
|
export declare class BridgeModuleResolver extends CompositeModuleResolver implements ModuleResolver {
|
|
6
6
|
protected readonly bridge: BridgeModule;
|
|
7
7
|
protected wrapperAccount: AccountInstance;
|
|
@@ -11,11 +11,11 @@ export declare class BridgeModuleResolver extends CompositeModuleResolver implem
|
|
|
11
11
|
get isModuleResolver(): boolean;
|
|
12
12
|
add(module: Module): this;
|
|
13
13
|
add(module: Module[]): this;
|
|
14
|
-
currentResolvedModules<T extends
|
|
14
|
+
currentResolvedModules<T extends ModuleInstance = ModuleInstance>(): Promise<Record<string, T>>;
|
|
15
15
|
getRemoteAddresses(): Promise<string[]>;
|
|
16
16
|
remove(_address: string | string[]): this;
|
|
17
|
-
resolve(filter?: ModuleFilter): Promise<
|
|
18
|
-
resolve(nameOrAddress: string): Promise<
|
|
17
|
+
resolve(filter?: ModuleFilter): Promise<ModuleInstance[]>;
|
|
18
|
+
resolve(nameOrAddress: string): Promise<ModuleInstance | undefined>;
|
|
19
19
|
private resolveByAddress;
|
|
20
20
|
private resolveByName;
|
|
21
21
|
private resolveByQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleResolver.d.ts","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAI5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAIxD,OAAO,EAAE,uBAAuB,EAAiB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,
|
|
1
|
+
{"version":3,"file":"ModuleResolver.d.ts","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAI5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAIxD,OAAO,EAAE,uBAAuB,EAAiB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAEL,MAAM,EACN,YAAY,EACZ,cAAc,EACd,cAAc,EAGf,MAAM,2BAA2B,CAAA;AAUlC,qBAAa,oBAAqB,SAAQ,uBAAwB,YAAW,cAAc;IAM7E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY;IAAE,SAAS,CAAC,cAAc,EAAE,eAAe;IAL9F,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,eAAe,CAA8C;gBAItC,MAAM,EAAE,YAAY,EAAY,cAAc,EAAE,eAAe;IAI9F,IAAa,gBAAgB,IAAI,OAAO,CAEvC;IAEQ,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IACzB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAK9B,sBAAsB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAW/F,kBAAkB;IAmBf,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAInC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IACzD,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;YAYpE,gBAAgB;YAoDhB,aAAa;YAMb,cAAc;YAUd,oBAAoB;YAiBpB,6BAA6B;YAI7B,0BAA0B;YAI1B,2BAA2B;CAG1C"}
|
package/package.json
CHANGED
|
@@ -11,25 +11,25 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.9.3",
|
|
14
|
-
"@xyo-network/account-model": "~2.66.
|
|
15
|
-
"@xyo-network/address-payload-plugin": "~2.66.
|
|
16
|
-
"@xyo-network/archivist-model": "~2.66.
|
|
17
|
-
"@xyo-network/archivist-wrapper": "~2.66.
|
|
18
|
-
"@xyo-network/boundwitness-builder": "~2.66.
|
|
19
|
-
"@xyo-network/bridge-model": "~2.66.
|
|
20
|
-
"@xyo-network/diviner": "~2.66.
|
|
21
|
-
"@xyo-network/diviner-model": "~2.66.
|
|
22
|
-
"@xyo-network/error": "~2.66.
|
|
23
|
-
"@xyo-network/manifest-model": "~2.66.
|
|
24
|
-
"@xyo-network/module": "~2.66.
|
|
25
|
-
"@xyo-network/module-model": "~2.66.
|
|
26
|
-
"@xyo-network/node-model": "~2.66.
|
|
27
|
-
"@xyo-network/node-wrapper": "~2.66.
|
|
28
|
-
"@xyo-network/payload-model": "~2.66.
|
|
29
|
-
"@xyo-network/promise": "~2.66.
|
|
30
|
-
"@xyo-network/sentinel": "~2.66.
|
|
31
|
-
"@xyo-network/witness-model": "~2.66.
|
|
32
|
-
"@xyo-network/witness-wrapper": "~2.66.
|
|
14
|
+
"@xyo-network/account-model": "~2.66.9",
|
|
15
|
+
"@xyo-network/address-payload-plugin": "~2.66.9",
|
|
16
|
+
"@xyo-network/archivist-model": "~2.66.9",
|
|
17
|
+
"@xyo-network/archivist-wrapper": "~2.66.9",
|
|
18
|
+
"@xyo-network/boundwitness-builder": "~2.66.9",
|
|
19
|
+
"@xyo-network/bridge-model": "~2.66.9",
|
|
20
|
+
"@xyo-network/diviner": "~2.66.9",
|
|
21
|
+
"@xyo-network/diviner-model": "~2.66.9",
|
|
22
|
+
"@xyo-network/error": "~2.66.9",
|
|
23
|
+
"@xyo-network/manifest-model": "~2.66.9",
|
|
24
|
+
"@xyo-network/module": "~2.66.9",
|
|
25
|
+
"@xyo-network/module-model": "~2.66.9",
|
|
26
|
+
"@xyo-network/node-model": "~2.66.9",
|
|
27
|
+
"@xyo-network/node-wrapper": "~2.66.9",
|
|
28
|
+
"@xyo-network/payload-model": "~2.66.9",
|
|
29
|
+
"@xyo-network/promise": "~2.66.9",
|
|
30
|
+
"@xyo-network/sentinel": "~2.66.9",
|
|
31
|
+
"@xyo-network/witness-model": "~2.66.9",
|
|
32
|
+
"@xyo-network/witness-wrapper": "~2.66.9",
|
|
33
33
|
"lodash": "^4.17.21"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
},
|
|
71
71
|
"sideEffects": false,
|
|
72
72
|
"types": "dist/types/index.d.ts",
|
|
73
|
-
"version": "2.66.
|
|
73
|
+
"version": "2.66.9"
|
|
74
74
|
}
|
package/src/ModuleResolver.ts
CHANGED
|
@@ -7,7 +7,15 @@ import { IndirectDivinerWrapper } from '@xyo-network/diviner'
|
|
|
7
7
|
import { isDivinerModule } from '@xyo-network/diviner-model'
|
|
8
8
|
import { handleError } from '@xyo-network/error'
|
|
9
9
|
import { CompositeModuleResolver, ModuleWrapper } from '@xyo-network/module'
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
AddressModuleFilter,
|
|
12
|
+
Module,
|
|
13
|
+
ModuleFilter,
|
|
14
|
+
ModuleInstance,
|
|
15
|
+
ModuleResolver,
|
|
16
|
+
NameModuleFilter,
|
|
17
|
+
QueryModuleFilter,
|
|
18
|
+
} from '@xyo-network/module-model'
|
|
11
19
|
import { isNodeModule } from '@xyo-network/node-model'
|
|
12
20
|
import { NodeWrapper } from '@xyo-network/node-wrapper'
|
|
13
21
|
import { isSentinelModule, SentinelWrapper } from '@xyo-network/sentinel'
|
|
@@ -19,7 +27,7 @@ import { ProxyModule, ProxyModuleConfigSchema, ProxyModuleParams } from './Proxy
|
|
|
19
27
|
|
|
20
28
|
export class BridgeModuleResolver extends CompositeModuleResolver implements ModuleResolver {
|
|
21
29
|
private remoteAddresses?: Promise<string[]>
|
|
22
|
-
private resolvedModules: Record<string, Promise<
|
|
30
|
+
private resolvedModules: Record<string, Promise<ModuleInstance>> = {}
|
|
23
31
|
|
|
24
32
|
// TODO: Allow optional ctor param for supplying address for nested Nodes
|
|
25
33
|
// protected readonly address?: string,
|
|
@@ -37,7 +45,7 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
|
|
|
37
45
|
throw new Error('Method not implemented.')
|
|
38
46
|
}
|
|
39
47
|
|
|
40
|
-
async currentResolvedModules<T extends
|
|
48
|
+
async currentResolvedModules<T extends ModuleInstance = ModuleInstance>(): Promise<Record<string, T>> {
|
|
41
49
|
const result: Record<string, T> = {}
|
|
42
50
|
await Promise.all(
|
|
43
51
|
Object.entries(this.resolvedModules).map(async ([key, value]) => {
|
|
@@ -71,17 +79,20 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
|
|
|
71
79
|
throw new Error('Method not implemented.')
|
|
72
80
|
}
|
|
73
81
|
|
|
74
|
-
override async resolve(filter?: ModuleFilter): Promise<
|
|
75
|
-
override async resolve(nameOrAddress: string): Promise<
|
|
76
|
-
override async resolve(nameOrAddressOrFilter?: ModuleFilter | string): Promise<
|
|
82
|
+
override async resolve(filter?: ModuleFilter): Promise<ModuleInstance[]>
|
|
83
|
+
override async resolve(nameOrAddress: string): Promise<ModuleInstance | undefined>
|
|
84
|
+
override async resolve(nameOrAddressOrFilter?: ModuleFilter | string): Promise<ModuleInstance | ModuleInstance[] | undefined> {
|
|
77
85
|
if (typeof nameOrAddressOrFilter === 'string') {
|
|
78
|
-
|
|
86
|
+
const result: ModuleInstance | undefined =
|
|
87
|
+
(await this.resolveByAddress(nameOrAddressOrFilter)) ?? (await this.resolveByName(nameOrAddressOrFilter))
|
|
88
|
+
return result
|
|
79
89
|
} else {
|
|
80
|
-
|
|
90
|
+
const result: ModuleInstance[] = await this.resolveRemoteModules(nameOrAddressOrFilter)
|
|
91
|
+
return result
|
|
81
92
|
}
|
|
82
93
|
}
|
|
83
94
|
|
|
84
|
-
private async resolveByAddress(targetAddress: string): Promise<
|
|
95
|
+
private async resolveByAddress(targetAddress: string): Promise<ModuleInstance | undefined> {
|
|
85
96
|
const remoteAddresses = await this.getRemoteAddresses()
|
|
86
97
|
|
|
87
98
|
//check if it is even there
|
|
@@ -133,11 +144,13 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
|
|
|
133
144
|
return await this.resolvedModules[targetAddress]
|
|
134
145
|
}
|
|
135
146
|
|
|
136
|
-
private async resolveByName(name: string): Promise<
|
|
137
|
-
return Object.values(await this.currentResolvedModules())
|
|
147
|
+
private async resolveByName(name: string): Promise<ModuleInstance | undefined> {
|
|
148
|
+
return Object.values(await this.currentResolvedModules())
|
|
149
|
+
.filter((module) => module.config.name === name)
|
|
150
|
+
.pop()
|
|
138
151
|
}
|
|
139
152
|
|
|
140
|
-
private async resolveByQuery(queries: string[]): Promise<
|
|
153
|
+
private async resolveByQuery(queries: string[]): Promise<ModuleInstance[]> {
|
|
141
154
|
return Object.values(await this.currentResolvedModules()).filter((module) => {
|
|
142
155
|
//filter out the requested queries
|
|
143
156
|
const found = module.queries.filter((query) => queries.find((q) => q === query))
|
|
@@ -147,7 +160,7 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
|
|
|
147
160
|
})
|
|
148
161
|
}
|
|
149
162
|
|
|
150
|
-
private async resolveRemoteModules(filter?: ModuleFilter): Promise<
|
|
163
|
+
private async resolveRemoteModules(filter?: ModuleFilter): Promise<ModuleInstance[]> {
|
|
151
164
|
if ((filter as AddressModuleFilter)?.address) {
|
|
152
165
|
return await this.resolveRemoteModulesByAddress(filter as AddressModuleFilter)
|
|
153
166
|
}
|
|
@@ -164,15 +177,15 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
|
|
|
164
177
|
return await this.resolveRemoteModulesByAddress({ address: await this.getRemoteAddresses() })
|
|
165
178
|
}
|
|
166
179
|
|
|
167
|
-
private async resolveRemoteModulesByAddress(filter: AddressModuleFilter): Promise<
|
|
180
|
+
private async resolveRemoteModulesByAddress(filter: AddressModuleFilter): Promise<ModuleInstance[]> {
|
|
168
181
|
return compact(await Promise.all(filter.address.map((address) => this.resolveByAddress(address))))
|
|
169
182
|
}
|
|
170
183
|
|
|
171
|
-
private async resolveRemoteModulesByName(filter: NameModuleFilter): Promise<
|
|
172
|
-
return compact(
|
|
184
|
+
private async resolveRemoteModulesByName(filter: NameModuleFilter): Promise<ModuleInstance[]> {
|
|
185
|
+
return compact(await Promise.all(filter.name.map(async (name) => await this.resolveByName(name))))
|
|
173
186
|
}
|
|
174
187
|
|
|
175
|
-
private async resolveRemoteModulesByQuery(filter: QueryModuleFilter): Promise<
|
|
188
|
+
private async resolveRemoteModulesByQuery(filter: QueryModuleFilter): Promise<ModuleInstance[]> {
|
|
176
189
|
return compact((await Promise.all(filter.query.map(async (query) => await this.resolveByQuery(query)))).flat())
|
|
177
190
|
}
|
|
178
191
|
}
|