@xyo-network/bridge-module-resolver 2.47.5 → 2.47.6

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.
@@ -18,9 +18,18 @@ class BridgeModuleResolver extends module_1.CompositeModuleResolver {
18
18
  get isModuleResolver() {
19
19
  return true;
20
20
  }
21
- add(_module, _name) {
21
+ add(_module) {
22
22
  throw new Error('Method not implemented.');
23
23
  }
24
+ currentResolvedModules() {
25
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
26
+ const result = {};
27
+ yield Promise.all(Object.entries(this.resolvedModules).map(([key, value]) => tslib_1.__awaiter(this, void 0, void 0, function* () {
28
+ result[key] = yield value;
29
+ })));
30
+ return result;
31
+ });
32
+ }
24
33
  remove(_address) {
25
34
  throw new Error('Method not implemented.');
26
35
  }
@@ -44,27 +53,64 @@ class BridgeModuleResolver extends module_1.CompositeModuleResolver {
44
53
  });
45
54
  }
46
55
  resolveByAddress(targetAddress) {
47
- const cached = this.resolvedModules[targetAddress];
48
- if (cached)
49
- return cached;
50
- const mod = new ProxyModule_1.ProxyModule(this.bridge, targetAddress);
51
- this.resolvedModules[targetAddress] = mod;
52
- return mod;
56
+ var _a;
57
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
58
+ const cached = this.resolvedModules[targetAddress];
59
+ if (cached)
60
+ return yield cached;
61
+ this.resolvedModules[targetAddress] =
62
+ (_a = this.resolvedModules[targetAddress]) !== null && _a !== void 0 ? _a : ((address) => tslib_1.__awaiter(this, void 0, void 0, function* () {
63
+ const mod = new ProxyModule_1.ProxyModule(this.bridge, address);
64
+ //discover it to set the config in the bridge
65
+ yield this.bridge.targetDiscover(targetAddress);
66
+ return mod;
67
+ }))(targetAddress);
68
+ return yield this.resolvedModules[targetAddress];
69
+ });
53
70
  }
54
71
  resolveByName(name) {
55
- const cached = this.resolvedModules[name];
56
- if (cached)
57
- return cached;
58
- return undefined;
72
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
73
+ return Object.values(yield this.currentResolvedModules()).filter((module) => module.config.name === name);
74
+ });
75
+ }
76
+ resolveByQuery(queries) {
77
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
78
+ return Object.values(yield this.currentResolvedModules()).filter((module) => {
79
+ //filter out the requested queries
80
+ const found = module.queries.filter((query) => queries.find((q) => q === query));
81
+ //did we find all the requested queries?
82
+ return queries.length === found.length;
83
+ });
84
+ });
59
85
  }
60
86
  resolveRemoteModules(filter) {
61
- var _a, _b;
62
87
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
63
- const addresses = filter ? filter === null || filter === void 0 ? void 0 : filter.address : yield this.getRemoteAddresses();
64
- const names = filter === null || filter === void 0 ? void 0 : filter.name;
65
- const byAddress = (0, compact_1.default)(yield Promise.all((_a = addresses === null || addresses === void 0 ? void 0 : addresses.map((address) => this.resolveByAddress(address))) !== null && _a !== void 0 ? _a : []));
66
- const byName = (0, compact_1.default)(yield Promise.all((_b = names === null || names === void 0 ? void 0 : names.map((name) => this.resolveByName(name))) !== null && _b !== void 0 ? _b : []));
67
- return [...byAddress, ...byName];
88
+ if (filter === null || filter === void 0 ? void 0 : filter.address) {
89
+ return this.resolveRemoteModulesByAddress(filter);
90
+ }
91
+ if (filter === null || filter === void 0 ? void 0 : filter.name) {
92
+ return this.resolveRemoteModulesByName(filter);
93
+ }
94
+ if (filter === null || filter === void 0 ? void 0 : filter.query) {
95
+ return this.resolveRemoteModulesByQuery(filter);
96
+ }
97
+ //get all of them
98
+ return this.resolveRemoteModulesByAddress({ address: yield this.getRemoteAddresses() });
99
+ });
100
+ }
101
+ resolveRemoteModulesByAddress(filter) {
102
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
103
+ return (0, compact_1.default)(yield Promise.all(filter.address.map((address) => this.resolveByAddress(address))));
104
+ });
105
+ }
106
+ resolveRemoteModulesByName(filter) {
107
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
108
+ return (0, compact_1.default)((yield Promise.all(filter.name.map((name) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield this.resolveByName(name); })))).flat());
109
+ });
110
+ }
111
+ resolveRemoteModulesByQuery(filter) {
112
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
113
+ return (0, compact_1.default)((yield Promise.all(filter.query.map((query) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield this.resolveByQuery(query); })))).flat());
68
114
  });
69
115
  }
70
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":";;;;AAAA,gFAAmF;AAEnF,gDAA6D;AAE7D,qEAAoC;AACpC,qEAAoC;AAEpC,+CAA2C;AAE3C,MAAa,oBAAqB,SAAQ,gCAAuB;IAG/D,yEAAyE;IACzE,uCAAuC;IACvC,YAA+B,MAAoB;QACjD,KAAK,EAAE,CAAA;QADsB,WAAM,GAAN,MAAM,CAAc;QAJ3C,oBAAe,GAAgC,EAAE,CAAA;IAMzD,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAKD,GAAG,CAAC,OAAgB,EAAE,KAAe;QACnC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAID,MAAM,CAAC,QAAiB;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAEK,OAAO,CAAC,MAAqB;;YACjC,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,IAAA,iBAAO,EAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC5E,CAAC;KAAA;IAEa,kBAAkB;;YAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;YACnD,OAAO,IAAA,iBAAO,EACZ,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvB,IAAI,OAAO,CAAC,MAAM,KAAK,sCAAa,EAAE;oBACpC,MAAM,aAAa,GAAG,OAAyB,CAAA;oBAC/C,OAAO,aAAa,CAAC,OAAO,CAAA;iBAC7B;qBAAM;oBACL,OAAO,IAAI,CAAA;iBACZ;YACH,CAAC,CAAC,CACH,CAAA;QACH,CAAC;KAAA;IAEO,gBAAgB,CAAC,aAAqB;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;QAClD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;QACzB,MAAM,GAAG,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACvD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,GAAG,CAAA;QACzC,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;QACzB,OAAO,SAAS,CAAA;IAClB,CAAC;IAEa,oBAAoB,CAAC,MAAqB;;;YACtD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;YAC5E,MAAM,KAAK,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA;YAC1B,MAAM,SAAS,GAAG,IAAA,iBAAO,EAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAA;YAC/G,MAAM,MAAM,GAAG,IAAA,iBAAO,EAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAA;YAC/F,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,CAAA;;KACjC;CACF;AAjED,oDAiEC"}
1
+ {"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProxyModule = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const module_1 = require("@xyo-network/module");
6
5
  class ProxyModule {
7
6
  constructor(bridge, _address) {
8
7
  this.bridge = bridge;
@@ -12,7 +11,7 @@ class ProxyModule {
12
11
  return this._address;
13
12
  }
14
13
  get config() {
15
- return { schema: module_1.ModuleConfigSchema };
14
+ return this.bridge.targetConfig(this.address);
16
15
  }
17
16
  get queries() {
18
17
  return this.bridge.targetQueries(this.address);
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyModule.js","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":";;;;AACA,gDAAqI;AAGrI,MAAa,WAAW;IACtB,YAA+B,MAAoB,EAAqB,QAAgB;QAAzD,WAAM,GAAN,MAAM,CAAc;QAAqB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAE5F,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,EAAE,MAAM,EAAE,2BAAkB,EAAE,CAAA;IACvC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAA;IACnC,CAAC;IAEK,KAAK,CAAwD,KAAQ,EAAE,QAAuB;;YAClG,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QACrE,CAAC;KAAA;IAEK,SAAS,CAAC,KAA2B,EAAE,QAAuB,EAAE,WAA0B;;YAC9F,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;QACtF,CAAC;KAAA;IAED,uGAAuG;IACjG,OAAO,CAAC,MAAqB;;YACjC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC9D,CAAC;KAAA;CACF;AA/BD,kCA+BC"}
1
+ {"version":3,"file":"ProxyModule.js","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":";;;;AAIA,MAAa,WAAW;IACtB,YAA+B,MAAoB,EAAqB,QAAgB;QAAzD,WAAM,GAAN,MAAM,CAAc;QAAqB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAE5F,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAA;IACnC,CAAC;IAEK,KAAK,CAAwD,KAAQ,EAAE,QAAuB;;YAClG,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QACrE,CAAC;KAAA;IAEK,SAAS,CAAC,KAA2B,EAAE,QAAuB,EAAE,WAA0B;;YAC9F,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;QACtF,CAAC;KAAA;IAED,uGAAuG;IACjG,OAAO,CAAC,MAAqB;;YACjC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC9D,CAAC;KAAA;CACF;AA/BD,kCA+BC"}