@xyo-network/bridge-module-resolver 2.69.2 → 2.70.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.
- package/dist/cjs/ModuleResolver.js +12 -5
- package/dist/cjs/ModuleResolver.js.map +1 -1
- package/dist/esm/ModuleResolver.js +10 -3
- package/dist/esm/ModuleResolver.js.map +1 -1
- package/dist/types/ModuleResolver.d.ts +3 -3
- package/dist/types/ModuleResolver.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/ModuleResolver.ts +40 -24
- package/dist/docs.json +0 -27430
|
@@ -72,16 +72,23 @@ class BridgeModuleResolver extends module_1.CompositeModuleResolver {
|
|
|
72
72
|
remove(_address) {
|
|
73
73
|
throw new Error('Method not implemented.');
|
|
74
74
|
}
|
|
75
|
-
resolve(nameOrAddressOrFilter) {
|
|
76
|
-
var _a;
|
|
75
|
+
resolve(nameOrAddressOrFilter, options) {
|
|
76
|
+
var _a, _b;
|
|
77
77
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
const mutatedOptions = Object.assign(Object.assign({}, options), { maxDepth: ((_a = options === null || options === void 0 ? void 0 : options.maxDepth) !== null && _a !== void 0 ? _a : BridgeModuleResolver.defaultMaxDepth) - 1 });
|
|
78
79
|
yield this.prime();
|
|
79
80
|
yield this.resolveRemoteModules();
|
|
80
81
|
if (typeof nameOrAddressOrFilter === 'string') {
|
|
81
|
-
|
|
82
|
+
if (mutatedOptions.maxDepth < 0) {
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
const result = (_b = (yield this.resolveByAddress(nameOrAddressOrFilter))) !== null && _b !== void 0 ? _b : (yield this.resolveByName(nameOrAddressOrFilter));
|
|
82
86
|
return result;
|
|
83
87
|
}
|
|
84
88
|
else {
|
|
89
|
+
if (mutatedOptions.maxDepth < 0) {
|
|
90
|
+
return [];
|
|
91
|
+
}
|
|
85
92
|
const result = yield this.resolveRemoteModules(nameOrAddressOrFilter);
|
|
86
93
|
return result;
|
|
87
94
|
}
|
|
@@ -98,7 +105,7 @@ class BridgeModuleResolver extends module_1.CompositeModuleResolver {
|
|
|
98
105
|
}
|
|
99
106
|
const cached = this.resolvedModules[targetAddress];
|
|
100
107
|
if (cached)
|
|
101
|
-
return yield cached;
|
|
108
|
+
return (yield cached);
|
|
102
109
|
this.resolvedModules[targetAddress] =
|
|
103
110
|
(_a = this.resolvedModules[targetAddress]) !== null && _a !== void 0 ? _a : ((address) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
104
111
|
//discover it to set the config in the bridge
|
|
@@ -129,7 +136,7 @@ class BridgeModuleResolver extends module_1.CompositeModuleResolver {
|
|
|
129
136
|
});
|
|
130
137
|
}
|
|
131
138
|
}))(targetAddress);
|
|
132
|
-
return yield this.resolvedModules[targetAddress];
|
|
139
|
+
return (yield this.resolvedModules[targetAddress]);
|
|
133
140
|
});
|
|
134
141
|
}
|
|
135
142
|
resolveByName(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":";;;;AACA,gFAAmF;AACnF,kEAAgE;AAChE,sEAAiE;AAEjE,kDAAqD;AACrD,8DAA4D;AAC5D,8CAAgD;AAChD,gDAA4E;
|
|
1
|
+
{"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":";;;;AACA,gFAAmF;AACnF,kEAAgE;AAChE,sEAAiE;AAEjE,kDAAqD;AACrD,8DAA4D;AAC5D,8CAAgD;AAChD,gDAA4E;AAW5E,wDAAsD;AACtD,4DAAuD;AACvD,oDAAyE;AACzE,8DAA4D;AAC5D,kEAA6D;AAC7D,qEAAoC;AAEpC,+CAAuF;AAEvF,MAAa,oBAAqB,SAAQ,gCAAuB;IAK/D,yEAAyE;IACzE,uCAAuC;IACvC,YACqB,MAAoB,EAC7B,cAA+B;QAEzC,KAAK,EAAE,CAAA;QAHY,WAAM,GAAN,MAAM,CAAc;QAC7B,mBAAc,GAAd,cAAc,CAAiB;QARnC,WAAM,GAAiC,SAAS,CAAA;QAEhD,oBAAe,GAA4C,EAAE,CAAA;IASrE,CAAC;IAED,IAAa,gBAAgB;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAIQ,GAAG,CAAC,OAA0B;QACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAEK,sBAAsB;;YAC1B,MAAM,MAAM,GAAsB,EAAE,CAAA;YACpC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC9D,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,CAAM,CAAA;YAClC,CAAC,CAAA,CAAC,CACH,CAAA;YAED,OAAO,MAAM,CAAA;QACf,CAAC;KAAA;IAEK,kBAAkB;;;YACtB,IAAI,CAAC,eAAe;gBAClB,MAAA,IAAI,CAAC,eAAe,mCACpB,CAAC,GAAS,EAAE;oBACV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;oBACnD,OAAO,IAAA,iBAAO,EACZ,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;wBACxB,IAAI,OAAO,CAAC,MAAM,KAAK,sCAAa,EAAE;4BACpC,MAAM,aAAa,GAAG,OAAyB,CAAA;4BAC/C,OAAO,aAAa,CAAC,OAAO,CAAA;yBAC7B;6BAAM;4BACL,OAAO,IAAI,CAAA;yBACZ;oBACH,CAAC,CAAC,CACH,CAAA;gBACH,CAAC,CAAA,CAAC,EAAE,CAAA;YACN,OAAO,MAAM,IAAI,CAAC,eAAe,CAAA;;KAClC;IAED,KAAK;;QACH,IAAI,CAAC,MAAM;YACT,MAAA,IAAI,CAAC,MAAM,mCACX,CAAC,GAAS,EAAE;gBACV,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;gBACjC,OAAO,IAAI,CAAA;YACb,CAAC,CAAA,CAAC,EAAE,CAAA;QACN,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAEQ,MAAM,CAAC,QAA2B;QACzC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAUc,OAAO,CACpB,qBAAgD,EAChD,OAAgC;;;YAEhC,MAAM,cAAc,mCAAQ,OAAO,KAAE,QAAQ,EAAE,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,oBAAoB,CAAC,eAAe,CAAC,GAAG,CAAC,GAAE,CAAA;YAChH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAClB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;YACjC,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;gBAC7C,IAAI,cAAc,CAAC,QAAQ,GAAG,CAAC,EAAE;oBAC/B,OAAO,SAAS,CAAA;iBACjB;gBACD,MAAM,MAAM,GAAkB,MAAA,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAI,qBAAqB,CAAC,CAAC,mCAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAI,qBAAqB,CAAC,CAAC,CAAA;gBAC7I,OAAO,MAAM,CAAA;aACd;iBAAM;gBACL,IAAI,cAAc,CAAC,QAAQ,GAAG,CAAC,EAAE;oBAC/B,OAAO,EAAE,CAAA;iBACV;gBACD,MAAM,MAAM,GAAQ,MAAM,IAAI,CAAC,oBAAoB,CAAI,qBAAqB,CAAC,CAAA;gBAC7E,OAAO,MAAM,CAAA;aACd;;KACF;IAEa,gBAAgB,CAA4C,aAAqB;;;YAC7F,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;YAEvD,2BAA2B;YAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,CAAC,EAAE;gBACjE,iDAAiD;gBACjD,OAAO,SAAS,CAAA;aACjB;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;YAClD,IAAI,MAAM;gBAAE,OAAO,CAAC,MAAM,MAAM,CAAM,CAAA;YAEtC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;gBACjC,MAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,mCACnC,CAAC,CAAO,OAAe,EAAE,EAAE;oBACzB,6CAA6C;oBAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;oBAEzC,MAAM,GAAG,GAAW,IAAI,yBAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,qCAAuB,EAAE,EAAuB,CAAC,CAAA;oBAEvI,IAAI;wBACF,IAAI,IAAA,mCAAiB,EAAC,GAAG,CAAC,EAAE;4BAC1B,OAAO,oCAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;yBACvD;wBAED,IAAI,IAAA,+BAAe,EAAC,GAAG,CAAC,EAAE;4BACxB,OAAO,wBAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;yBACrD;wBAED,IAAI,IAAA,+BAAe,EAAC,GAAG,CAAC,EAAE;4BACxB,OAAO,gCAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;yBACrD;wBAED,IAAI,IAAA,yBAAY,EAAC,GAAG,CAAC,EAAE;4BACrB,OAAO,0BAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;yBAClD;wBAED,IAAI,IAAA,2BAAgB,EAAC,GAAG,CAAC,EAAE;4BACzB,OAAO,0BAAe,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;yBACtD;wBACD,OAAO,CAAC,IAAI,CAAC,+CAA+C,aAAa,GAAG,CAAC,CAAA;wBAC7E,OAAO,sBAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;qBACpD;oBAAC,OAAO,EAAE,EAAE;wBACX,IAAA,mBAAW,EAAC,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;4BACxB,OAAO,CAAC,KAAK,CAAC,0CAA0C,KAAK,CAAC,OAAO,KAAK,aAAa,GAAG,CAAC,CAAA;wBAC7F,CAAC,CAAC,CAAA;qBACH;gBACH,CAAC,CAAA,CAAC,CAAC,aAAa,CAAC,CAAA;YAEnB,OAAO,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAM,CAAA;;KACxD;IAEa,aAAa,CAA4C,IAAY;;YACjF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAA;YACnD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;iBAC1B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;iBAC/C,GAAG,EAAO,CAAA;QACf,CAAC;KAAA;IAEa,cAAc,CAA4C,OAAiB;;YACvF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1E,kCAAkC;gBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAA;gBAEhF,wCAAwC;gBACxC,OAAO,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAA;YACxC,CAAC,CAAQ,CAAA;QACX,CAAC;KAAA;IAEa,oBAAoB,CAA4C,MAAqB;;YACjG,IAAK,MAA8B,aAA9B,MAAM,uBAAN,MAAM,CAA0B,OAAO,EAAE;gBAC5C,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAAI,MAA6B,CAAC,CAAA;aAClF;YAED,IAAK,MAA2B,aAA3B,MAAM,uBAAN,MAAM,CAAuB,IAAI,EAAE;gBACtC,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAI,MAA0B,CAAC,CAAA;aAC5E;YAED,IAAK,MAA4B,aAA5B,MAAM,uBAAN,MAAM,CAAwB,KAAK,EAAE;gBACxC,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAI,MAA2B,CAAC,CAAA;aAC9E;YAED,iBAAiB;YACjB,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAAI,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;QAClG,CAAC;KAAA;IAEa,6BAA6B,CAA4C,MAA2B;;YAChH,OAAO,IAAA,iBAAO,EAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QACvG,CAAC;KAAA;IAEa,0BAA0B,CAA4C,MAAwB;;YAC1G,OAAO,IAAA,iBAAO,EAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,EAAE,wDAAC,OAAA,MAAM,IAAI,CAAC,aAAa,CAAI,IAAI,CAAC,CAAA,GAAA,CAAC,CAAC,CAAC,CAAA;QACvG,CAAC;KAAA;IAEa,2BAA2B,CAA4C,MAAyB;;YAC5G,OAAO,IAAA,iBAAO,EAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAO,KAAK,EAAE,EAAE,wDAAC,OAAA,MAAM,IAAI,CAAC,cAAc,CAAI,KAAK,CAAC,CAAA,GAAA,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QACpH,CAAC;KAAA;CACF;AAnMD,oDAmMC"}
|
|
@@ -67,14 +67,21 @@ export class BridgeModuleResolver extends CompositeModuleResolver {
|
|
|
67
67
|
remove(_address) {
|
|
68
68
|
throw new Error('Method not implemented.');
|
|
69
69
|
}
|
|
70
|
-
async resolve(nameOrAddressOrFilter) {
|
|
70
|
+
async resolve(nameOrAddressOrFilter, options) {
|
|
71
|
+
const mutatedOptions = { ...options, maxDepth: (options?.maxDepth ?? BridgeModuleResolver.defaultMaxDepth) - 1 };
|
|
71
72
|
await this.prime();
|
|
72
73
|
await this.resolveRemoteModules();
|
|
73
74
|
if (typeof nameOrAddressOrFilter === 'string') {
|
|
75
|
+
if (mutatedOptions.maxDepth < 0) {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
74
78
|
const result = (await this.resolveByAddress(nameOrAddressOrFilter)) ?? (await this.resolveByName(nameOrAddressOrFilter));
|
|
75
79
|
return result;
|
|
76
80
|
}
|
|
77
81
|
else {
|
|
82
|
+
if (mutatedOptions.maxDepth < 0) {
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
78
85
|
const result = await this.resolveRemoteModules(nameOrAddressOrFilter);
|
|
79
86
|
return result;
|
|
80
87
|
}
|
|
@@ -88,7 +95,7 @@ export class BridgeModuleResolver extends CompositeModuleResolver {
|
|
|
88
95
|
}
|
|
89
96
|
const cached = this.resolvedModules[targetAddress];
|
|
90
97
|
if (cached)
|
|
91
|
-
return await cached;
|
|
98
|
+
return (await cached);
|
|
92
99
|
this.resolvedModules[targetAddress] =
|
|
93
100
|
this.resolvedModules[targetAddress] ??
|
|
94
101
|
(async (address) => {
|
|
@@ -120,7 +127,7 @@ export class BridgeModuleResolver extends CompositeModuleResolver {
|
|
|
120
127
|
});
|
|
121
128
|
}
|
|
122
129
|
})(targetAddress);
|
|
123
|
-
return await this.resolvedModules[targetAddress];
|
|
130
|
+
return (await this.resolvedModules[targetAddress]);
|
|
124
131
|
}
|
|
125
132
|
async resolveByName(name) {
|
|
126
133
|
const modules = await this.currentResolvedModules();
|
|
@@ -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,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,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":"AACA,OAAO,EAAkB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,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;AAW5E,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,OAAO,MAAM,gBAAgB,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAqB,MAAM,eAAe,CAAA;AAEvF,MAAM,OAAO,oBAAqB,SAAQ,uBAAuB;IAQ1C;IACT;IARJ,MAAM,GAAiC,SAAS,CAAA;IAChD,eAAe,CAAoB;IACnC,eAAe,GAA4C,EAAE,CAAA;IAErE,yEAAyE;IACzE,uCAAuC;IACvC,YACqB,MAAoB,EAC7B,cAA+B;QAEzC,KAAK,EAAE,CAAA;QAHY,WAAM,GAAN,MAAM,CAAc;QAC7B,mBAAc,GAAd,cAAc,CAAiB;IAG3C,CAAC;IAED,IAAa,gBAAgB;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAIQ,GAAG,CAAC,OAA0B;QACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,MAAM,GAAsB,EAAE,CAAA;QACpC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC9D,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,CAAM,CAAA;QAClC,CAAC,CAAC,CACH,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,eAAe;YAClB,IAAI,CAAC,eAAe;gBACpB,CAAC,KAAK,IAAI,EAAE;oBACV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;oBACnD,OAAO,OAAO,CACZ,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;wBACxB,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE;4BACpC,MAAM,aAAa,GAAG,OAAyB,CAAA;4BAC/C,OAAO,aAAa,CAAC,OAAO,CAAA;yBAC7B;6BAAM;4BACL,OAAO,IAAI,CAAA;yBACZ;oBACH,CAAC,CAAC,CACH,CAAA;gBACH,CAAC,CAAC,EAAE,CAAA;QACN,OAAO,MAAM,IAAI,CAAC,eAAe,CAAA;IACnC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM;YACT,IAAI,CAAC,MAAM;gBACX,CAAC,KAAK,IAAI,EAAE;oBACV,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;oBACjC,OAAO,IAAI,CAAA;gBACb,CAAC,CAAC,EAAE,CAAA;QACN,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAEQ,MAAM,CAAC,QAA2B;QACzC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAUQ,KAAK,CAAC,OAAO,CACpB,qBAAgD,EAChD,OAAgC;QAEhC,MAAM,cAAc,GAAG,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,IAAI,oBAAoB,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAA;QAChH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAClB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;QACjC,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;YAC7C,IAAI,cAAc,CAAC,QAAQ,GAAG,CAAC,EAAE;gBAC/B,OAAO,SAAS,CAAA;aACjB;YACD,MAAM,MAAM,GAAkB,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAI,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAI,qBAAqB,CAAC,CAAC,CAAA;YAC7I,OAAO,MAAM,CAAA;SACd;aAAM;YACL,IAAI,cAAc,CAAC,QAAQ,GAAG,CAAC,EAAE;gBAC/B,OAAO,EAAE,CAAA;aACV;YACD,MAAM,MAAM,GAAQ,MAAM,IAAI,CAAC,oBAAoB,CAAI,qBAAqB,CAAC,CAAA;YAC7E,OAAO,MAAM,CAAA;SACd;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAA4C,aAAqB;QAC7F,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAEvD,2BAA2B;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,CAAC,EAAE;YACjE,iDAAiD;YACjD,OAAO,SAAS,CAAA;SACjB;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;QAClD,IAAI,MAAM;YAAE,OAAO,CAAC,MAAM,MAAM,CAAM,CAAA;QAEtC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;gBACnC,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;oBACzB,6CAA6C;oBAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;oBAEzC,MAAM,GAAG,GAAW,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,EAAuB,CAAC,CAAA;oBAEvI,IAAI;wBACF,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE;4BAC1B,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;yBACvD;wBAED,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;4BACxB,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;yBACrD;wBAED,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;4BACxB,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;yBACrD;wBAED,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;4BACrB,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;yBAClD;wBAED,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE;4BACzB,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;yBACtD;wBACD,OAAO,CAAC,IAAI,CAAC,+CAA+C,aAAa,GAAG,CAAC,CAAA;wBAC7E,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;qBACpD;oBAAC,OAAO,EAAE,EAAE;wBACX,WAAW,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;4BACxB,OAAO,CAAC,KAAK,CAAC,0CAA0C,KAAK,CAAC,OAAO,KAAK,aAAa,GAAG,CAAC,CAAA;wBAC7F,CAAC,CAAC,CAAA;qBACH;gBACH,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;QAEnB,OAAO,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAM,CAAA;IACzD,CAAC;IAEO,KAAK,CAAC,aAAa,CAA4C,IAAY;QACjF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAA;QACnD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;aAC1B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;aAC/C,GAAG,EAAO,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,cAAc,CAA4C,OAAiB;QACvF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1E,kCAAkC;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAA;YAEhF,wCAAwC;YACxC,OAAO,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAA;QACxC,CAAC,CAAQ,CAAA;IACX,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAA4C,MAAqB;QACjG,IAAK,MAA8B,EAAE,OAAO,EAAE;YAC5C,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAAI,MAA6B,CAAC,CAAA;SAClF;QAED,IAAK,MAA2B,EAAE,IAAI,EAAE;YACtC,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAI,MAA0B,CAAC,CAAA;SAC5E;QAED,IAAK,MAA4B,EAAE,KAAK,EAAE;YACxC,OAAO,MAAM,IAAI,CAAC,2BAA2B,CAAI,MAA2B,CAAC,CAAA;SAC9E;QAED,iBAAiB;QACjB,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAAI,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;IAClG,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAA4C,MAA2B;QAChH,OAAO,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACvG,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAA4C,MAAwB;QAC1G,OAAO,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,aAAa,CAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACvG,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAA4C,MAAyB;QAC5G,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,cAAc,CAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACpH,CAAC;CACF"}
|
|
@@ -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, ModuleInstance, ModuleResolver } from '@xyo-network/module-model';
|
|
4
|
+
import { Module, ModuleFilter, ModuleFilterOptions, 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;
|
|
@@ -16,8 +16,8 @@ export declare class BridgeModuleResolver extends CompositeModuleResolver implem
|
|
|
16
16
|
getRemoteAddresses(): Promise<string[]>;
|
|
17
17
|
prime(): Promise<boolean>;
|
|
18
18
|
remove(_address: string | string[]): this;
|
|
19
|
-
resolve(filter?: ModuleFilter): Promise<ModuleInstance[]>;
|
|
20
|
-
resolve(nameOrAddress: string): Promise<ModuleInstance | undefined>;
|
|
19
|
+
resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<ModuleInstance[]>;
|
|
20
|
+
resolve<T extends ModuleInstance = ModuleInstance>(nameOrAddress: string, options?: ModuleFilterOptions<T>): Promise<ModuleInstance | undefined>;
|
|
21
21
|
private resolveByAddress;
|
|
22
22
|
private resolveByName;
|
|
23
23
|
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,EAEL,MAAM,EACN,YAAY,EACZ,cAAc,EACd,cAAc,EAGf,MAAM,2BAA2B,CAAA;AAUlC,qBAAa,oBAAqB,SAAQ,uBAAwB,YAAW,cAAc;IAQvF,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY;IACvC,SAAS,CAAC,cAAc,EAAE,eAAe;IAR3C,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,eAAe,CAA8C;gBAKhD,MAAM,EAAE,YAAY,EAC7B,cAAc,EAAE,eAAe;IAK3C,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;IAmBxB,KAAK;IAUI,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAInC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,
|
|
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,mBAAmB,EACnB,cAAc,EACd,cAAc,EAGf,MAAM,2BAA2B,CAAA;AAUlC,qBAAa,oBAAqB,SAAQ,uBAAwB,YAAW,cAAc;IAQvF,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY;IACvC,SAAS,CAAC,cAAc,EAAE,eAAe;IAR3C,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,eAAe,CAA8C;gBAKhD,MAAM,EAAE,YAAY,EAC7B,cAAc,EAAE,eAAe;IAK3C,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;IAmBxB,KAAK;IAUI,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAInC,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC9D,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,cAAc,EAAE,CAAC;IACb,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC9D,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;YAuBxB,gBAAgB;YAoDhB,aAAa;YAOb,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.
|
|
15
|
-
"@xyo-network/address-payload-plugin": "~2.
|
|
16
|
-
"@xyo-network/archivist-model": "~2.
|
|
17
|
-
"@xyo-network/archivist-wrapper": "~2.
|
|
18
|
-
"@xyo-network/boundwitness-builder": "~2.
|
|
19
|
-
"@xyo-network/bridge-model": "~2.
|
|
20
|
-
"@xyo-network/diviner": "~2.
|
|
21
|
-
"@xyo-network/diviner-model": "~2.
|
|
22
|
-
"@xyo-network/error": "~2.
|
|
23
|
-
"@xyo-network/manifest-model": "~2.
|
|
24
|
-
"@xyo-network/module": "~2.
|
|
25
|
-
"@xyo-network/module-model": "~2.
|
|
26
|
-
"@xyo-network/node-model": "~2.
|
|
27
|
-
"@xyo-network/node-wrapper": "~2.
|
|
28
|
-
"@xyo-network/payload-model": "~2.
|
|
29
|
-
"@xyo-network/promise": "~2.
|
|
30
|
-
"@xyo-network/sentinel": "~2.
|
|
31
|
-
"@xyo-network/witness-model": "~2.
|
|
32
|
-
"@xyo-network/witness-wrapper": "~2.
|
|
14
|
+
"@xyo-network/account-model": "~2.70.0",
|
|
15
|
+
"@xyo-network/address-payload-plugin": "~2.70.0",
|
|
16
|
+
"@xyo-network/archivist-model": "~2.70.0",
|
|
17
|
+
"@xyo-network/archivist-wrapper": "~2.70.0",
|
|
18
|
+
"@xyo-network/boundwitness-builder": "~2.70.0",
|
|
19
|
+
"@xyo-network/bridge-model": "~2.70.0",
|
|
20
|
+
"@xyo-network/diviner": "~2.70.0",
|
|
21
|
+
"@xyo-network/diviner-model": "~2.70.0",
|
|
22
|
+
"@xyo-network/error": "~2.70.0",
|
|
23
|
+
"@xyo-network/manifest-model": "~2.70.0",
|
|
24
|
+
"@xyo-network/module": "~2.70.0",
|
|
25
|
+
"@xyo-network/module-model": "~2.70.0",
|
|
26
|
+
"@xyo-network/node-model": "~2.70.0",
|
|
27
|
+
"@xyo-network/node-wrapper": "~2.70.0",
|
|
28
|
+
"@xyo-network/payload-model": "~2.70.0",
|
|
29
|
+
"@xyo-network/promise": "~2.70.0",
|
|
30
|
+
"@xyo-network/sentinel": "~2.70.0",
|
|
31
|
+
"@xyo-network/witness-model": "~2.70.0",
|
|
32
|
+
"@xyo-network/witness-wrapper": "~2.70.0",
|
|
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.
|
|
73
|
+
"version": "2.70.0"
|
|
74
74
|
}
|
package/src/ModuleResolver.ts
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
AddressModuleFilter,
|
|
12
12
|
Module,
|
|
13
13
|
ModuleFilter,
|
|
14
|
+
ModuleFilterOptions,
|
|
14
15
|
ModuleInstance,
|
|
15
16
|
ModuleResolver,
|
|
16
17
|
NameModuleFilter,
|
|
@@ -93,22 +94,37 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
|
|
|
93
94
|
throw new Error('Method not implemented.')
|
|
94
95
|
}
|
|
95
96
|
|
|
96
|
-
override async resolve
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
override async resolve<T extends ModuleInstance = ModuleInstance>(
|
|
98
|
+
filter?: ModuleFilter<T>,
|
|
99
|
+
options?: ModuleFilterOptions<T>,
|
|
100
|
+
): Promise<ModuleInstance[]>
|
|
101
|
+
override async resolve<T extends ModuleInstance = ModuleInstance>(
|
|
102
|
+
nameOrAddress: string,
|
|
103
|
+
options?: ModuleFilterOptions<T>,
|
|
104
|
+
): Promise<ModuleInstance | undefined>
|
|
105
|
+
override async resolve<T extends ModuleInstance = ModuleInstance>(
|
|
106
|
+
nameOrAddressOrFilter?: ModuleFilter<T> | string,
|
|
107
|
+
options?: ModuleFilterOptions<T>,
|
|
108
|
+
): Promise<ModuleInstance | ModuleInstance[] | undefined> {
|
|
109
|
+
const mutatedOptions = { ...options, maxDepth: (options?.maxDepth ?? BridgeModuleResolver.defaultMaxDepth) - 1 }
|
|
99
110
|
await this.prime()
|
|
100
111
|
await this.resolveRemoteModules()
|
|
101
112
|
if (typeof nameOrAddressOrFilter === 'string') {
|
|
102
|
-
|
|
103
|
-
|
|
113
|
+
if (mutatedOptions.maxDepth < 0) {
|
|
114
|
+
return undefined
|
|
115
|
+
}
|
|
116
|
+
const result: T | undefined = (await this.resolveByAddress<T>(nameOrAddressOrFilter)) ?? (await this.resolveByName<T>(nameOrAddressOrFilter))
|
|
104
117
|
return result
|
|
105
118
|
} else {
|
|
106
|
-
|
|
119
|
+
if (mutatedOptions.maxDepth < 0) {
|
|
120
|
+
return []
|
|
121
|
+
}
|
|
122
|
+
const result: T[] = await this.resolveRemoteModules<T>(nameOrAddressOrFilter)
|
|
107
123
|
return result
|
|
108
124
|
}
|
|
109
125
|
}
|
|
110
126
|
|
|
111
|
-
private async resolveByAddress(targetAddress: string): Promise<
|
|
127
|
+
private async resolveByAddress<T extends ModuleInstance = ModuleInstance>(targetAddress: string): Promise<T | undefined> {
|
|
112
128
|
const remoteAddresses = await this.getRemoteAddresses()
|
|
113
129
|
|
|
114
130
|
//check if it is even there
|
|
@@ -118,7 +134,7 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
|
|
|
118
134
|
}
|
|
119
135
|
|
|
120
136
|
const cached = this.resolvedModules[targetAddress]
|
|
121
|
-
if (cached) return await cached
|
|
137
|
+
if (cached) return (await cached) as T
|
|
122
138
|
|
|
123
139
|
this.resolvedModules[targetAddress] =
|
|
124
140
|
this.resolvedModules[targetAddress] ??
|
|
@@ -157,52 +173,52 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
|
|
|
157
173
|
}
|
|
158
174
|
})(targetAddress)
|
|
159
175
|
|
|
160
|
-
return await this.resolvedModules[targetAddress]
|
|
176
|
+
return (await this.resolvedModules[targetAddress]) as T
|
|
161
177
|
}
|
|
162
178
|
|
|
163
|
-
private async resolveByName(name: string): Promise<
|
|
179
|
+
private async resolveByName<T extends ModuleInstance = ModuleInstance>(name: string): Promise<T | undefined> {
|
|
164
180
|
const modules = await this.currentResolvedModules()
|
|
165
181
|
return Object.values(modules)
|
|
166
182
|
.filter((module) => module.config.name === name)
|
|
167
|
-
.pop()
|
|
183
|
+
.pop() as T
|
|
168
184
|
}
|
|
169
185
|
|
|
170
|
-
private async resolveByQuery(queries: string[]): Promise<
|
|
186
|
+
private async resolveByQuery<T extends ModuleInstance = ModuleInstance>(queries: string[]): Promise<T[]> {
|
|
171
187
|
return Object.values(await this.currentResolvedModules()).filter((module) => {
|
|
172
188
|
//filter out the requested queries
|
|
173
189
|
const found = module.queries.filter((query) => queries.find((q) => q === query))
|
|
174
190
|
|
|
175
191
|
//did we find all the requested queries?
|
|
176
192
|
return queries.length === found.length
|
|
177
|
-
})
|
|
193
|
+
}) as T[]
|
|
178
194
|
}
|
|
179
195
|
|
|
180
|
-
private async resolveRemoteModules(filter?: ModuleFilter): Promise<
|
|
196
|
+
private async resolveRemoteModules<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter): Promise<T[]> {
|
|
181
197
|
if ((filter as AddressModuleFilter)?.address) {
|
|
182
|
-
return await this.resolveRemoteModulesByAddress(filter as AddressModuleFilter)
|
|
198
|
+
return await this.resolveRemoteModulesByAddress<T>(filter as AddressModuleFilter)
|
|
183
199
|
}
|
|
184
200
|
|
|
185
201
|
if ((filter as NameModuleFilter)?.name) {
|
|
186
|
-
return await this.resolveRemoteModulesByName(filter as NameModuleFilter)
|
|
202
|
+
return await this.resolveRemoteModulesByName<T>(filter as NameModuleFilter)
|
|
187
203
|
}
|
|
188
204
|
|
|
189
205
|
if ((filter as QueryModuleFilter)?.query) {
|
|
190
|
-
return await this.resolveRemoteModulesByQuery(filter as QueryModuleFilter)
|
|
206
|
+
return await this.resolveRemoteModulesByQuery<T>(filter as QueryModuleFilter)
|
|
191
207
|
}
|
|
192
208
|
|
|
193
209
|
//get all of them
|
|
194
|
-
return await this.resolveRemoteModulesByAddress({ address: await this.getRemoteAddresses() })
|
|
210
|
+
return await this.resolveRemoteModulesByAddress<T>({ address: await this.getRemoteAddresses() })
|
|
195
211
|
}
|
|
196
212
|
|
|
197
|
-
private async resolveRemoteModulesByAddress(filter: AddressModuleFilter): Promise<
|
|
198
|
-
return compact(await Promise.all(filter.address.map((address) => this.resolveByAddress(address))))
|
|
213
|
+
private async resolveRemoteModulesByAddress<T extends ModuleInstance = ModuleInstance>(filter: AddressModuleFilter): Promise<T[]> {
|
|
214
|
+
return compact(await Promise.all(filter.address.map((address) => this.resolveByAddress<T>(address))))
|
|
199
215
|
}
|
|
200
216
|
|
|
201
|
-
private async resolveRemoteModulesByName(filter: NameModuleFilter): Promise<
|
|
202
|
-
return compact(await Promise.all(filter.name.map(async (name) => await this.resolveByName(name))))
|
|
217
|
+
private async resolveRemoteModulesByName<T extends ModuleInstance = ModuleInstance>(filter: NameModuleFilter): Promise<T[]> {
|
|
218
|
+
return compact(await Promise.all(filter.name.map(async (name) => await this.resolveByName<T>(name))))
|
|
203
219
|
}
|
|
204
220
|
|
|
205
|
-
private async resolveRemoteModulesByQuery(filter: QueryModuleFilter): Promise<
|
|
206
|
-
return compact((await Promise.all(filter.query.map(async (query) => await this.resolveByQuery(query)))).flat())
|
|
221
|
+
private async resolveRemoteModulesByQuery<T extends ModuleInstance = ModuleInstance>(filter: QueryModuleFilter): Promise<T[]> {
|
|
222
|
+
return compact((await Promise.all(filter.query.map(async (query) => await this.resolveByQuery<T>(query)))).flat())
|
|
207
223
|
}
|
|
208
224
|
}
|