@xyo-network/react-node 2.56.2 → 2.56.4

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 (179) hide show
  1. package/dist/cjs/components/NodeDrawer.js +1 -1
  2. package/dist/cjs/components/NodeDrawer.js.map +1 -1
  3. package/dist/cjs/components/render/ModuleDescriptionBox.js +1 -1
  4. package/dist/cjs/components/render/ModuleDescriptionBox.js.map +1 -1
  5. package/dist/cjs/components/render/RenderModule.js +4 -6
  6. package/dist/cjs/components/render/RenderModule.js.map +1 -1
  7. package/dist/cjs/hooks/index.js +5 -8
  8. package/dist/cjs/hooks/index.js.map +1 -1
  9. package/dist/cjs/hooks/provided/index.js +7 -0
  10. package/dist/cjs/hooks/provided/index.js.map +1 -0
  11. package/dist/cjs/hooks/provided/useProvidedNode.js +11 -0
  12. package/dist/cjs/hooks/provided/useProvidedNode.js.map +1 -0
  13. package/dist/cjs/hooks/provided/useProvidedNodeAttachedAddresses.js.map +1 -0
  14. package/dist/cjs/hooks/provided/useProvidedNodeRegisteredAddresses.js.map +1 -0
  15. package/dist/cjs/hooks/useModuleFromNode.js +71 -0
  16. package/dist/cjs/hooks/useModuleFromNode.js.map +1 -0
  17. package/dist/cjs/hooks/{useModules.js → useModulesFromNode.js} +8 -8
  18. package/dist/cjs/hooks/useModulesFromNode.js.map +1 -0
  19. package/dist/cjs/hooks/useNodeFromNode.js +7 -0
  20. package/dist/cjs/hooks/useNodeFromNode.js.map +1 -0
  21. package/dist/cjs/hooks/useNodesFromNode.js +7 -0
  22. package/dist/cjs/hooks/useNodesFromNode.js.map +1 -0
  23. package/dist/cjs/hooks/wrapped/WrappedModuleFromNodeHookFactory.js +48 -0
  24. package/dist/cjs/hooks/wrapped/WrappedModuleFromNodeHookFactory.js.map +1 -0
  25. package/dist/cjs/hooks/wrapped/WrappedModulesFromNodeHookFactory.js +58 -0
  26. package/dist/cjs/hooks/wrapped/WrappedModulesFromNodeHookFactory.js.map +1 -0
  27. package/dist/cjs/hooks/wrapped/index.js +10 -0
  28. package/dist/cjs/hooks/wrapped/index.js.map +1 -0
  29. package/dist/cjs/hooks/wrapped/provided/index.js +5 -0
  30. package/dist/cjs/hooks/wrapped/provided/index.js.map +1 -0
  31. package/dist/cjs/hooks/{useProvidedNode.js → wrapped/provided/useWrappedProvidedNode.js} +6 -11
  32. package/dist/cjs/hooks/wrapped/provided/useWrappedProvidedNode.js.map +1 -0
  33. package/dist/cjs/hooks/wrapped/useWrappedModuleFromNode.js +7 -0
  34. package/dist/cjs/hooks/wrapped/useWrappedModuleFromNode.js.map +1 -0
  35. package/dist/cjs/hooks/wrapped/useWrappedModulesFromNode.js +7 -0
  36. package/dist/cjs/hooks/wrapped/useWrappedModulesFromNode.js.map +1 -0
  37. package/dist/cjs/hooks/wrapped/useWrappedNodeFromNode.js +7 -0
  38. package/dist/cjs/hooks/wrapped/useWrappedNodeFromNode.js.map +1 -0
  39. package/dist/docs.json +5037 -1203
  40. package/dist/esm/components/render/ModuleDescriptionBox.js +1 -1
  41. package/dist/esm/components/render/ModuleDescriptionBox.js.map +1 -1
  42. package/dist/esm/components/render/RenderModule.js +2 -4
  43. package/dist/esm/components/render/RenderModule.js.map +1 -1
  44. package/dist/esm/hooks/index.js +5 -8
  45. package/dist/esm/hooks/index.js.map +1 -1
  46. package/dist/esm/hooks/provided/index.js +4 -0
  47. package/dist/esm/hooks/provided/index.js.map +1 -0
  48. package/dist/esm/hooks/provided/useProvidedNode.js +7 -0
  49. package/dist/esm/hooks/provided/useProvidedNode.js.map +1 -0
  50. package/dist/esm/hooks/provided/useProvidedNodeAttachedAddresses.js.map +1 -0
  51. package/dist/esm/hooks/provided/useProvidedNodeRegisteredAddresses.js.map +1 -0
  52. package/dist/esm/hooks/useModuleFromNode.js +66 -0
  53. package/dist/esm/hooks/useModuleFromNode.js.map +1 -0
  54. package/dist/esm/hooks/{useModules.js → useModulesFromNode.js} +6 -6
  55. package/dist/esm/hooks/useModulesFromNode.js.map +1 -0
  56. package/dist/esm/hooks/useNodeFromNode.js +3 -0
  57. package/dist/esm/hooks/useNodeFromNode.js.map +1 -0
  58. package/dist/esm/hooks/useNodesFromNode.js +3 -0
  59. package/dist/esm/hooks/useNodesFromNode.js.map +1 -0
  60. package/dist/esm/hooks/wrapped/WrappedModuleFromNodeHookFactory.js +45 -0
  61. package/dist/esm/hooks/wrapped/WrappedModuleFromNodeHookFactory.js.map +1 -0
  62. package/dist/esm/hooks/wrapped/WrappedModulesFromNodeHookFactory.js +54 -0
  63. package/dist/esm/hooks/wrapped/WrappedModulesFromNodeHookFactory.js.map +1 -0
  64. package/dist/esm/hooks/wrapped/index.js +7 -0
  65. package/dist/esm/hooks/wrapped/index.js.map +1 -0
  66. package/dist/esm/hooks/wrapped/provided/index.js +2 -0
  67. package/dist/esm/hooks/wrapped/provided/index.js.map +1 -0
  68. package/dist/esm/hooks/{useProvidedNode.js → wrapped/provided/useWrappedProvidedNode.js} +4 -8
  69. package/dist/esm/hooks/wrapped/provided/useWrappedProvidedNode.js.map +1 -0
  70. package/dist/esm/hooks/wrapped/useWrappedModuleFromNode.js +4 -0
  71. package/dist/esm/hooks/wrapped/useWrappedModuleFromNode.js.map +1 -0
  72. package/dist/esm/hooks/wrapped/useWrappedModulesFromNode.js +4 -0
  73. package/dist/esm/hooks/wrapped/useWrappedModulesFromNode.js.map +1 -0
  74. package/dist/esm/hooks/wrapped/useWrappedNodeFromNode.js +4 -0
  75. package/dist/esm/hooks/wrapped/useWrappedNodeFromNode.js.map +1 -0
  76. package/dist/types/components/render/ModuleDescriptionBox.d.ts +1 -1
  77. package/dist/types/components/render/ModuleDescriptionBox.d.ts.map +1 -1
  78. package/dist/types/components/render/RenderModule.d.ts.map +1 -1
  79. package/dist/types/hooks/index.d.ts +5 -8
  80. package/dist/types/hooks/index.d.ts.map +1 -1
  81. package/dist/types/hooks/provided/index.d.ts +4 -0
  82. package/dist/types/hooks/provided/index.d.ts.map +1 -0
  83. package/dist/types/hooks/provided/useProvidedNode.d.ts +3 -0
  84. package/dist/types/hooks/provided/useProvidedNode.d.ts.map +1 -0
  85. package/dist/types/hooks/provided/useProvidedNodeAttachedAddresses.d.ts.map +1 -0
  86. package/dist/types/hooks/provided/useProvidedNodeRegisteredAddresses.d.ts.map +1 -0
  87. package/dist/types/hooks/useModuleFromNode.d.ts +60 -0
  88. package/dist/types/hooks/useModuleFromNode.d.ts.map +1 -0
  89. package/dist/types/hooks/useModulesFromNode.d.ts +60 -0
  90. package/dist/types/hooks/useModulesFromNode.d.ts.map +1 -0
  91. package/dist/types/hooks/useNodeFromNode.d.ts +36 -0
  92. package/dist/types/hooks/useNodeFromNode.d.ts.map +1 -0
  93. package/dist/types/hooks/useNodesFromNode.d.ts +36 -0
  94. package/dist/types/hooks/useNodesFromNode.d.ts.map +1 -0
  95. package/dist/types/hooks/wrapped/WrappedModuleFromNodeHookFactory.d.ts +35 -0
  96. package/dist/types/hooks/wrapped/WrappedModuleFromNodeHookFactory.d.ts.map +1 -0
  97. package/dist/types/hooks/wrapped/WrappedModulesFromNodeHookFactory.d.ts +35 -0
  98. package/dist/types/hooks/wrapped/WrappedModulesFromNodeHookFactory.d.ts.map +1 -0
  99. package/dist/types/hooks/wrapped/index.d.ts +7 -0
  100. package/dist/types/hooks/wrapped/index.d.ts.map +1 -0
  101. package/dist/types/hooks/wrapped/provided/index.d.ts +2 -0
  102. package/dist/types/hooks/wrapped/provided/index.d.ts.map +1 -0
  103. package/dist/types/hooks/wrapped/provided/useWrappedProvidedNode.d.ts +4 -0
  104. package/dist/types/hooks/wrapped/provided/useWrappedProvidedNode.d.ts.map +1 -0
  105. package/dist/types/hooks/wrapped/useWrappedModuleFromNode.d.ts +31 -0
  106. package/dist/types/hooks/wrapped/useWrappedModuleFromNode.d.ts.map +1 -0
  107. package/dist/types/hooks/wrapped/useWrappedModulesFromNode.d.ts +31 -0
  108. package/dist/types/hooks/wrapped/useWrappedModulesFromNode.d.ts.map +1 -0
  109. package/dist/types/hooks/wrapped/useWrappedNodeFromNode.d.ts +34 -0
  110. package/dist/types/hooks/wrapped/useWrappedNodeFromNode.d.ts.map +1 -0
  111. package/package.json +14 -14
  112. package/src/components/Node.stories.tsx +3 -4
  113. package/src/components/render/ModuleDescriptionBox.tsx +6 -4
  114. package/src/components/render/RenderModule.tsx +3 -4
  115. package/src/hooks/index.ts +5 -8
  116. package/src/hooks/provided/index.ts +3 -0
  117. package/src/hooks/provided/useProvidedNode.tsx +8 -0
  118. package/src/hooks/useModuleFromNode.tsx +77 -0
  119. package/src/hooks/{useModules.ts → useModulesFromNode.ts} +8 -5
  120. package/src/hooks/useNodeFromNode.tsx +8 -0
  121. package/src/hooks/useNodesFromNode.tsx +7 -0
  122. package/src/hooks/wrapped/WrappedModuleFromNodeHookFactory.tsx +54 -0
  123. package/src/hooks/wrapped/WrappedModulesFromNodeHookFactory.tsx +61 -0
  124. package/src/hooks/wrapped/index.ts +6 -0
  125. package/src/hooks/wrapped/provided/index.ts +1 -0
  126. package/src/hooks/{useProvidedNode.tsx → wrapped/provided/useWrappedProvidedNode.tsx} +4 -9
  127. package/src/hooks/wrapped/useWrappedModuleFromNode.tsx +5 -0
  128. package/src/hooks/wrapped/useWrappedModulesFromNode.tsx +5 -0
  129. package/src/hooks/wrapped/useWrappedNodeFromNode.tsx +5 -0
  130. package/dist/cjs/hooks/useModule.js +0 -70
  131. package/dist/cjs/hooks/useModule.js.map +0 -1
  132. package/dist/cjs/hooks/useModules.js.map +0 -1
  133. package/dist/cjs/hooks/useNode.js +0 -54
  134. package/dist/cjs/hooks/useNode.js.map +0 -1
  135. package/dist/cjs/hooks/useProvidedNode.js.map +0 -1
  136. package/dist/cjs/hooks/useProvidedNodeAttachedAddresses.js.map +0 -1
  137. package/dist/cjs/hooks/useProvidedNodeRegisteredAddresses.js.map +0 -1
  138. package/dist/cjs/hooks/useWrappedNodeModule.js +0 -49
  139. package/dist/cjs/hooks/useWrappedNodeModule.js.map +0 -1
  140. package/dist/cjs/hooks/useWrappedNodeModules.js +0 -59
  141. package/dist/cjs/hooks/useWrappedNodeModules.js.map +0 -1
  142. package/dist/esm/hooks/useModule.js +0 -65
  143. package/dist/esm/hooks/useModule.js.map +0 -1
  144. package/dist/esm/hooks/useModules.js.map +0 -1
  145. package/dist/esm/hooks/useNode.js +0 -50
  146. package/dist/esm/hooks/useNode.js.map +0 -1
  147. package/dist/esm/hooks/useProvidedNode.js.map +0 -1
  148. package/dist/esm/hooks/useProvidedNodeAttachedAddresses.js.map +0 -1
  149. package/dist/esm/hooks/useProvidedNodeRegisteredAddresses.js.map +0 -1
  150. package/dist/esm/hooks/useWrappedNodeModule.js +0 -45
  151. package/dist/esm/hooks/useWrappedNodeModule.js.map +0 -1
  152. package/dist/esm/hooks/useWrappedNodeModules.js +0 -54
  153. package/dist/esm/hooks/useWrappedNodeModules.js.map +0 -1
  154. package/dist/types/hooks/useModule.d.ts +0 -5
  155. package/dist/types/hooks/useModule.d.ts.map +0 -1
  156. package/dist/types/hooks/useModules.d.ts +0 -4
  157. package/dist/types/hooks/useModules.d.ts.map +0 -1
  158. package/dist/types/hooks/useNode.d.ts +0 -5
  159. package/dist/types/hooks/useNode.d.ts.map +0 -1
  160. package/dist/types/hooks/useProvidedNode.d.ts +0 -5
  161. package/dist/types/hooks/useProvidedNode.d.ts.map +0 -1
  162. package/dist/types/hooks/useProvidedNodeAttachedAddresses.d.ts.map +0 -1
  163. package/dist/types/hooks/useProvidedNodeRegisteredAddresses.d.ts.map +0 -1
  164. package/dist/types/hooks/useWrappedNodeModule.d.ts +0 -6
  165. package/dist/types/hooks/useWrappedNodeModule.d.ts.map +0 -1
  166. package/dist/types/hooks/useWrappedNodeModules.d.ts +0 -6
  167. package/dist/types/hooks/useWrappedNodeModules.d.ts.map +0 -1
  168. package/src/hooks/useModule.tsx +0 -80
  169. package/src/hooks/useNode.tsx +0 -52
  170. package/src/hooks/useWrappedNodeModule.tsx +0 -58
  171. package/src/hooks/useWrappedNodeModules.tsx +0 -64
  172. /package/dist/cjs/hooks/{useProvidedNodeAttachedAddresses.js → provided/useProvidedNodeAttachedAddresses.js} +0 -0
  173. /package/dist/cjs/hooks/{useProvidedNodeRegisteredAddresses.js → provided/useProvidedNodeRegisteredAddresses.js} +0 -0
  174. /package/dist/esm/hooks/{useProvidedNodeAttachedAddresses.js → provided/useProvidedNodeAttachedAddresses.js} +0 -0
  175. /package/dist/esm/hooks/{useProvidedNodeRegisteredAddresses.js → provided/useProvidedNodeRegisteredAddresses.js} +0 -0
  176. /package/dist/types/hooks/{useProvidedNodeAttachedAddresses.d.ts → provided/useProvidedNodeAttachedAddresses.d.ts} +0 -0
  177. /package/dist/types/hooks/{useProvidedNodeRegisteredAddresses.d.ts → provided/useProvidedNodeRegisteredAddresses.d.ts} +0 -0
  178. /package/src/hooks/{useProvidedNodeAttachedAddresses.ts → provided/useProvidedNodeAttachedAddresses.ts} +0 -0
  179. /package/src/hooks/{useProvidedNodeRegisteredAddresses.ts → provided/useProvidedNodeRegisteredAddresses.ts} +0 -0
@@ -0,0 +1,60 @@
1
+ import { Logger } from '@xyo-network/core';
2
+ import { Module, ModuleFilter } from '@xyo-network/module-model';
3
+ export declare const useModulesFromNode: <TModule extends Module<import("@xyo-network/module").ModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
4
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
5
+ readonly name?: string | undefined;
6
+ readonly paging?: Record<string, {
7
+ size?: number | undefined;
8
+ }> | undefined;
9
+ readonly schema: string;
10
+ readonly security?: {
11
+ readonly allowAnonymous?: boolean | undefined;
12
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
13
+ readonly disallowed?: Record<string, string[]> | undefined;
14
+ } | undefined;
15
+ readonly storeQueries?: boolean | undefined;
16
+ } & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
17
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
18
+ readonly name?: string | undefined;
19
+ readonly paging?: Record<string, {
20
+ size?: number | undefined;
21
+ }> | undefined;
22
+ readonly schema: "network.xyo.module.config";
23
+ readonly security?: {
24
+ readonly allowAnonymous?: boolean | undefined;
25
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
26
+ readonly disallowed?: Record<string, string[]> | undefined;
27
+ } | undefined;
28
+ readonly storeQueries?: boolean | undefined;
29
+ } & Omit<undefined, "schema">, "schema"> & {
30
+ schema: string;
31
+ }, "schema">, undefined>, import("@xyo-network/module").ModuleEventData> = Module<import("@xyo-network/module").ModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
32
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
33
+ readonly name?: string | undefined;
34
+ readonly paging?: Record<string, {
35
+ size?: number | undefined;
36
+ }> | undefined;
37
+ readonly schema: string;
38
+ readonly security?: {
39
+ readonly allowAnonymous?: boolean | undefined;
40
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
41
+ readonly disallowed?: Record<string, string[]> | undefined;
42
+ } | undefined;
43
+ readonly storeQueries?: boolean | undefined;
44
+ } & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
45
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
46
+ readonly name?: string | undefined;
47
+ readonly paging?: Record<string, {
48
+ size?: number | undefined;
49
+ }> | undefined;
50
+ readonly schema: "network.xyo.module.config";
51
+ readonly security?: {
52
+ readonly allowAnonymous?: boolean | undefined;
53
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
54
+ readonly disallowed?: Record<string, string[]> | undefined;
55
+ } | undefined;
56
+ readonly storeQueries?: boolean | undefined;
57
+ } & Omit<undefined, "schema">, "schema"> & {
58
+ schema: string;
59
+ }, "schema">, undefined>, import("@xyo-network/module").ModuleEventData>>(filter?: ModuleFilter, logger?: Logger) => [TModule[] | null | undefined, Error | undefined];
60
+ //# sourceMappingURL=useModulesFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModulesFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModulesFromNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAKhE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mFACpB,YAAY,WACZ,MAAM,sDA+ChB,CAAA"}
@@ -0,0 +1,36 @@
1
+ import { Logger } from '@xyo-network/core';
2
+ import { ModuleFilter } from '@xyo-network/module';
3
+ import { NodeModule } from '@xyo-network/node';
4
+ export declare const useNodeFromNode: (nameOrAddressOrFilter?: string | ModuleFilter, logger?: Logger) => [NodeModule<import("@xyo-network/node").NodeModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
5
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
6
+ readonly name?: string | undefined;
7
+ readonly paging?: Record<string, {
8
+ size?: number | undefined;
9
+ }> | undefined;
10
+ readonly schema: string;
11
+ readonly security?: {
12
+ readonly allowAnonymous?: boolean | undefined;
13
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
14
+ readonly disallowed?: Record<string, string[]> | undefined;
15
+ } | undefined;
16
+ readonly storeQueries?: boolean | undefined;
17
+ } & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
18
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
19
+ readonly name?: string | undefined;
20
+ readonly paging?: Record<string, {
21
+ size?: number | undefined;
22
+ }> | undefined;
23
+ readonly schema: "network.xyo.node.config";
24
+ readonly security?: {
25
+ readonly allowAnonymous?: boolean | undefined;
26
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
27
+ readonly disallowed?: Record<string, string[]> | undefined;
28
+ } | undefined;
29
+ readonly storeQueries?: boolean | undefined;
30
+ } & Omit<{
31
+ archivist?: string | undefined;
32
+ schema: "network.xyo.node.config";
33
+ } & Omit<undefined, "schema">, "schema">, "schema"> & {
34
+ schema: string;
35
+ }, "schema">, undefined>, import("@xyo-network/node").NodeModuleEventData> | null | undefined, Error | undefined];
36
+ //# sourceMappingURL=useNodeFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNodeFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodeFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI9C,eAAO,MAAM,eAAe,2BAA4B,MAAM,GAAG,YAAY,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iHAChC,CAAA"}
@@ -0,0 +1,36 @@
1
+ import { Logger } from '@xyo-network/core';
2
+ import { ModuleFilter } from '@xyo-network/module';
3
+ import { NodeModule } from '@xyo-network/node';
4
+ export declare const useNodesFromNode: (filter?: ModuleFilter, logger?: Logger) => [NodeModule<import("@xyo-network/node").NodeModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
5
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
6
+ readonly name?: string | undefined;
7
+ readonly paging?: Record<string, {
8
+ size?: number | undefined;
9
+ }> | undefined;
10
+ readonly schema: string;
11
+ readonly security?: {
12
+ readonly allowAnonymous?: boolean | undefined;
13
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
14
+ readonly disallowed?: Record<string, string[]> | undefined;
15
+ } | undefined;
16
+ readonly storeQueries?: boolean | undefined;
17
+ } & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
18
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
19
+ readonly name?: string | undefined;
20
+ readonly paging?: Record<string, {
21
+ size?: number | undefined;
22
+ }> | undefined;
23
+ readonly schema: "network.xyo.node.config";
24
+ readonly security?: {
25
+ readonly allowAnonymous?: boolean | undefined;
26
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
27
+ readonly disallowed?: Record<string, string[]> | undefined;
28
+ } | undefined;
29
+ readonly storeQueries?: boolean | undefined;
30
+ } & Omit<{
31
+ archivist?: string | undefined;
32
+ schema: "network.xyo.node.config";
33
+ } & Omit<undefined, "schema">, "schema">, "schema"> & {
34
+ schema: string;
35
+ }, "schema">, undefined>, import("@xyo-network/node").NodeModuleEventData>[] | null | undefined, Error | undefined];
36
+ //# sourceMappingURL=useNodesFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNodesFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodesFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI9C,eAAO,MAAM,gBAAgB,YAAa,YAAY,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mHAAmD,CAAA"}
@@ -0,0 +1,35 @@
1
+ import { Logger } from '@xyo-network/core';
2
+ import { ConstructableModuleWrapper, ModuleWrapper } from '@xyo-network/module';
3
+ import { WalletInstance } from '@xyo-network/wallet-model';
4
+ export declare const WrappedModuleFromNodeHookFactory: {
5
+ create: <TModuleWrapper extends ModuleWrapper<import("@xyo-network/module").Module<import("@xyo-network/module").ModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
6
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
7
+ readonly name?: string | undefined;
8
+ readonly paging?: Record<string, {
9
+ size?: number | undefined;
10
+ }> | undefined;
11
+ readonly schema: string;
12
+ readonly security?: {
13
+ readonly allowAnonymous?: boolean | undefined;
14
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
15
+ readonly disallowed?: Record<string, string[]> | undefined;
16
+ } | undefined;
17
+ readonly storeQueries?: boolean | undefined;
18
+ } & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
19
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
20
+ readonly name?: string | undefined;
21
+ readonly paging?: Record<string, {
22
+ size?: number | undefined;
23
+ }> | undefined;
24
+ readonly schema: "network.xyo.module.config";
25
+ readonly security?: {
26
+ readonly allowAnonymous?: boolean | undefined;
27
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
28
+ readonly disallowed?: Record<string, string[]> | undefined;
29
+ } | undefined;
30
+ readonly storeQueries?: boolean | undefined;
31
+ } & Omit<undefined, "schema">, "schema"> & {
32
+ schema: string;
33
+ }, "schema">, undefined>, import("@xyo-network/module").ModuleEventData>>>(wrapperObject: ConstructableModuleWrapper<TModuleWrapper>, name?: string) => (nameOrAddress?: string, wallet?: WalletInstance, logger?: Logger) => [TModuleWrapper | undefined, Error | undefined];
34
+ };
35
+ //# sourceMappingURL=WrappedModuleFromNodeHookFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WrappedModuleFromNodeHookFactory.d.ts","sourceRoot":"","sources":["../../../../src/hooks/wrapped/WrappedModuleFromNodeHookFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAK1D,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iJACsE,MAAM,sBACpF,MAAM,WAAW,cAAc,WAAW,MAAM;CA2CpF,CAAA"}
@@ -0,0 +1,35 @@
1
+ import { Logger } from '@xyo-network/core';
2
+ import { ConstructableModuleWrapper, ModuleWrapper } from '@xyo-network/module';
3
+ import { WalletInstance } from '@xyo-network/wallet-model';
4
+ export declare const WrappedModulesFromNodeHookFactory: {
5
+ create: <TModuleWrapper extends ModuleWrapper<import("@xyo-network/module").Module<import("@xyo-network/module").ModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
6
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
7
+ readonly name?: string | undefined;
8
+ readonly paging?: Record<string, {
9
+ size?: number | undefined;
10
+ }> | undefined;
11
+ readonly schema: string;
12
+ readonly security?: {
13
+ readonly allowAnonymous?: boolean | undefined;
14
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
15
+ readonly disallowed?: Record<string, string[]> | undefined;
16
+ } | undefined;
17
+ readonly storeQueries?: boolean | undefined;
18
+ } & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
19
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
20
+ readonly name?: string | undefined;
21
+ readonly paging?: Record<string, {
22
+ size?: number | undefined;
23
+ }> | undefined;
24
+ readonly schema: "network.xyo.module.config";
25
+ readonly security?: {
26
+ readonly allowAnonymous?: boolean | undefined;
27
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
28
+ readonly disallowed?: Record<string, string[]> | undefined;
29
+ } | undefined;
30
+ readonly storeQueries?: boolean | undefined;
31
+ } & Omit<undefined, "schema">, "schema"> & {
32
+ schema: string;
33
+ }, "schema">, undefined>, import("@xyo-network/module").ModuleEventData>>>(wrapperObject: ConstructableModuleWrapper<TModuleWrapper>, name: string) => (account?: WalletInstance, logger?: Logger) => [TModuleWrapper[] | undefined, Error | undefined];
34
+ };
35
+ //# sourceMappingURL=WrappedModulesFromNodeHookFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WrappedModulesFromNodeHookFactory.d.ts","sourceRoot":"","sources":["../../../../src/hooks/wrapped/WrappedModulesFromNodeHookFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAM1D,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gJACoE,MAAM,gBAIzF,cAAc,WAAW,MAAM;CA8C7D,CAAA"}
@@ -0,0 +1,7 @@
1
+ export * from './provided';
2
+ export * from './useWrappedModuleFromNode';
3
+ export * from './useWrappedModulesFromNode';
4
+ export * from './useWrappedNodeFromNode';
5
+ export * from './WrappedModuleFromNodeHookFactory';
6
+ export * from './WrappedModulesFromNodeHookFactory';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/wrapped/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,oCAAoC,CAAA;AAClD,cAAc,qCAAqC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './useWrappedProvidedNode';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/wrapped/provided/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { NodeWrapper } from '@xyo-network/node';
2
+ import { WalletInstance } from '@xyo-network/wallet-model';
3
+ export declare const useWrappedProvidedNode: (wallet?: WalletInstance | null) => [NodeWrapper | undefined, Error | undefined];
4
+ //# sourceMappingURL=useWrappedProvidedNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWrappedProvidedNode.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/wrapped/provided/useWrappedProvidedNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAK1D,eAAO,MAAM,sBAAsB,YAAa,cAAc,GAAG,IAAI,KAAG,CAAC,WAAW,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAsBlH,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { ModuleWrapper } from '@xyo-network/module';
2
+ export declare const useWrappedModuleFromNode: (nameOrAddress?: string | undefined, wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined, logger?: import("@xyo-network/core").Logger | undefined) => [ModuleWrapper<import("@xyo-network/module").Module<import("@xyo-network/module").ModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
3
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
4
+ readonly name?: string | undefined;
5
+ readonly paging?: Record<string, {
6
+ size?: number | undefined;
7
+ }> | undefined;
8
+ readonly schema: string;
9
+ readonly security?: {
10
+ readonly allowAnonymous?: boolean | undefined;
11
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
12
+ readonly disallowed?: Record<string, string[]> | undefined;
13
+ } | undefined;
14
+ readonly storeQueries?: boolean | undefined;
15
+ } & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
16
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
17
+ readonly name?: string | undefined;
18
+ readonly paging?: Record<string, {
19
+ size?: number | undefined;
20
+ }> | undefined;
21
+ readonly schema: "network.xyo.module.config";
22
+ readonly security?: {
23
+ readonly allowAnonymous?: boolean | undefined;
24
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
25
+ readonly disallowed?: Record<string, string[]> | undefined;
26
+ } | undefined;
27
+ readonly storeQueries?: boolean | undefined;
28
+ } & Omit<undefined, "schema">, "schema"> & {
29
+ schema: string;
30
+ }, "schema">, undefined>, import("@xyo-network/module").ModuleEventData>> | undefined, Error | undefined];
31
+ //# sourceMappingURL=useWrappedModuleFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWrappedModuleFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/wrapped/useWrappedModuleFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAInD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGAAiF,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { ModuleWrapper } from '@xyo-network/module';
2
+ export declare const useWrappedModulesFromNode: (account?: import("@xyo-network/wallet-model").WalletInstance | undefined, logger?: import("@xyo-network/core").Logger | undefined) => [ModuleWrapper<import("@xyo-network/module").Module<import("@xyo-network/module").ModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
3
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
4
+ readonly name?: string | undefined;
5
+ readonly paging?: Record<string, {
6
+ size?: number | undefined;
7
+ }> | undefined;
8
+ readonly schema: string;
9
+ readonly security?: {
10
+ readonly allowAnonymous?: boolean | undefined;
11
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
12
+ readonly disallowed?: Record<string, string[]> | undefined;
13
+ } | undefined;
14
+ readonly storeQueries?: boolean | undefined;
15
+ } & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
16
+ readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
17
+ readonly name?: string | undefined;
18
+ readonly paging?: Record<string, {
19
+ size?: number | undefined;
20
+ }> | undefined;
21
+ readonly schema: "network.xyo.module.config";
22
+ readonly security?: {
23
+ readonly allowAnonymous?: boolean | undefined;
24
+ readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
25
+ readonly disallowed?: Record<string, string[]> | undefined;
26
+ } | undefined;
27
+ readonly storeQueries?: boolean | undefined;
28
+ } & Omit<undefined, "schema">, "schema"> & {
29
+ schema: string;
30
+ }, "schema">, undefined>, import("@xyo-network/module").ModuleEventData>>[] | undefined, Error | undefined];
31
+ //# sourceMappingURL=useWrappedModulesFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWrappedModulesFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/wrapped/useWrappedModulesFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAInD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GAAuF,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { NodeWrapper } from '@xyo-network/node';
2
+ export declare const useWrappedNodeFromNode: (nameOrAddress?: string | undefined, wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined, logger?: import("@xyo-network/core").Logger | undefined) => [NodeWrapper<import("@xyo-network/node").NodeModule<import("@xyo-network/node").NodeModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
3
+ readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
4
+ readonly name?: string | undefined;
5
+ readonly paging?: Record<string, {
6
+ size?: number | undefined;
7
+ }> | undefined;
8
+ readonly schema: string;
9
+ readonly security?: {
10
+ readonly allowAnonymous?: boolean | undefined;
11
+ readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
12
+ readonly disallowed?: Record<string, string[]> | undefined;
13
+ } | undefined;
14
+ readonly storeQueries?: boolean | undefined;
15
+ } & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
16
+ readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
17
+ readonly name?: string | undefined;
18
+ readonly paging?: Record<string, {
19
+ size?: number | undefined;
20
+ }> | undefined;
21
+ readonly schema: "network.xyo.node.config";
22
+ readonly security?: {
23
+ readonly allowAnonymous?: boolean | undefined;
24
+ readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
25
+ readonly disallowed?: Record<string, string[]> | undefined;
26
+ } | undefined;
27
+ readonly storeQueries?: boolean | undefined;
28
+ } & Omit<{
29
+ archivist?: string | undefined;
30
+ schema: "network.xyo.node.config";
31
+ } & Omit<undefined, "schema">, "schema">, "schema"> & {
32
+ schema: string;
33
+ }, "schema">, undefined>, import("@xyo-network/node").NodeModuleEventData>> | undefined, Error | undefined];
34
+ //# sourceMappingURL=useWrappedNodeFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWrappedNodeFromNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/wrapped/useWrappedNodeFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAI/C,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GAAiF,CAAA"}
package/package.json CHANGED
@@ -15,23 +15,23 @@
15
15
  "@xylabs/react-flexbox": "^2.17.6",
16
16
  "@xylabs/react-promise": "^2.17.6",
17
17
  "@xylabs/react-shared": "^2.17.6",
18
- "@xyo-network/core": "^2.64.1",
19
- "@xyo-network/module": "^2.64.1",
20
- "@xyo-network/module-model": "^2.64.1",
21
- "@xyo-network/node": "^2.64.1",
22
- "@xyo-network/react-node-context": "^2.56.2",
23
- "@xyo-network/react-node-provider": "^2.56.2",
24
- "@xyo-network/react-wallet": "^2.56.2",
25
- "@xyo-network/wallet-model": "^2.64.1",
18
+ "@xyo-network/core": "^2.64.3",
19
+ "@xyo-network/module": "^2.64.3",
20
+ "@xyo-network/module-model": "^2.64.3",
21
+ "@xyo-network/node": "^2.64.3",
22
+ "@xyo-network/react-node-context": "^2.56.4",
23
+ "@xyo-network/react-node-provider": "^2.56.4",
24
+ "@xyo-network/react-wallet": "^2.56.4",
25
+ "@xyo-network/wallet-model": "^2.64.3",
26
26
  "lodash": "^4.17.21"
27
27
  },
28
28
  "devDependencies": {
29
- "@storybook/react": "^7.0.24",
29
+ "@storybook/react": "^7.0.25",
30
30
  "@types/lodash": "^4.14.195",
31
- "@xylabs/ts-scripts-yarn3": "^2.18.2",
32
- "@xylabs/tsconfig-react": "^2.18.2",
33
- "@xyo-network/react-storybook": "^2.56.2",
34
- "@xyo-network/react-wallet": "^2.56.2",
31
+ "@xylabs/ts-scripts-yarn3": "^2.18.7",
32
+ "@xylabs/tsconfig-react": "^2.18.7",
33
+ "@xyo-network/react-storybook": "^2.56.4",
34
+ "@xyo-network/react-wallet": "^2.56.4",
35
35
  "typescript": "^5.1.6"
36
36
  },
37
37
  "peerDependencies": {
@@ -86,5 +86,5 @@
86
86
  },
87
87
  "sideEffects": false,
88
88
  "types": "dist/types/index.d.ts",
89
- "version": "2.56.2"
89
+ "version": "2.56.4"
90
90
  }
@@ -8,7 +8,7 @@ import { DefaultSeedPhrase } from '@xyo-network/react-storybook'
8
8
  import { useWallet, WalletProvider } from '@xyo-network/react-wallet'
9
9
  import { useEffect, useState } from 'react'
10
10
 
11
- import { useModule, useProvidedNode } from '../hooks'
11
+ import { useModuleFromNode, useProvidedNode } from '../hooks'
12
12
 
13
13
  const TestModuleConfigSchema = 'network.xyo.test.module'
14
14
  class TestModule extends AbstractModule {
@@ -32,8 +32,7 @@ const MemoryNodeDecorator: Decorator = (Story, args) => {
32
32
  }
33
33
 
34
34
  const UseModuleTest: React.FC<WithChildren> = ({ children }) => {
35
- const [wallet] = useWallet({ mnemonic: DefaultSeedPhrase, path: '0' })
36
- const [testModule] = useModule(TestModuleName, wallet)
35
+ const [testModule] = useModuleFromNode(TestModuleName)
37
36
 
38
37
  useEffect(() => {
39
38
  if (testModule) {
@@ -59,7 +58,7 @@ const Template: StoryFn<React.FC> = (props) => {
59
58
  useAsyncEffect(
60
59
  // eslint-disable-next-line react-hooks/exhaustive-deps
61
60
  async (mounted) => {
62
- if (node) {
61
+ if (node && account) {
63
62
  try {
64
63
  const mod = await TestModule.create({ account, config: { name: TestModuleName, schema: TestModuleConfigSchema } })
65
64
  await node?.register(mod)
@@ -9,16 +9,14 @@ import { useRef } from 'react'
9
9
  import { RenderModule } from './RenderModule'
10
10
 
11
11
  export interface ModuleDescriptionProps extends FlexBoxProps {
12
- module?: Module
12
+ module?: Module | null
13
13
  }
14
14
  export const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ module }) => {
15
15
  const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })
16
16
 
17
17
  return (
18
18
  <>
19
- {module === undefined ? (
20
- <Typography variant="h4">Node not found</Typography>
21
- ) : (
19
+ {module ? (
22
20
  <>
23
21
  <Typography variant="h4">Node Configuration</Typography>
24
22
  <StyledTreeView
@@ -30,6 +28,10 @@ export const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ module
30
28
  <RenderModule module={module} idRef={idRef} />
31
29
  </StyledTreeView>
32
30
  </>
31
+ ) : module === null ? (
32
+ <Typography variant="h4">Node loading...</Typography>
33
+ ) : (
34
+ <Typography variant="h4">Node not found</Typography>
33
35
  )}
34
36
  </>
35
37
  )
@@ -1,7 +1,7 @@
1
1
  import { TreeItem } from '@mui/lab'
2
2
  import { styled } from '@mui/material'
3
3
  import { useAsyncEffect } from '@xylabs/react-async-effect'
4
- import { Module, ModuleWrapper } from '@xyo-network/module'
4
+ import { Module } from '@xyo-network/module'
5
5
  import { MutableRefObject, useState } from 'react'
6
6
 
7
7
  interface RenderModuleProps {
@@ -13,14 +13,13 @@ interface RenderModuleProps {
13
13
  }
14
14
 
15
15
  export const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) => {
16
- const { address, queries } = module
16
+ const { address, queries } = module ?? {}
17
17
  const [childModules, setChildModules] = useState<Module[]>()
18
18
 
19
19
  useAsyncEffect(
20
20
  // eslint-disable-next-line react-hooks/exhaustive-deps
21
21
  async (mounted) => {
22
- const wrapper = ModuleWrapper.wrap(module)
23
- const children = (await wrapper.downResolver.resolve()).filter((childModule) => childModule.address !== address)
22
+ const children = (await module.downResolver.resolve()).filter((childModule) => childModule.address !== address)
24
23
  if (mounted()) {
25
24
  setChildModules(children)
26
25
  }
@@ -1,8 +1,5 @@
1
- export * from './useModule'
2
- export * from './useModules'
3
- export * from './useNode'
4
- export * from './useProvidedNode'
5
- export * from './useProvidedNodeAttachedAddresses'
6
- export * from './useProvidedNodeRegisteredAddresses'
7
- export * from './useWrappedNodeModule'
8
- export * from './useWrappedNodeModules'
1
+ export * from './provided'
2
+ export * from './useModuleFromNode'
3
+ export * from './useModulesFromNode'
4
+ export * from './useNodeFromNode'
5
+ export * from './wrapped'
@@ -0,0 +1,3 @@
1
+ export * from './useProvidedNode'
2
+ export * from './useProvidedNodeAttachedAddresses'
3
+ export * from './useProvidedNodeRegisteredAddresses'
@@ -0,0 +1,8 @@
1
+ import { NodeModule } from '@xyo-network/node'
2
+ import { NodeContext } from '@xyo-network/react-node-context'
3
+ import { useContext } from 'react'
4
+
5
+ export const useProvidedNode = (): [NodeModule | null | undefined] => {
6
+ const { node } = useContext(NodeContext)
7
+ return [node]
8
+ }
@@ -0,0 +1,77 @@
1
+ import { useAsyncEffect } from '@xylabs/react-async-effect'
2
+ import { Logger } from '@xyo-network/core'
3
+ import { EventUnsubscribeFunction } from '@xyo-network/module'
4
+ import { Module, ModuleFilter } from '@xyo-network/module-model'
5
+ import { ModuleAttachedEventArgs, ModuleDetachedEventArgs } from '@xyo-network/node'
6
+ import { useMemo, useState } from 'react'
7
+
8
+ import { useProvidedNode } from './provided'
9
+
10
+ export const useModuleFromNode = <TModule extends Module = Module>(
11
+ nameOrAddressOrFilter?: string | ModuleFilter,
12
+ logger?: Logger,
13
+ ): [TModule | null | undefined, Error | undefined] => {
14
+ const nameOrAddress = useMemo(() => (typeof nameOrAddressOrFilter === 'string' ? nameOrAddressOrFilter : undefined), [nameOrAddressOrFilter])
15
+ const filter = useMemo(() => (typeof nameOrAddressOrFilter === 'object' ? nameOrAddressOrFilter : undefined), [nameOrAddressOrFilter])
16
+ const [node] = useProvidedNode()
17
+ const [module, setModule] = useState<TModule | null>()
18
+ const [error, setError] = useState<Error>()
19
+
20
+ const address = useMemo(() => module?.address, [module])
21
+
22
+ useAsyncEffect(
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
24
+ async (mounted) => {
25
+ const eventUnsubscribe: EventUnsubscribeFunction[] = []
26
+ try {
27
+ if (node) {
28
+ const attachHandler = (args: ModuleAttachedEventArgs) => {
29
+ const eventModule = args.module
30
+ if (nameOrAddress && (eventModule.address === nameOrAddress || eventModule?.config.name === nameOrAddress)) {
31
+ logger?.debug(`attachHandler-setting [${nameOrAddress}]`)
32
+ setModule(eventModule as TModule)
33
+ setError(undefined)
34
+ }
35
+ }
36
+ const detachHandler = (args: ModuleDetachedEventArgs) => {
37
+ const eventModule = args.module
38
+ if (eventModule.address === address) {
39
+ logger?.debug(`detachHandler-clearing [${address}]`)
40
+ setModule(undefined)
41
+ setError(undefined)
42
+ }
43
+ }
44
+ const module: TModule | undefined = nameOrAddress
45
+ ? (await node.downResolver.resolve<TModule>({ address: [nameOrAddress], name: [nameOrAddress] })).pop()
46
+ : (await node.downResolver.resolve<TModule>(filter)).pop()
47
+ if (mounted()) {
48
+ eventUnsubscribe.push(node.on('moduleAttached', attachHandler))
49
+ eventUnsubscribe.push(node.on('moduleDetached', detachHandler))
50
+ logger?.debug(`resolved [${nameOrAddress}]`)
51
+ setModule(module)
52
+ setError(undefined)
53
+ }
54
+ } else {
55
+ if (mounted()) {
56
+ setModule(node)
57
+ setError(undefined)
58
+ }
59
+ }
60
+ return () => {
61
+ //remove the event handler on unmount
62
+ eventUnsubscribe.forEach((func) => func())
63
+ }
64
+ } catch (ex) {
65
+ if (mounted()) {
66
+ const error = ex as Error
67
+ logger?.error(error.message)
68
+ setError(error)
69
+ setModule(undefined)
70
+ }
71
+ }
72
+ },
73
+ [nameOrAddress, node, address, filter, logger],
74
+ )
75
+
76
+ return [module, error]
77
+ }