@xyo-network/node 2.42.8 → 2.42.10

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.
Files changed (39) hide show
  1. package/dist/cjs/AbstractNode.d.ts +3 -2
  2. package/dist/cjs/AbstractNode.d.ts.map +1 -1
  3. package/dist/cjs/AbstractNode.js +14 -3
  4. package/dist/cjs/AbstractNode.js.map +1 -1
  5. package/dist/cjs/MemoryNode.d.ts +3 -2
  6. package/dist/cjs/MemoryNode.d.ts.map +1 -1
  7. package/dist/cjs/MemoryNode.js +2 -1
  8. package/dist/cjs/MemoryNode.js.map +1 -1
  9. package/dist/cjs/NodeWrapper.d.ts +8 -11
  10. package/dist/cjs/NodeWrapper.d.ts.map +1 -1
  11. package/dist/cjs/NodeWrapper.js +16 -27
  12. package/dist/cjs/NodeWrapper.js.map +1 -1
  13. package/dist/cjs/index.d.ts +1 -0
  14. package/dist/cjs/index.d.ts.map +1 -1
  15. package/dist/cjs/index.js +1 -0
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/docs.json +6689 -2714
  18. package/dist/esm/AbstractNode.d.ts +3 -2
  19. package/dist/esm/AbstractNode.d.ts.map +1 -1
  20. package/dist/esm/AbstractNode.js +14 -3
  21. package/dist/esm/AbstractNode.js.map +1 -1
  22. package/dist/esm/MemoryNode.d.ts +3 -2
  23. package/dist/esm/MemoryNode.d.ts.map +1 -1
  24. package/dist/esm/MemoryNode.js +2 -1
  25. package/dist/esm/MemoryNode.js.map +1 -1
  26. package/dist/esm/NodeWrapper.d.ts +8 -11
  27. package/dist/esm/NodeWrapper.d.ts.map +1 -1
  28. package/dist/esm/NodeWrapper.js +16 -26
  29. package/dist/esm/NodeWrapper.js.map +1 -1
  30. package/dist/esm/index.d.ts +1 -0
  31. package/dist/esm/index.d.ts.map +1 -1
  32. package/dist/esm/index.js +1 -0
  33. package/dist/esm/index.js.map +1 -1
  34. package/package.json +9 -7
  35. package/src/AbstractNode.ts +15 -6
  36. package/src/MemoryNode.spec.ts +2 -2
  37. package/src/MemoryNode.ts +4 -7
  38. package/src/NodeWrapper.ts +20 -30
  39. package/src/index.ts +1 -0
@@ -1,9 +1,10 @@
1
- import { AbstractModule, ModuleDescription, ModuleFilter, ModuleParams, ModuleQueryResult, SimpleModuleResolver, XyoQueryBoundWitness } from '@xyo-network/module';
1
+ import { AbstractModule, Module, ModuleDescription, ModuleFilter, ModuleParams, ModuleQueryResult, SimpleModuleResolver, XyoQueryBoundWitness } from '@xyo-network/module';
2
2
  import { XyoPayload } from '@xyo-network/payload';
3
3
  import { Promisable } from '@xyo-network/promise';
4
4
  import { NodeConfig } from './Config';
5
5
  import { NodeModule } from './NodeModule';
6
- export declare abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig, TModule extends AbstractModule = AbstractModule> extends AbstractModule<TConfig> implements NodeModule {
6
+ export declare abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends AbstractModule<TConfig> implements NodeModule {
7
+ static configSchema: "network.xyo.node.config";
7
8
  isModuleResolver: boolean;
8
9
  protected internalResolver: SimpleModuleResolver<TModule>;
9
10
  private _archivist?;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EAEd,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAEjB,oBAAoB,EAEpB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,8BAAsB,YAAY,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,cAAc,GAAG,cAAc,CACzH,SAAQ,cAAc,CAAC,OAAO,CAC9B,YAAW,UAAU;IAEd,gBAAgB,UAAO;IAE9B,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACzD,OAAO,CAAC,UAAU,CAAC,CAAQ;IAE3B,SAAS,aAAa,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC;WAK/E,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAIzF,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,eAAe,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAI5B,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAMxC,OAAO;IAIR,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoC1I,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIhC,UAAU,IAAI,MAAM,EAAE;IAItB,iBAAiB,IAAI,OAAO,EAAE;IAIf,KAAK;IAKpB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IACtC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IACtC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9D,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAClE;AAED,2CAA2C;AAC3C,8BAAsB,OAAO,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,YAAY,CAC1I,OAAO,EACP,OAAO,CACR;CAAG"}
1
+ {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,MAAM,EACN,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAEjB,oBAAoB,EAEpB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAqB,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAoB,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,8BAAsB,YAAY,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,CACzG,SAAQ,cAAc,CAAC,OAAO,CAC9B,YAAW,UAAU;IAErB,MAAM,CAAC,YAAY,4BAAmB;IAC/B,gBAAgB,UAAO;IAE9B,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACzD,OAAO,CAAC,UAAU,CAAC,CAAQ;IAE3B,SAAS,aAAa,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC;WAK/E,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAIzF,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,eAAe,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAI5B,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAMxC,OAAO;IAIR,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2C1I,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIhC,UAAU,IAAI,MAAM,EAAE;IAItB,iBAAiB,IAAI,OAAO,EAAE;IAIf,KAAK;IAKpB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IACtC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IACtC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9D,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAClE;AAED,2CAA2C;AAC3C,8BAAsB,OAAO,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,YAAY,CAC1I,OAAO,EACP,OAAO,CACR;CAAG"}
@@ -1,8 +1,12 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
2
  import { Account } from '@xyo-network/account';
3
+ import { AddressSchema } from '@xyo-network/address-payload-plugin';
3
4
  import { AbstractModule, QueryBoundWitnessWrapper, SimpleModuleResolver, XyoErrorBuilder, } from '@xyo-network/module';
5
+ import { XyoPayloadBuilder } from '@xyo-network/payload';
6
+ import { NodeConfigSchema } from './Config';
4
7
  import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema } from './Queries';
5
8
  export class AbstractNode extends AbstractModule {
9
+ static configSchema = NodeConfigSchema;
6
10
  isModuleResolver = true;
7
11
  internalResolver;
8
12
  _archivist;
@@ -44,12 +48,19 @@ export class AbstractNode extends AbstractModule {
44
48
  break;
45
49
  }
46
50
  case XyoNodeAttachedQuerySchema: {
47
- await this.attached();
51
+ const addresses = await this.attached();
52
+ for (const address of addresses) {
53
+ const payload = new XyoPayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
54
+ resultPayloads.push(payload);
55
+ }
48
56
  break;
49
57
  }
50
58
  case XyoNodeRegisteredQuerySchema: {
51
- // TODO: Make address payload, return array of them via BW
52
- this.registered();
59
+ const addresses = this.registered();
60
+ for (const address of addresses) {
61
+ const payload = new XyoPayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
62
+ resultPayloads.push(payload);
63
+ }
53
64
  break;
54
65
  }
55
66
  default:
@@ -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":"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"}
@@ -1,7 +1,8 @@
1
- import { AbstractModule, ModuleFilter, ModuleParams } from '@xyo-network/module';
1
+ import { Module, ModuleFilter, ModuleParams } from '@xyo-network/module';
2
2
  import { AbstractNode } from './AbstractNode';
3
3
  import { NodeConfig } from './Config';
4
- export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends AbstractModule = AbstractModule> extends AbstractNode<TConfig, TModule> {
4
+ export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends AbstractNode<TConfig, TModule> {
5
+ static configSchema: "network.xyo.node.config";
5
6
  private registeredModuleMap;
6
7
  static create(params?: ModuleParams<NodeConfig>): Promise<MemoryNode>;
7
8
  attach(address: string, name?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,qBAAa,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,YAAY,CACpI,OAAO,EACP,OAAO,CACR;IACC,OAAO,CAAC,mBAAmB,CAA6B;WAElC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAI3E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAKrC,MAAM,CAAC,OAAO,EAAE,MAAM;IAItB,QAAQ,CAAC,MAAM,EAAE,OAAO;IAKxB,UAAU;IAMV,iBAAiB;IAMX,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAIlD,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI3D,UAAU,CAAC,MAAM,EAAE,OAAO;CAGpC"}
1
+ {"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAExE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAoB,MAAM,UAAU,CAAA;AAEvD,qBAAa,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC;IACtI,MAAM,CAAC,YAAY,4BAAmB;IACtC,OAAO,CAAC,mBAAmB,CAA6B;WAElC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAI3E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAKrC,MAAM,CAAC,OAAO,EAAE,MAAM;IAItB,QAAQ,CAAC,MAAM,EAAE,OAAO;IAIxB,UAAU;IAMV,iBAAiB;IAMX,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAIlD,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI3D,UAAU,CAAC,MAAM,EAAE,OAAO;CAGpC"}
@@ -1,6 +1,8 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
2
  import { AbstractNode } from './AbstractNode';
3
+ import { NodeConfigSchema } from './Config';
3
4
  export class MemoryNode extends AbstractNode {
5
+ static configSchema = NodeConfigSchema;
4
6
  registeredModuleMap = new Map();
5
7
  static async create(params) {
6
8
  return (await super.create(params));
@@ -13,7 +15,6 @@ export class MemoryNode extends AbstractNode {
13
15
  this.internalResolver.remove(address);
14
16
  }
15
17
  register(module) {
16
- module.resolver = this.internalResolver;
17
18
  this.registeredModuleMap.set(module.address, module);
18
19
  }
19
20
  registered() {
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,MAAM,OAAO,UAAqG,SAAQ,YAGzH;IACS,mBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAA;IAExD,MAAM,CAAU,KAAK,CAAC,MAAM,CAAC,MAAiC;QAC5D,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAe,CAAA;IACnD,CAAC;IAEQ,MAAM,CAAC,OAAe,EAAE,IAAa;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,iCAAiC,CAAC,CAAA;QACjG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;IAEQ,MAAM,CAAC,OAAe;QAC7B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAEQ,QAAQ,CAAC,MAAe;QAC/B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAA;QACvC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACtD,CAAC;IAEQ,UAAU;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7D,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,iBAAiB;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACjE,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,MAAqB;QAC1C,OAAO,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IACtG,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,MAAqB;QAC7C,OAAO,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IAC5G,CAAC;IAEQ,UAAU,CAAC,MAAe;QACjC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;CACF"}
1
+ {"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAc,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEvD,MAAM,OAAO,UAAqF,SAAQ,YAA8B;IACtI,MAAM,CAAC,YAAY,GAAG,gBAAgB,CAAA;IAC9B,mBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAA;IAExD,MAAM,CAAU,KAAK,CAAC,MAAM,CAAC,MAAiC;QAC5D,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAe,CAAA;IACnD,CAAC;IAEQ,MAAM,CAAC,OAAe,EAAE,IAAa;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,iCAAiC,CAAC,CAAA;QACjG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;IAEQ,MAAM,CAAC,OAAe;QAC7B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAEQ,QAAQ,CAAC,MAAe;QAC/B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACtD,CAAC;IAEQ,UAAU;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7D,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,iBAAiB;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACjE,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,MAAqB;QAC1C,OAAO,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IACtG,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,MAAqB;QAC7C,OAAO,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IAC5G,CAAC;IAEQ,UAAU,CAAC,MAAe;QACjC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC"}
@@ -1,24 +1,21 @@
1
1
  import { ArchivistWrapper } from '@xyo-network/archivist';
2
2
  import { AbstractModule, Module, ModuleFilter, ModuleWrapper } from '@xyo-network/module';
3
3
  import { Promisable } from '@xyo-network/promise';
4
+ import { AbstractNode } from './AbstractNode';
4
5
  import { NodeModule } from './NodeModule';
5
- export declare class NodeWrapper extends ModuleWrapper implements NodeModule {
6
+ export declare class NodeWrapper<TModule extends AbstractNode = AbstractNode> extends ModuleWrapper<TModule> implements NodeModule {
6
7
  isModuleResolver: boolean;
7
8
  private _archivist?;
8
9
  get archivist(): ArchivistWrapper;
9
10
  attach(address: string, name?: string): Promise<void>;
10
11
  attached(): Promise<string[]>;
11
- attachedModules(): Promise<AbstractModule[]>;
12
+ attachedModules(): Promise<Module[]>;
12
13
  detach(address: string): Promise<void>;
13
- find(_filter: ModuleFilter): Promisable<AbstractModule[]>;
14
- register(_module: Module): void;
14
+ register(mod: AbstractModule): void;
15
15
  registered(): Promise<string[]>;
16
- registeredModules(): Promise<AbstractModule[]>;
17
- resolve(_filter: ModuleFilter): Promisable<AbstractModule[]>;
18
- tryResolve(_filter: ModuleFilter): Promisable<AbstractModule[]>;
19
- unregister(_module: Module): void;
20
- }
21
- /** @deprecated use NodeWrapper instead */
22
- export declare class XyoNodeWrapper extends NodeWrapper {
16
+ registeredModules(): Promise<Module[]>;
17
+ resolve(filter: ModuleFilter): Promisable<Module[]>;
18
+ tryResolve(filter: ModuleFilter): Promisable<Module[]>;
19
+ unregister(mod: AbstractModule): void;
23
20
  }
24
21
  //# sourceMappingURL=NodeWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEzF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAYzC,qBAAa,WAAY,SAAQ,aAAc,YAAW,UAAU;IAC3D,gBAAgB,UAAO;IAE9B,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,IAAW,SAAS,qBAGnB;IAEK,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ7B,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAK5C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IAIzD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIzB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM/B,iBAAiB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAKpD,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IAI5D,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IAI/D,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAGlC;AAED,0CAA0C;AAC1C,qBAAa,cAAe,SAAQ,WAAW;CAAG"}
1
+ {"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEzF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAYzC,qBAAa,WAAW,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,aAAa,CAAC,OAAO,CAAE,YAAW,UAAU;IACjH,gBAAgB,UAAO;IAE9B,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,IAAW,SAAS,qBAGnB;IAEK,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM7B,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKpC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,QAAQ,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IAI7B,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM/B,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI5C,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IAInD,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IAItD,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;CAGtC"}
@@ -1,6 +1,7 @@
1
+ import { AddressSchema } from '@xyo-network/address-payload-plugin';
1
2
  import { ArchivistWrapper } from '@xyo-network/archivist';
2
3
  import { ModuleWrapper } from '@xyo-network/module';
3
- import { PayloadWrapper } from '@xyo-network/payload';
4
+ import { isXyoPayloadOfSchemaType, PayloadWrapper } from '@xyo-network/payload';
4
5
  import compact from 'lodash/compact';
5
6
  import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema, } from './Queries';
6
7
  export class NodeWrapper extends ModuleWrapper {
@@ -12,16 +13,12 @@ export class NodeWrapper extends ModuleWrapper {
12
13
  }
13
14
  async attach(address, name) {
14
15
  const queryPayload = PayloadWrapper.parse({ address, name, schema: XyoNodeAttachQuerySchema });
15
- const query = await this.bindQuery(queryPayload);
16
- const result = await this.module.query(query[0], query[1]);
17
- this.throwErrors(query, result);
16
+ await this.sendQuery(queryPayload);
18
17
  }
19
18
  async attached() {
20
19
  const queryPayload = PayloadWrapper.parse({ schema: XyoNodeAttachedQuerySchema });
21
- const query = await this.bindQuery(queryPayload);
22
- const result = await this.module.query(query[0], query[1]);
23
- this.throwErrors(query, result);
24
- return compact(result[1].map((payload) => payload?.schema));
20
+ const payloads = (await this.sendQuery(queryPayload)).filter(isXyoPayloadOfSchemaType(AddressSchema));
21
+ return payloads.map((p) => p.address);
25
22
  }
26
23
  async attachedModules() {
27
24
  const addresses = await this.attached();
@@ -31,32 +28,25 @@ export class NodeWrapper extends ModuleWrapper {
31
28
  const queryPayload = PayloadWrapper.parse({ address, schema: XyoNodeDetachQuerySchema });
32
29
  await this.sendQuery(queryPayload);
33
30
  }
34
- find(_filter) {
35
- throw Error('Not implemented');
36
- }
37
- register(_module) {
38
- throw Error('Not implemented');
31
+ register(mod) {
32
+ return this.module.register(mod);
39
33
  }
40
34
  async registered() {
41
35
  const queryPayload = PayloadWrapper.parse({ schema: XyoNodeRegisteredQuerySchema });
42
- const result = await this.sendQuery(queryPayload);
43
- return compact(result.map((payload) => payload?.schema));
36
+ const payloads = (await this.sendQuery(queryPayload)).filter(isXyoPayloadOfSchemaType(AddressSchema));
37
+ return payloads.map((p) => p.address);
44
38
  }
45
39
  async registeredModules() {
46
- const addresses = await this.registered();
47
- return compact(await this.resolve({ address: addresses }));
40
+ return await this.module.registeredModules();
48
41
  }
49
- resolve(_filter) {
50
- throw Error('Not implemented');
42
+ resolve(filter) {
43
+ return this.module.resolve(filter);
51
44
  }
52
- tryResolve(_filter) {
53
- throw Error('Not implemented');
45
+ tryResolve(filter) {
46
+ return this.module.tryResolve(filter);
54
47
  }
55
- unregister(_module) {
56
- throw Error('Not implemented');
48
+ unregister(mod) {
49
+ return this.module.unregister(mod);
57
50
  }
58
51
  }
59
- /** @deprecated use NodeWrapper instead */
60
- export class XyoNodeWrapper extends NodeWrapper {
61
- }
62
52
  //# sourceMappingURL=NodeWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeWrapper.js","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeWrapper.js","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export * from './Config';
3
3
  export * from './MemoryNode';
4
4
  export * from './Node';
5
5
  export * from './NodeModule';
6
+ export * from './NodeWrapper';
6
7
  export * from './PartialConfig';
7
8
  export * from './Queries';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA"}
package/dist/esm/index.js CHANGED
@@ -3,6 +3,7 @@ export * from './Config';
3
3
  export * from './MemoryNode';
4
4
  export * from './Node';
5
5
  export * from './NodeModule';
6
+ export * from './NodeWrapper';
6
7
  export * from './PartialConfig';
7
8
  export * from './Queries';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA"}
package/package.json CHANGED
@@ -10,16 +10,18 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^2.6.10",
14
- "@xyo-network/account": "^2.42.8",
15
- "@xyo-network/archivist": "^2.42.8",
16
- "@xyo-network/module": "^2.42.8",
17
- "@xyo-network/payload": "^2.42.8",
18
- "@xyo-network/promise": "^2.42.8",
13
+ "@xylabs/assert": "^2.6.11",
14
+ "@xyo-network/account": "^2.42.10",
15
+ "@xyo-network/address-payload-plugin": "^2.42.10",
16
+ "@xyo-network/archivist": "^2.42.10",
17
+ "@xyo-network/module": "^2.42.10",
18
+ "@xyo-network/payload": "^2.42.10",
19
+ "@xyo-network/promise": "^2.42.10",
19
20
  "lodash": "^4.17.21",
20
21
  "tslib": "^2.4.1"
21
22
  },
22
23
  "devDependencies": {
24
+ "@xylabs/ts-scripts-yarn3": "^2.9.0",
23
25
  "axios": "~1.2.1",
24
26
  "pako": "^2.1.0"
25
27
  },
@@ -60,5 +62,5 @@
60
62
  },
61
63
  "sideEffects": false,
62
64
  "types": "dist/esm/index.d.ts",
63
- "version": "2.42.8"
65
+ "version": "2.42.10"
64
66
  }
@@ -1,5 +1,6 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import { Account } from '@xyo-network/account'
3
+ import { AddressSchema } from '@xyo-network/address-payload-plugin'
3
4
  import {
4
5
  AbstractModule,
5
6
  Module,
@@ -12,17 +13,18 @@ import {
12
13
  XyoErrorBuilder,
13
14
  XyoQueryBoundWitness,
14
15
  } from '@xyo-network/module'
15
- import { XyoPayload } from '@xyo-network/payload'
16
+ import { XyoPayload, XyoPayloadBuilder } from '@xyo-network/payload'
16
17
  import { Promisable } from '@xyo-network/promise'
17
18
 
18
- import { NodeConfig } from './Config'
19
+ import { NodeConfig, NodeConfigSchema } from './Config'
19
20
  import { NodeModule } from './NodeModule'
20
21
  import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeQuery, XyoNodeRegisteredQuerySchema } from './Queries'
21
22
 
22
- export abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig, TModule extends AbstractModule = AbstractModule>
23
+ export abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module>
23
24
  extends AbstractModule<TConfig>
24
25
  implements NodeModule
25
26
  {
27
+ static configSchema = NodeConfigSchema
26
28
  public isModuleResolver = true
27
29
 
28
30
  protected internalResolver: SimpleModuleResolver<TModule>
@@ -73,12 +75,19 @@ export abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig, TMod
73
75
  break
74
76
  }
75
77
  case XyoNodeAttachedQuerySchema: {
76
- await this.attached()
78
+ const addresses = await this.attached()
79
+ for (const address of addresses) {
80
+ const payload = new XyoPayloadBuilder({ schema: AddressSchema }).fields({ address }).build()
81
+ resultPayloads.push(payload)
82
+ }
77
83
  break
78
84
  }
79
85
  case XyoNodeRegisteredQuerySchema: {
80
- // TODO: Make address payload, return array of them via BW
81
- this.registered()
86
+ const addresses = this.registered()
87
+ for (const address of addresses) {
88
+ const payload = new XyoPayloadBuilder({ schema: AddressSchema }).fields({ address }).build()
89
+ resultPayloads.push(payload)
90
+ }
82
91
  break
83
92
  }
84
93
  default:
@@ -8,7 +8,7 @@ import {
8
8
  XyoHuriPayload,
9
9
  XyoHuriSchema,
10
10
  } from '@xyo-network/diviner'
11
- import { AbstractModule, AbstractModuleResolver, ModuleDescription } from '@xyo-network/module'
11
+ import { AbstractModule, ModuleDescription, SimpleModuleResolver } from '@xyo-network/module'
12
12
  import { Account, PayloadWrapper, XyoPayload, XyoPayloadBuilder, XyoPayloadSchema } from '@xyo-network/protocol'
13
13
 
14
14
  import { NodeConfigSchema } from './Config'
@@ -32,7 +32,7 @@ describe('MemoryNode', () => {
32
32
  const archivist = await XyoMemoryArchivist.create()
33
33
  const diviner: AbstractModule = await ArchivistPayloadDiviner.create({
34
34
  config: { archivist: archivist.address, schema: XyoArchivistPayloadDivinerConfigSchema },
35
- resolver: new AbstractModuleResolver().add(archivist),
35
+ resolver: new SimpleModuleResolver().add(archivist),
36
36
  })
37
37
  await node.register(archivist)
38
38
  node.attach(archivist.address)
package/src/MemoryNode.ts CHANGED
@@ -1,13 +1,11 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
- import { AbstractModule, ModuleFilter, ModuleParams } from '@xyo-network/module'
2
+ import { Module, ModuleFilter, ModuleParams } from '@xyo-network/module'
3
3
 
4
4
  import { AbstractNode } from './AbstractNode'
5
- import { NodeConfig } from './Config'
5
+ import { NodeConfig, NodeConfigSchema } from './Config'
6
6
 
7
- export class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends AbstractModule = AbstractModule> extends AbstractNode<
8
- TConfig,
9
- TModule
10
- > {
7
+ export class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends AbstractNode<TConfig, TModule> {
8
+ static configSchema = NodeConfigSchema
11
9
  private registeredModuleMap = new Map<string, TModule>()
12
10
 
13
11
  static override async create(params?: ModuleParams<NodeConfig>): Promise<MemoryNode> {
@@ -24,7 +22,6 @@ export class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends
24
22
  }
25
23
 
26
24
  override register(module: TModule) {
27
- module.resolver = this.internalResolver
28
25
  this.registeredModuleMap.set(module.address, module)
29
26
  }
30
27
 
@@ -1,9 +1,11 @@
1
+ import { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'
1
2
  import { ArchivistWrapper } from '@xyo-network/archivist'
2
3
  import { AbstractModule, Module, ModuleFilter, ModuleWrapper } from '@xyo-network/module'
3
- import { PayloadWrapper } from '@xyo-network/payload'
4
+ import { isXyoPayloadOfSchemaType, PayloadWrapper } from '@xyo-network/payload'
4
5
  import { Promisable } from '@xyo-network/promise'
5
6
  import compact from 'lodash/compact'
6
7
 
8
+ import { AbstractNode } from './AbstractNode'
7
9
  import { NodeModule } from './NodeModule'
8
10
  import {
9
11
  XyoNodeAttachedQuery,
@@ -16,7 +18,7 @@ import {
16
18
  XyoNodeRegisteredQuerySchema,
17
19
  } from './Queries'
18
20
 
19
- export class NodeWrapper extends ModuleWrapper implements NodeModule {
21
+ export class NodeWrapper<TModule extends AbstractNode = AbstractNode> extends ModuleWrapper<TModule> implements NodeModule {
20
22
  public isModuleResolver = true
21
23
 
22
24
  private _archivist?: ArchivistWrapper
@@ -28,20 +30,16 @@ export class NodeWrapper extends ModuleWrapper implements NodeModule {
28
30
 
29
31
  async attach(address: string, name?: string): Promise<void> {
30
32
  const queryPayload = PayloadWrapper.parse<XyoNodeAttachQuery>({ address, name, schema: XyoNodeAttachQuerySchema })
31
- const query = await this.bindQuery(queryPayload)
32
- const result = await this.module.query(query[0], query[1])
33
- this.throwErrors(query, result)
33
+ await this.sendQuery(queryPayload)
34
34
  }
35
35
 
36
36
  async attached(): Promise<string[]> {
37
37
  const queryPayload = PayloadWrapper.parse<XyoNodeAttachedQuery>({ schema: XyoNodeAttachedQuerySchema })
38
- const query = await this.bindQuery(queryPayload)
39
- const result = await this.module.query(query[0], query[1])
40
- this.throwErrors(query, result)
41
- return compact(result[1].map((payload) => payload?.schema))
38
+ const payloads: AddressPayload[] = (await this.sendQuery(queryPayload)).filter(isXyoPayloadOfSchemaType<AddressPayload>(AddressSchema))
39
+ return payloads.map((p) => p.address)
42
40
  }
43
41
 
44
- async attachedModules(): Promise<AbstractModule[]> {
42
+ async attachedModules(): Promise<Module[]> {
45
43
  const addresses = await this.attached()
46
44
  return compact(await this.resolve({ address: addresses }))
47
45
  }
@@ -51,37 +49,29 @@ export class NodeWrapper extends ModuleWrapper implements NodeModule {
51
49
  await this.sendQuery(queryPayload)
52
50
  }
53
51
 
54
- find(_filter: ModuleFilter): Promisable<AbstractModule[]> {
55
- throw Error('Not implemented')
56
- }
57
-
58
- register(_module: Module): void {
59
- throw Error('Not implemented')
52
+ register(mod: AbstractModule): void {
53
+ return this.module.register(mod)
60
54
  }
61
55
 
62
56
  async registered(): Promise<string[]> {
63
57
  const queryPayload = PayloadWrapper.parse<XyoNodeRegisteredQuery>({ schema: XyoNodeRegisteredQuerySchema })
64
- const result = await this.sendQuery(queryPayload)
65
- return compact(result.map((payload) => payload?.schema))
58
+ const payloads: AddressPayload[] = (await this.sendQuery(queryPayload)).filter(isXyoPayloadOfSchemaType<AddressPayload>(AddressSchema))
59
+ return payloads.map((p) => p.address)
66
60
  }
67
61
 
68
- async registeredModules(): Promise<AbstractModule[]> {
69
- const addresses = await this.registered()
70
- return compact(await this.resolve({ address: addresses }))
62
+ async registeredModules(): Promise<Module[]> {
63
+ return await this.module.registeredModules()
71
64
  }
72
65
 
73
- resolve(_filter: ModuleFilter): Promisable<AbstractModule[]> {
74
- throw Error('Not implemented')
66
+ resolve(filter: ModuleFilter): Promisable<Module[]> {
67
+ return this.module.resolve(filter)
75
68
  }
76
69
 
77
- tryResolve(_filter: ModuleFilter): Promisable<AbstractModule[]> {
78
- throw Error('Not implemented')
70
+ tryResolve(filter: ModuleFilter): Promisable<Module[]> {
71
+ return this.module.tryResolve(filter)
79
72
  }
80
73
 
81
- unregister(_module: Module): void {
82
- throw Error('Not implemented')
74
+ unregister(mod: AbstractModule): void {
75
+ return this.module.unregister(mod)
83
76
  }
84
77
  }
85
-
86
- /** @deprecated use NodeWrapper instead */
87
- export class XyoNodeWrapper extends NodeWrapper {}
package/src/index.ts CHANGED
@@ -3,5 +3,6 @@ export * from './Config'
3
3
  export * from './MemoryNode'
4
4
  export * from './Node'
5
5
  export * from './NodeModule'
6
+ export * from './NodeWrapper'
6
7
  export * from './PartialConfig'
7
8
  export * from './Queries'