@xyo-network/bridge-module-resolver 2.50.4 → 2.50.5

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.
@@ -1,9 +1,10 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
- import { CompositeModuleResolver } from '@xyo-network/module';
2
+ import { CompositeModuleResolver, ModuleQueriedEvent, } from '@xyo-network/module';
3
3
  export class ProxyModule {
4
4
  bridge;
5
5
  _address;
6
6
  upResolver = new CompositeModuleResolver();
7
+ moduleQueriedEventListeners = [];
7
8
  constructor(bridge, _address) {
8
9
  this.bridge = bridge;
9
10
  this._address = _address;
@@ -20,8 +21,19 @@ export class ProxyModule {
20
21
  get queries() {
21
22
  return this.bridge.targetQueries(this.address);
22
23
  }
24
+ on(event, listener) {
25
+ switch (event) {
26
+ case ModuleQueriedEvent:
27
+ this.moduleQueriedEventListeners?.push(listener);
28
+ break;
29
+ }
30
+ return this;
31
+ }
23
32
  async query(query, payloads) {
24
- return assertEx(await this.bridge.targetQuery(this.address, query, payloads), 'Remote Query Failed');
33
+ const result = assertEx(await this.bridge.targetQuery(this.address, query, payloads), 'Remote Query Failed');
34
+ const args = { module: this, payloads, query, result };
35
+ this.moduleQueriedEventListeners?.map((listener) => listener(args));
36
+ return result;
25
37
  }
26
38
  async queryable(query, payloads, queryConfig) {
27
39
  return await this.bridge.targetQueryable(this.address, query, payloads, queryConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyModule.js","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,uBAAuB,EAA+E,MAAM,qBAAqB,CAAA;AAG1I,MAAM,OAAO,WAAW;IAGS;IAAyC;IAF/D,UAAU,GAAG,IAAI,uBAAuB,EAAE,CAAA;IAEnD,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,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAA;IACvC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,KAAK,CAAwD,KAAQ,EAAE,QAAuB;QAClG,OAAO,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,qBAAqB,CAAC,CAAA;IACtG,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA2B,EAAE,QAAuB,EAAE,WAA0B;QAC9F,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACtF,CAAC;IAED,uGAAuG;IACvG,KAAK,CAAC,OAAO,CAAC,MAAqB;QACjC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"ProxyModule.js","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EACL,uBAAuB,EAKvB,kBAAkB,GAInB,MAAM,qBAAqB,CAAA;AAG5B,MAAM,OAAO,WAAW;IAIS;IAAyC;IAH/D,UAAU,GAAG,IAAI,uBAAuB,EAAE,CAAA;IAChC,2BAA2B,GAA4C,EAAE,CAAA;IAE5F,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,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAA;IACvC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,EAAE,CAAC,KAAyB,EAAE,QAAgD;QAC5E,QAAQ,KAAK,EAAE;YACb,KAAK,kBAAkB;gBACrB,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,QAAiD,CAAC,CAAA;gBACzF,MAAK;SACR;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,KAAK,CAAwD,KAAQ,EAAE,QAAuB;QAClG,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,qBAAqB,CAAC,CAAA;QAC5G,MAAM,IAAI,GAA2B,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;QAC9E,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QACnE,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA2B,EAAE,QAAuB,EAAE,WAA0B;QAC9F,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACtF,CAAC;IAED,uGAAuG;IACvG,KAAK,CAAC,OAAO,CAAC,MAAqB;QACjC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACF"}
@@ -1,15 +1,17 @@
1
1
  import { BridgeModule } from '@xyo-network/bridge-model';
2
- import { CompositeModuleResolver, Module, ModuleConfig, ModuleFilter, ModuleQueryResult, XyoQueryBoundWitness } from '@xyo-network/module';
2
+ import { CompositeModuleResolver, EventListener, Module, ModuleConfig, ModuleFilter, ModuleQueriedEvent, ModuleQueriedEventArgs, ModuleQueryResult, XyoQueryBoundWitness } from '@xyo-network/module';
3
3
  import { XyoPayload } from '@xyo-network/payload-model';
4
4
  export declare class ProxyModule implements Module {
5
5
  protected readonly bridge: BridgeModule;
6
6
  protected readonly _address: string;
7
7
  readonly upResolver: CompositeModuleResolver;
8
+ protected readonly moduleQueriedEventListeners: EventListener<ModuleQueriedEventArgs>[];
8
9
  constructor(bridge: BridgeModule, _address: string);
9
10
  get address(): string;
10
11
  get config(): ModuleConfig;
11
12
  get downResolver(): import("@xyo-network/module").ModuleResolver;
12
13
  get queries(): string[];
14
+ on(event: ModuleQueriedEvent, listener: (args: ModuleQueriedEventArgs) => void): this;
13
15
  query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult>;
14
16
  queryable(query: XyoQueryBoundWitness, payloads?: XyoPayload[], queryConfig?: ModuleConfig): Promise<boolean>;
15
17
  resolve(filter?: ModuleFilter): Promise<Module[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyModule.d.ts","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1I,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,qBAAa,WAAY,YAAW,MAAM;IAG5B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY;IAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAFxF,QAAQ,CAAC,UAAU,0BAAgC;gBAEpB,MAAM,EAAE,YAAY,EAAqB,QAAQ,EAAE,MAAM;IAExF,IAAI,OAAO,WAEV;IAED,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED,IAAI,YAAY,iDAEf;IAED,IAAI,OAAO,aAEV;IAEK,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI3H,SAAS,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7G,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAGxD"}
1
+ {"version":3,"file":"ProxyModule.d.ts","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,qBAAa,WAAY,YAAW,MAAM;IAI5B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY;IAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAHxF,QAAQ,CAAC,UAAU,0BAAgC;IACnD,SAAS,CAAC,QAAQ,CAAC,2BAA2B,EAAE,aAAa,CAAC,sBAAsB,CAAC,EAAE,CAAK;gBAE7D,MAAM,EAAE,YAAY,EAAqB,QAAQ,EAAE,MAAM;IAExF,IAAI,OAAO,WAEV;IAED,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED,IAAI,YAAY,iDAEf;IAED,IAAI,OAAO,aAEV;IAED,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,GAAG,IAAI;IAS/E,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAO3H,SAAS,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7G,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAGxD"}
package/package.json CHANGED
@@ -11,11 +11,11 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.7.4",
14
- "@xyo-network/address-payload-plugin": "^2.50.4",
15
- "@xyo-network/bridge-model": "^2.50.4",
16
- "@xyo-network/module": "^2.50.4",
17
- "@xyo-network/module-model": "^2.50.4",
18
- "@xyo-network/payload-model": "^2.50.4",
14
+ "@xyo-network/address-payload-plugin": "^2.50.5",
15
+ "@xyo-network/bridge-model": "^2.50.5",
16
+ "@xyo-network/module": "^2.50.5",
17
+ "@xyo-network/module-model": "^2.50.5",
18
+ "@xyo-network/payload-model": "^2.50.5",
19
19
  "lodash": "^4.17.21"
20
20
  },
21
21
  "devDependencies": {
@@ -56,5 +56,5 @@
56
56
  },
57
57
  "sideEffects": false,
58
58
  "types": "dist/types/index.d.ts",
59
- "version": "2.50.4"
59
+ "version": "2.50.5"
60
60
  }
@@ -1,10 +1,21 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import { BridgeModule } from '@xyo-network/bridge-model'
3
- import { CompositeModuleResolver, Module, ModuleConfig, ModuleFilter, ModuleQueryResult, XyoQueryBoundWitness } from '@xyo-network/module'
3
+ import {
4
+ CompositeModuleResolver,
5
+ EventListener,
6
+ Module,
7
+ ModuleConfig,
8
+ ModuleFilter,
9
+ ModuleQueriedEvent,
10
+ ModuleQueriedEventArgs,
11
+ ModuleQueryResult,
12
+ XyoQueryBoundWitness,
13
+ } from '@xyo-network/module'
4
14
  import { XyoPayload } from '@xyo-network/payload-model'
5
15
 
6
16
  export class ProxyModule implements Module {
7
17
  readonly upResolver = new CompositeModuleResolver()
18
+ protected readonly moduleQueriedEventListeners: EventListener<ModuleQueriedEventArgs>[] = []
8
19
 
9
20
  constructor(protected readonly bridge: BridgeModule, protected readonly _address: string) {}
10
21
 
@@ -24,8 +35,20 @@ export class ProxyModule implements Module {
24
35
  return this.bridge.targetQueries(this.address)
25
36
  }
26
37
 
38
+ on(event: ModuleQueriedEvent, listener: (args: ModuleQueriedEventArgs) => void): this {
39
+ switch (event) {
40
+ case ModuleQueriedEvent:
41
+ this.moduleQueriedEventListeners?.push(listener as EventListener<ModuleQueriedEventArgs>)
42
+ break
43
+ }
44
+ return this
45
+ }
46
+
27
47
  async query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult> {
28
- return assertEx(await this.bridge.targetQuery(this.address, query, payloads), 'Remote Query Failed')
48
+ const result = assertEx(await this.bridge.targetQuery(this.address, query, payloads), 'Remote Query Failed')
49
+ const args: ModuleQueriedEventArgs = { module: this, payloads, query, result }
50
+ this.moduleQueriedEventListeners?.map((listener) => listener(args))
51
+ return result
29
52
  }
30
53
 
31
54
  async queryable(query: XyoQueryBoundWitness, payloads?: XyoPayload[], queryConfig?: ModuleConfig): Promise<boolean> {