@xyo-network/node 2.51.1 → 2.51.3

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.
@@ -39,19 +39,36 @@ export class AbstractNode extends AbstractModule {
39
39
  const childModAddresses = childMods.map((mod) => new XyoPayloadBuilder({ schema: AddressSchema }).fields({ address: mod.address, name: mod.config.name }).build());
40
40
  return [...(await super.discover()), ...childModAddresses];
41
41
  }
42
- on(event, listener) {
43
- switch (event) {
44
- case ModuleAttachedEvent:
45
- this.moduleAttachedEventListeners?.push(listener);
46
- break;
47
- case ModuleDetachedEvent:
48
- this.moduleDetachedEventListeners?.push(listener);
49
- break;
50
- case ModuleRegisteredEvent:
51
- this.moduleRegisteredEventListeners?.push(listener);
52
- break;
53
- default:
54
- return super.on(event, listener);
42
+ on(event, listener, remove) {
43
+ if (remove) {
44
+ switch (event) {
45
+ case ModuleAttachedEvent:
46
+ this.moduleAttachedEventListeners = this.moduleAttachedEventListeners?.filter((item) => item != listener);
47
+ break;
48
+ case ModuleDetachedEvent:
49
+ this.moduleDetachedEventListeners = this.moduleDetachedEventListeners?.filter((item) => item != listener);
50
+ break;
51
+ case ModuleRegisteredEvent:
52
+ this.moduleRegisteredEventListeners = this.moduleRegisteredEventListeners?.filter((item) => item != listener);
53
+ break;
54
+ default:
55
+ return super.on(event, listener);
56
+ }
57
+ }
58
+ else {
59
+ switch (event) {
60
+ case ModuleAttachedEvent:
61
+ this.moduleAttachedEventListeners?.push(listener);
62
+ break;
63
+ case ModuleDetachedEvent:
64
+ this.moduleDetachedEventListeners?.push(listener);
65
+ break;
66
+ case ModuleRegisteredEvent:
67
+ this.moduleRegisteredEventListeners?.push(listener);
68
+ break;
69
+ default:
70
+ return super.on(event, listener);
71
+ }
55
72
  }
56
73
  return this;
57
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.js","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractNode.js","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAkB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAShB,wBAAwB,EACxB,eAAe,GAEhB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAIhE,OAAO,EAAc,gBAAgB,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EACL,mBAAmB,EAEnB,mBAAmB,EAEnB,qBAAqB,GAEtB,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,wBAAwB,EAAgB,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAItJ,MAAM,OAAgB,YAAsE,SAAQ,cAAuB;IACzH,MAAM,CAAmB,YAAY,GAAG,gBAAgB,CAAA;IAE9C,4BAA4B,GAA6C,EAAE,CAAA;IAC3E,4BAA4B,GAA6C,EAAE,CAAA;IAC3E,8BAA8B,GAA+C,EAAE,CAAA;IAEtE,eAAe,GAAG,IAAI,uBAAuB,EAAE,CAAA;IAEjD,MAAM,GAAG,IAAI,CAAA;IAE9B,YAAsB,MAAe;QACnC,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAa,OAAO;QAClB,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;IACzI,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,MAAM,CAAC,MAAoC;QAC/D,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAiB,CAAA;IACrD,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAe;QAC3B,OAAQ,MAAuB,CAAC,MAAM,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACvE,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,CAAC;IAEQ,KAAK,CAAC,QAAQ;QACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QAC9C,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC9C,IAAI,iBAAiB,CAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CACjI,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAA;IAC5D,CAAC;IAMQ,EAAE,CACT,KAA6F,EAC7F,QAAgD,EAChD,MAAgB;QAEhB,IAAI,MAAM,EAAE;YACV,QAAQ,KAAK,EAAE;gBACb,KAAK,mBAAmB;oBACtB,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAA;oBACzG,MAAK;gBACP,KAAK,mBAAmB;oBACtB,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAA;oBACzG,MAAK;gBACP,KAAK,qBAAqB;oBACxB,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAA;oBAC7G,MAAK;gBACP;oBACE,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;aACnC;SACF;aAAM;YACL,QAAQ,KAAK,EAAE;gBACb,KAAK,mBAAmB;oBACtB,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,QAAkD,CAAC,CAAA;oBAC3F,MAAK;gBACP,KAAK,mBAAmB;oBACtB,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,QAAkD,CAAC,CAAA;oBAC3F,MAAK;gBACP,KAAK,qBAAqB;oBACxB,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,QAAoD,CAAC,CAAA;oBAC/F,MAAK;gBACP;oBACE,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;aACnC;SACF;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAEQ,KAAK,CAAC,KAAK,CAClB,KAAQ,EACR,QAAuB,EACvB,WAAqB;QAErB,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAe,KAAK,EAAE,QAAQ,CAAC,CAAA;QAClF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;QACtD,MAAM,YAAY,GAAG,IAAI,OAAO,EAAE,CAAA;QAClC,MAAM,cAAc,GAAiB,EAAE,CAAA;QACvC,IAAI;YACF,QAAQ,UAAU,CAAC,MAAM,EAAE;gBACzB,KAAK,wBAAwB,CAAC,CAAC;oBAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;oBACrC,MAAK;iBACN;gBACD,KAAK,wBAAwB,CAAC,CAAC;oBAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;oBACrC,MAAK;iBACN;gBACD,KAAK,0BAA0B,CAAC,CAAC;oBAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;oBACvC,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;wBAC/B,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;wBAC5F,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;qBAC7B;oBACD,MAAK;iBACN;gBACD,KAAK,4BAA4B,CAAC,CAAC;oBACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;oBACzC,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;wBAC/B,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;wBAC5F,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;qBAC7B;oBACD,MAAK;iBACN;gBACD;oBACE,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;aAC5C;SACF;QAAC,OAAO,EAAE,EAAE;YACX,MAAM,KAAK,GAAG,EAAW,CAAA;YACzB,cAAc,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;SAChF;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IACtD,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,UAAU;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,iBAAiB;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAEkB,KAAK,CAAC,OAAO,CAAkC,MAAqB;QACrF,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAU,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAU,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACvI,CAAC"}
@@ -7,9 +7,9 @@ import { NodeModule } from './Node';
7
7
  export type AbstractNodeParams<TConfig extends NodeConfig = NodeConfig> = ModuleParams<TConfig>;
8
8
  export declare abstract class AbstractNode<TParams extends AbstractNodeParams = AbstractNodeParams> extends AbstractModule<TParams> implements NodeModule {
9
9
  static readonly configSchema: "network.xyo.node.config";
10
- protected readonly moduleAttachedEventListeners: EventListener<ModuleAttachedEventArgs>[];
11
- protected readonly moduleDetachedEventListeners: EventListener<ModuleDetachedEventArgs>[];
12
- protected readonly moduleRegisteredEventListeners: EventListener<ModuleRegisteredEventArgs>[];
10
+ protected moduleAttachedEventListeners: EventListener<ModuleAttachedEventArgs>[];
11
+ protected moduleDetachedEventListeners: EventListener<ModuleDetachedEventArgs>[];
12
+ protected moduleRegisteredEventListeners: EventListener<ModuleRegisteredEventArgs>[];
13
13
  protected readonly privateResolver: CompositeModuleResolver;
14
14
  private readonly isNode;
15
15
  protected constructor(params: TParams);
@@ -20,10 +20,10 @@ export declare abstract class AbstractNode<TParams extends AbstractNodeParams =
20
20
  attached(): Promise<string[]>;
21
21
  attachedModules(): Promise<Module[]>;
22
22
  discover(): Promise<XyoPayload[]>;
23
- on(event: ModuleQueriedEvent, listener: (args: ModuleQueriedEventArgs) => void): this;
24
- on(event: ModuleAttachedEvent, listener: (args: ModuleAttachedEventArgs) => void): this;
25
- on(event: ModuleDetachedEvent, listener: (args: ModuleDetachedEventArgs) => void): this;
26
- on(event: ModuleRegisteredEvent, listener: (args: ModuleRegisteredEventArgs) => void): this;
23
+ on(event: ModuleQueriedEvent, listener: (args: ModuleQueriedEventArgs, remove?: boolean) => void): this;
24
+ on(event: ModuleAttachedEvent, listener: (args: ModuleAttachedEventArgs) => void, remove?: boolean): this;
25
+ on(event: ModuleDetachedEvent, listener: (args: ModuleDetachedEventArgs) => void, remove?: boolean): this;
26
+ on(event: ModuleRegisteredEvent, listener: (args: ModuleRegisteredEventArgs) => void, remove?: boolean): this;
27
27
  query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: XyoPayload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
28
28
  register(_module: Module): Promisable<this>;
29
29
  registered(): Promisable<string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -13,20 +13,20 @@
13
13
  "@xylabs/assert": "^2.7.4",
14
14
  "@xylabs/exists": "^2.7.4",
15
15
  "@xylabs/promise": "^2.7.4",
16
- "@xyo-network/account": "^2.51.1",
17
- "@xyo-network/account-model": "^2.51.1",
18
- "@xyo-network/address-payload-plugin": "^2.51.1",
19
- "@xyo-network/archivist-wrapper": "^2.51.1",
20
- "@xyo-network/module": "^2.51.1",
21
- "@xyo-network/module-model": "^2.51.1",
22
- "@xyo-network/payload-builder": "^2.51.1",
23
- "@xyo-network/payload-model": "^2.51.1",
24
- "@xyo-network/payload-wrapper": "^2.51.1",
25
- "@xyo-network/promise": "^2.51.1"
16
+ "@xyo-network/account": "^2.51.3",
17
+ "@xyo-network/account-model": "^2.51.3",
18
+ "@xyo-network/address-payload-plugin": "^2.51.3",
19
+ "@xyo-network/archivist-wrapper": "^2.51.3",
20
+ "@xyo-network/module": "^2.51.3",
21
+ "@xyo-network/module-model": "^2.51.3",
22
+ "@xyo-network/payload-builder": "^2.51.3",
23
+ "@xyo-network/payload-model": "^2.51.3",
24
+ "@xyo-network/payload-wrapper": "^2.51.3",
25
+ "@xyo-network/promise": "^2.51.3"
26
26
  },
27
27
  "devDependencies": {
28
- "@xylabs/ts-scripts-yarn3": "^2.16.0",
29
- "@xylabs/tsconfig": "^2.16.0",
28
+ "@xylabs/ts-scripts-yarn3": "^2.16.1",
29
+ "@xylabs/tsconfig": "^2.16.1",
30
30
  "typescript": "^4.9.5"
31
31
  },
32
32
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -62,5 +62,5 @@
62
62
  },
63
63
  "sideEffects": false,
64
64
  "types": "dist/types/index.d.ts",
65
- "version": "2.51.1"
65
+ "version": "2.51.3"
66
66
  }
@@ -38,9 +38,9 @@ export type AbstractNodeParams<TConfig extends NodeConfig = NodeConfig> = Module
38
38
  export abstract class AbstractNode<TParams extends AbstractNodeParams = AbstractNodeParams> extends AbstractModule<TParams> implements NodeModule {
39
39
  static override readonly configSchema = NodeConfigSchema
40
40
 
41
- protected readonly moduleAttachedEventListeners: EventListener<ModuleAttachedEventArgs>[] = []
42
- protected readonly moduleDetachedEventListeners: EventListener<ModuleDetachedEventArgs>[] = []
43
- protected readonly moduleRegisteredEventListeners: EventListener<ModuleRegisteredEventArgs>[] = []
41
+ protected moduleAttachedEventListeners: EventListener<ModuleAttachedEventArgs>[] = []
42
+ protected moduleDetachedEventListeners: EventListener<ModuleDetachedEventArgs>[] = []
43
+ protected moduleRegisteredEventListeners: EventListener<ModuleRegisteredEventArgs>[] = []
44
44
 
45
45
  protected readonly privateResolver = new CompositeModuleResolver()
46
46
 
@@ -83,27 +83,45 @@ export abstract class AbstractNode<TParams extends AbstractNodeParams = Abstract
83
83
  return [...(await super.discover()), ...childModAddresses]
84
84
  }
85
85
 
86
- override on(event: ModuleQueriedEvent, listener: (args: ModuleQueriedEventArgs) => void): this
87
- override on(event: ModuleAttachedEvent, listener: (args: ModuleAttachedEventArgs) => void): this
88
- override on(event: ModuleDetachedEvent, listener: (args: ModuleDetachedEventArgs) => void): this
89
- override on(event: ModuleRegisteredEvent, listener: (args: ModuleRegisteredEventArgs) => void): this
86
+ override on(event: ModuleQueriedEvent, listener: (args: ModuleQueriedEventArgs, remove?: boolean) => void): this
87
+ override on(event: ModuleAttachedEvent, listener: (args: ModuleAttachedEventArgs) => void, remove?: boolean): this
88
+ override on(event: ModuleDetachedEvent, listener: (args: ModuleDetachedEventArgs) => void, remove?: boolean): this
89
+ override on(event: ModuleRegisteredEvent, listener: (args: ModuleRegisteredEventArgs) => void, remove?: boolean): this
90
90
  override on(
91
91
  event: ModuleQueriedEvent | ModuleAttachedEvent | ModuleDetachedEvent | ModuleRegisteredEvent,
92
92
  listener: (args: ModuleQueriedEventArgs) => void,
93
+ remove?: boolean,
93
94
  ): this {
94
- switch (event) {
95
- case ModuleAttachedEvent:
96
- this.moduleAttachedEventListeners?.push(listener as EventListener<ModuleAttachedEventArgs>)
97
- break
98
- case ModuleDetachedEvent:
99
- this.moduleDetachedEventListeners?.push(listener as EventListener<ModuleDetachedEventArgs>)
100
- break
101
- case ModuleRegisteredEvent:
102
- this.moduleRegisteredEventListeners?.push(listener as EventListener<ModuleRegisteredEventArgs>)
103
- break
104
- default:
105
- return super.on(event, listener)
95
+ if (remove) {
96
+ switch (event) {
97
+ case ModuleAttachedEvent:
98
+ this.moduleAttachedEventListeners = this.moduleAttachedEventListeners?.filter((item) => item != listener)
99
+ break
100
+ case ModuleDetachedEvent:
101
+ this.moduleDetachedEventListeners = this.moduleDetachedEventListeners?.filter((item) => item != listener)
102
+ break
103
+ case ModuleRegisteredEvent:
104
+ this.moduleRegisteredEventListeners = this.moduleRegisteredEventListeners?.filter((item) => item != listener)
105
+ break
106
+ default:
107
+ return super.on(event, listener)
108
+ }
109
+ } else {
110
+ switch (event) {
111
+ case ModuleAttachedEvent:
112
+ this.moduleAttachedEventListeners?.push(listener as EventListener<ModuleAttachedEventArgs>)
113
+ break
114
+ case ModuleDetachedEvent:
115
+ this.moduleDetachedEventListeners?.push(listener as EventListener<ModuleDetachedEventArgs>)
116
+ break
117
+ case ModuleRegisteredEvent:
118
+ this.moduleRegisteredEventListeners?.push(listener as EventListener<ModuleRegisteredEventArgs>)
119
+ break
120
+ default:
121
+ return super.on(event, listener)
122
+ }
106
123
  }
124
+
107
125
  return this
108
126
  }
109
127