@xyo-network/react-node 2.75.7 → 2.76.0

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 (233) hide show
  1. package/dist/browser/components/render/ModuleDescriptionBox.d.cts +1 -1
  2. package/dist/browser/components/render/ModuleDescriptionBox.d.cts.map +1 -1
  3. package/dist/browser/components/render/ModuleDescriptionBox.d.mts +1 -1
  4. package/dist/browser/components/render/ModuleDescriptionBox.d.mts.map +1 -1
  5. package/dist/browser/components/render/ModuleDescriptionBox.d.ts +1 -1
  6. package/dist/browser/components/render/ModuleDescriptionBox.d.ts.map +1 -1
  7. package/dist/browser/components/render/RenderModule.d.cts +1 -1
  8. package/dist/browser/components/render/RenderModule.d.cts.map +1 -1
  9. package/dist/browser/components/render/RenderModule.d.mts +1 -1
  10. package/dist/browser/components/render/RenderModule.d.mts.map +1 -1
  11. package/dist/browser/components/render/RenderModule.d.ts +1 -1
  12. package/dist/browser/components/render/RenderModule.d.ts.map +1 -1
  13. package/dist/browser/index.cjs +43 -43
  14. package/dist/browser/index.cjs.map +1 -1
  15. package/dist/browser/index.js +43 -43
  16. package/dist/browser/index.js.map +1 -1
  17. package/dist/neutral/components/Node.d.cts +9 -0
  18. package/dist/neutral/components/Node.d.cts.map +1 -0
  19. package/dist/neutral/components/Node.d.mts +9 -0
  20. package/dist/neutral/components/Node.d.mts.map +1 -0
  21. package/dist/neutral/components/Node.d.ts +9 -0
  22. package/dist/neutral/components/Node.d.ts.map +1 -0
  23. package/dist/neutral/components/NodeDescriptionBox.d.cts +8 -0
  24. package/dist/neutral/components/NodeDescriptionBox.d.cts.map +1 -0
  25. package/dist/neutral/components/NodeDescriptionBox.d.mts +8 -0
  26. package/dist/neutral/components/NodeDescriptionBox.d.mts.map +1 -0
  27. package/dist/neutral/components/NodeDescriptionBox.d.ts +8 -0
  28. package/dist/neutral/components/NodeDescriptionBox.d.ts.map +1 -0
  29. package/dist/neutral/components/NodeDrawer.d.cts +7 -0
  30. package/dist/neutral/components/NodeDrawer.d.cts.map +1 -0
  31. package/dist/neutral/components/NodeDrawer.d.mts +7 -0
  32. package/dist/neutral/components/NodeDrawer.d.mts.map +1 -0
  33. package/dist/neutral/components/NodeDrawer.d.ts +7 -0
  34. package/dist/neutral/components/NodeDrawer.d.ts.map +1 -0
  35. package/dist/neutral/components/NodeModulesBox.d.cts +8 -0
  36. package/dist/neutral/components/NodeModulesBox.d.cts.map +1 -0
  37. package/dist/neutral/components/NodeModulesBox.d.mts +8 -0
  38. package/dist/neutral/components/NodeModulesBox.d.mts.map +1 -0
  39. package/dist/neutral/components/NodeModulesBox.d.ts +8 -0
  40. package/dist/neutral/components/NodeModulesBox.d.ts.map +1 -0
  41. package/dist/neutral/components/TestModule.d.cts +14 -0
  42. package/dist/neutral/components/TestModule.d.cts.map +1 -0
  43. package/dist/neutral/components/TestModule.d.mts +14 -0
  44. package/dist/neutral/components/TestModule.d.mts.map +1 -0
  45. package/dist/neutral/components/TestModule.d.ts +14 -0
  46. package/dist/neutral/components/TestModule.d.ts.map +1 -0
  47. package/dist/neutral/components/index.d.cts +3 -0
  48. package/dist/neutral/components/index.d.cts.map +1 -0
  49. package/dist/neutral/components/index.d.mts +3 -0
  50. package/dist/neutral/components/index.d.mts.map +1 -0
  51. package/dist/neutral/components/index.d.ts +3 -0
  52. package/dist/neutral/components/index.d.ts.map +1 -0
  53. package/dist/neutral/components/render/ModuleDescriptionBox.d.cts +8 -0
  54. package/dist/neutral/components/render/ModuleDescriptionBox.d.cts.map +1 -0
  55. package/dist/neutral/components/render/ModuleDescriptionBox.d.mts +8 -0
  56. package/dist/neutral/components/render/ModuleDescriptionBox.d.mts.map +1 -0
  57. package/dist/neutral/components/render/ModuleDescriptionBox.d.ts +8 -0
  58. package/dist/neutral/components/render/ModuleDescriptionBox.d.ts.map +1 -0
  59. package/dist/neutral/components/render/RenderModule.d.cts +12 -0
  60. package/dist/neutral/components/render/RenderModule.d.cts.map +1 -0
  61. package/dist/neutral/components/render/RenderModule.d.mts +12 -0
  62. package/dist/neutral/components/render/RenderModule.d.mts.map +1 -0
  63. package/dist/neutral/components/render/RenderModule.d.ts +12 -0
  64. package/dist/neutral/components/render/RenderModule.d.ts.map +1 -0
  65. package/dist/neutral/components/render/index.d.cts +3 -0
  66. package/dist/neutral/components/render/index.d.cts.map +1 -0
  67. package/dist/neutral/components/render/index.d.mts +3 -0
  68. package/dist/neutral/components/render/index.d.mts.map +1 -0
  69. package/dist/neutral/components/render/index.d.ts +3 -0
  70. package/dist/neutral/components/render/index.d.ts.map +1 -0
  71. package/dist/neutral/hooks/ModuleFromNodeConfig.d.cts +9 -0
  72. package/dist/neutral/hooks/ModuleFromNodeConfig.d.cts.map +1 -0
  73. package/dist/neutral/hooks/ModuleFromNodeConfig.d.mts +9 -0
  74. package/dist/neutral/hooks/ModuleFromNodeConfig.d.mts.map +1 -0
  75. package/dist/neutral/hooks/ModuleFromNodeConfig.d.ts +9 -0
  76. package/dist/neutral/hooks/ModuleFromNodeConfig.d.ts.map +1 -0
  77. package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.cts +9 -0
  78. package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.cts.map +1 -0
  79. package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.mts +9 -0
  80. package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.mts.map +1 -0
  81. package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.ts +9 -0
  82. package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.ts.map +1 -0
  83. package/dist/neutral/hooks/index.d.cts +17 -0
  84. package/dist/neutral/hooks/index.d.cts.map +1 -0
  85. package/dist/neutral/hooks/index.d.mts +17 -0
  86. package/dist/neutral/hooks/index.d.mts.map +1 -0
  87. package/dist/neutral/hooks/index.d.ts +17 -0
  88. package/dist/neutral/hooks/index.d.ts.map +1 -0
  89. package/dist/neutral/hooks/provided/index.d.cts +3 -0
  90. package/dist/neutral/hooks/provided/index.d.cts.map +1 -0
  91. package/dist/neutral/hooks/provided/index.d.mts +3 -0
  92. package/dist/neutral/hooks/provided/index.d.mts.map +1 -0
  93. package/dist/neutral/hooks/provided/index.d.ts +3 -0
  94. package/dist/neutral/hooks/provided/index.d.ts.map +1 -0
  95. package/dist/neutral/hooks/provided/useProvidedNode.d.cts +3 -0
  96. package/dist/neutral/hooks/provided/useProvidedNode.d.cts.map +1 -0
  97. package/dist/neutral/hooks/provided/useProvidedNode.d.mts +3 -0
  98. package/dist/neutral/hooks/provided/useProvidedNode.d.mts.map +1 -0
  99. package/dist/neutral/hooks/provided/useProvidedNode.d.ts +3 -0
  100. package/dist/neutral/hooks/provided/useProvidedNode.d.ts.map +1 -0
  101. package/dist/neutral/hooks/provided/useWeakProvidedNode.d.cts +3 -0
  102. package/dist/neutral/hooks/provided/useWeakProvidedNode.d.cts.map +1 -0
  103. package/dist/neutral/hooks/provided/useWeakProvidedNode.d.mts +3 -0
  104. package/dist/neutral/hooks/provided/useWeakProvidedNode.d.mts.map +1 -0
  105. package/dist/neutral/hooks/provided/useWeakProvidedNode.d.ts +3 -0
  106. package/dist/neutral/hooks/provided/useWeakProvidedNode.d.ts.map +1 -0
  107. package/dist/neutral/hooks/useModuleFilterOptions.d.cts +18 -0
  108. package/dist/neutral/hooks/useModuleFilterOptions.d.cts.map +1 -0
  109. package/dist/neutral/hooks/useModuleFilterOptions.d.mts +18 -0
  110. package/dist/neutral/hooks/useModuleFilterOptions.d.mts.map +1 -0
  111. package/dist/neutral/hooks/useModuleFilterOptions.d.ts +18 -0
  112. package/dist/neutral/hooks/useModuleFilterOptions.d.ts.map +1 -0
  113. package/dist/neutral/hooks/useModuleFromNode.d.cts +71 -0
  114. package/dist/neutral/hooks/useModuleFromNode.d.cts.map +1 -0
  115. package/dist/neutral/hooks/useModuleFromNode.d.mts +71 -0
  116. package/dist/neutral/hooks/useModuleFromNode.d.mts.map +1 -0
  117. package/dist/neutral/hooks/useModuleFromNode.d.ts +71 -0
  118. package/dist/neutral/hooks/useModuleFromNode.d.ts.map +1 -0
  119. package/dist/neutral/hooks/useModulesFromNode.d.cts +5 -0
  120. package/dist/neutral/hooks/useModulesFromNode.d.cts.map +1 -0
  121. package/dist/neutral/hooks/useModulesFromNode.d.mts +5 -0
  122. package/dist/neutral/hooks/useModulesFromNode.d.mts.map +1 -0
  123. package/dist/neutral/hooks/useModulesFromNode.d.ts +5 -0
  124. package/dist/neutral/hooks/useModulesFromNode.d.ts.map +1 -0
  125. package/dist/neutral/hooks/useNode.d.cts +4 -0
  126. package/dist/neutral/hooks/useNode.d.cts.map +1 -0
  127. package/dist/neutral/hooks/useNode.d.mts +4 -0
  128. package/dist/neutral/hooks/useNode.d.mts.map +1 -0
  129. package/dist/neutral/hooks/useNode.d.ts +4 -0
  130. package/dist/neutral/hooks/useNode.d.ts.map +1 -0
  131. package/dist/neutral/hooks/useNodeConfigNodeField.d.cts +4 -0
  132. package/dist/neutral/hooks/useNodeConfigNodeField.d.cts.map +1 -0
  133. package/dist/neutral/hooks/useNodeConfigNodeField.d.mts +4 -0
  134. package/dist/neutral/hooks/useNodeConfigNodeField.d.mts.map +1 -0
  135. package/dist/neutral/hooks/useNodeConfigNodeField.d.ts +4 -0
  136. package/dist/neutral/hooks/useNodeConfigNodeField.d.ts.map +1 -0
  137. package/dist/neutral/hooks/useNodeDescription.d.cts +4 -0
  138. package/dist/neutral/hooks/useNodeDescription.d.cts.map +1 -0
  139. package/dist/neutral/hooks/useNodeDescription.d.mts +4 -0
  140. package/dist/neutral/hooks/useNodeDescription.d.mts.map +1 -0
  141. package/dist/neutral/hooks/useNodeDescription.d.ts +4 -0
  142. package/dist/neutral/hooks/useNodeDescription.d.ts.map +1 -0
  143. package/dist/neutral/hooks/useNodeFromNode.d.cts +5 -0
  144. package/dist/neutral/hooks/useNodeFromNode.d.cts.map +1 -0
  145. package/dist/neutral/hooks/useNodeFromNode.d.mts +5 -0
  146. package/dist/neutral/hooks/useNodeFromNode.d.mts.map +1 -0
  147. package/dist/neutral/hooks/useNodeFromNode.d.ts +5 -0
  148. package/dist/neutral/hooks/useNodeFromNode.d.ts.map +1 -0
  149. package/dist/neutral/hooks/useNodesFromNode.d.cts +6 -0
  150. package/dist/neutral/hooks/useNodesFromNode.d.cts.map +1 -0
  151. package/dist/neutral/hooks/useNodesFromNode.d.mts +6 -0
  152. package/dist/neutral/hooks/useNodesFromNode.d.mts.map +1 -0
  153. package/dist/neutral/hooks/useNodesFromNode.d.ts +6 -0
  154. package/dist/neutral/hooks/useNodesFromNode.d.ts.map +1 -0
  155. package/dist/neutral/hooks/useWeakModuleFromNode.d.cts +59 -0
  156. package/dist/neutral/hooks/useWeakModuleFromNode.d.cts.map +1 -0
  157. package/dist/neutral/hooks/useWeakModuleFromNode.d.mts +59 -0
  158. package/dist/neutral/hooks/useWeakModuleFromNode.d.mts.map +1 -0
  159. package/dist/neutral/hooks/useWeakModuleFromNode.d.ts +59 -0
  160. package/dist/neutral/hooks/useWeakModuleFromNode.d.ts.map +1 -0
  161. package/dist/neutral/hooks/useWeakModulesFromNode.d.cts +4 -0
  162. package/dist/neutral/hooks/useWeakModulesFromNode.d.cts.map +1 -0
  163. package/dist/neutral/hooks/useWeakModulesFromNode.d.mts +4 -0
  164. package/dist/neutral/hooks/useWeakModulesFromNode.d.mts.map +1 -0
  165. package/dist/neutral/hooks/useWeakModulesFromNode.d.ts +4 -0
  166. package/dist/neutral/hooks/useWeakModulesFromNode.d.ts.map +1 -0
  167. package/dist/neutral/hooks/useWeakNode.d.cts +4 -0
  168. package/dist/neutral/hooks/useWeakNode.d.cts.map +1 -0
  169. package/dist/neutral/hooks/useWeakNode.d.mts +4 -0
  170. package/dist/neutral/hooks/useWeakNode.d.mts.map +1 -0
  171. package/dist/neutral/hooks/useWeakNode.d.ts +4 -0
  172. package/dist/neutral/hooks/useWeakNode.d.ts.map +1 -0
  173. package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.cts +4 -0
  174. package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.cts.map +1 -0
  175. package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.mts +4 -0
  176. package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.mts.map +1 -0
  177. package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.ts +4 -0
  178. package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.ts.map +1 -0
  179. package/dist/neutral/hooks/useWeakNodeDescription.d.cts +4 -0
  180. package/dist/neutral/hooks/useWeakNodeDescription.d.cts.map +1 -0
  181. package/dist/neutral/hooks/useWeakNodeDescription.d.mts +4 -0
  182. package/dist/neutral/hooks/useWeakNodeDescription.d.mts.map +1 -0
  183. package/dist/neutral/hooks/useWeakNodeDescription.d.ts +4 -0
  184. package/dist/neutral/hooks/useWeakNodeDescription.d.ts.map +1 -0
  185. package/dist/neutral/hooks/useWeakNodeFromNode.d.cts +4 -0
  186. package/dist/neutral/hooks/useWeakNodeFromNode.d.cts.map +1 -0
  187. package/dist/neutral/hooks/useWeakNodeFromNode.d.mts +4 -0
  188. package/dist/neutral/hooks/useWeakNodeFromNode.d.mts.map +1 -0
  189. package/dist/neutral/hooks/useWeakNodeFromNode.d.ts +4 -0
  190. package/dist/neutral/hooks/useWeakNodeFromNode.d.ts.map +1 -0
  191. package/dist/neutral/hooks/useWeakNodesFromNode.d.cts +5 -0
  192. package/dist/neutral/hooks/useWeakNodesFromNode.d.cts.map +1 -0
  193. package/dist/neutral/hooks/useWeakNodesFromNode.d.mts +5 -0
  194. package/dist/neutral/hooks/useWeakNodesFromNode.d.mts.map +1 -0
  195. package/dist/neutral/hooks/useWeakNodesFromNode.d.ts +5 -0
  196. package/dist/neutral/hooks/useWeakNodesFromNode.d.ts.map +1 -0
  197. package/dist/neutral/index.cjs +456 -0
  198. package/dist/neutral/index.cjs.map +1 -0
  199. package/dist/neutral/index.d.cts +5 -0
  200. package/dist/neutral/index.d.cts.map +1 -0
  201. package/dist/neutral/index.d.mts +5 -0
  202. package/dist/neutral/index.d.mts.map +1 -0
  203. package/dist/neutral/index.d.ts +5 -0
  204. package/dist/neutral/index.d.ts.map +1 -0
  205. package/dist/neutral/index.js +432 -0
  206. package/dist/neutral/index.js.map +1 -0
  207. package/dist/node/components/render/ModuleDescriptionBox.d.cts +1 -1
  208. package/dist/node/components/render/ModuleDescriptionBox.d.cts.map +1 -1
  209. package/dist/node/components/render/ModuleDescriptionBox.d.mts +1 -1
  210. package/dist/node/components/render/ModuleDescriptionBox.d.mts.map +1 -1
  211. package/dist/node/components/render/ModuleDescriptionBox.d.ts +1 -1
  212. package/dist/node/components/render/ModuleDescriptionBox.d.ts.map +1 -1
  213. package/dist/node/components/render/RenderModule.d.cts +1 -1
  214. package/dist/node/components/render/RenderModule.d.cts.map +1 -1
  215. package/dist/node/components/render/RenderModule.d.mts +1 -1
  216. package/dist/node/components/render/RenderModule.d.mts.map +1 -1
  217. package/dist/node/components/render/RenderModule.d.ts +1 -1
  218. package/dist/node/components/render/RenderModule.d.ts.map +1 -1
  219. package/dist/node/index.cjs +43 -43
  220. package/dist/node/index.cjs.map +1 -1
  221. package/dist/node/index.js +43 -43
  222. package/dist/node/index.js.map +1 -1
  223. package/package.json +16 -16
  224. package/src/components/NodeDrawer.tsx +1 -1
  225. package/src/components/render/ModuleDescriptionBox.tsx +5 -5
  226. package/src/components/render/RenderModule.tsx +6 -6
  227. package/src/hooks/useModuleFromNode.ts +8 -8
  228. package/src/hooks/useModulesFromNode.ts +4 -4
  229. package/src/hooks/useNodeFromNode.tsx +4 -4
  230. package/src/hooks/useNodesFromNode.tsx +3 -3
  231. package/src/hooks/useWeakModuleFromNode.ts +7 -7
  232. package/src/hooks/useWeakModulesFromNode.ts +7 -7
  233. package/src/hooks/useWeakNodesFromNode.tsx +2 -2
@@ -68,17 +68,17 @@ var useModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
68
68
  logger == null ? void 0 : logger.debug("useModuleFromNode: resolving");
69
69
  const identity = (config == null ? void 0 : config.identity) ?? isModuleInstance;
70
70
  if (node && nameOrAddressOrInstance) {
71
- node.on("moduleAttached", ({ module: module2 }) => {
71
+ node.on("moduleAttached", ({ module: mod }) => {
72
72
  var _a;
73
- logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
74
- if (module2.address === nameOrAddressOrInstance || ((_a = module2.config) == null ? void 0 : _a.name) === nameOrAddressOrInstance) {
75
- setResult(identity(module2) ? module2 : void 0);
73
+ logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
74
+ if (mod.address === nameOrAddressOrInstance || ((_a = mod.config) == null ? void 0 : _a.name) === nameOrAddressOrInstance) {
75
+ setResult(identity(mod) ? mod : void 0);
76
76
  }
77
77
  });
78
- node.on("moduleDetached", ({ module: module2 }) => {
78
+ node.on("moduleDetached", ({ module: mod }) => {
79
79
  var _a;
80
- logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${module2.config.name ?? module2.address}]`);
81
- if (module2.address === nameOrAddressOrInstance || ((_a = module2.config) == null ? void 0 : _a.name) === nameOrAddressOrInstance) {
80
+ logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`);
81
+ if (mod.address === nameOrAddressOrInstance || ((_a = mod.config) == null ? void 0 : _a.name) === nameOrAddressOrInstance) {
82
82
  setResult(void 0);
83
83
  }
84
84
  });
@@ -87,7 +87,7 @@ var useModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
87
87
  } else {
88
88
  const result2 = await node.resolve(nameOrAddressOrInstance, filterOptions);
89
89
  logger == null ? void 0 : logger.debug(`Result: ${result2 == null ? void 0 : result2.address}`);
90
- setResult(identity(module) ? module : void 0);
90
+ setResult(identity(result2) ? result2 : void 0);
91
91
  }
92
92
  return result;
93
93
  }
@@ -108,13 +108,13 @@ var useModulesFromNode = (filter, config) => {
108
108
  const [, error] = usePromise3(async () => {
109
109
  logger == null ? void 0 : logger.debug("useModuleFromNode: resolving");
110
110
  if (node) {
111
- node.on("moduleAttached", async ({ module: module2 }) => {
112
- logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
111
+ node.on("moduleAttached", async ({ module: mod }) => {
112
+ logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
113
113
  const moduleInstances2 = filter ? await node.resolve(filter, filterOptions) : await node.resolve("*", filterOptions);
114
114
  setResult(moduleInstances2);
115
115
  });
116
- node.on("moduleDetached", async ({ module: module2 }) => {
117
- logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${module2.config.name ?? module2.address}]`);
116
+ node.on("moduleDetached", async ({ module: mod }) => {
117
+ logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`);
118
118
  const moduleInstances2 = filter ? await node.resolve(filter, filterOptions) : await node.resolve("*", filterOptions);
119
119
  setResult(moduleInstances2);
120
120
  });
@@ -145,10 +145,10 @@ var useNodeDescription = (config) => {
145
145
  import { asNodeInstance as asNodeInstance2 } from "@xyo-network/node-model";
146
146
  var useNodeFromNode = (nameOrAddressOrInstance, config) => {
147
147
  var _a, _b;
148
- const [module2, error] = useModuleFromNode(nameOrAddressOrInstance, config);
149
- const instance = asNodeInstance2(module2);
150
- if (module2 && !instance) {
151
- const error2 = new Error(`Resolved module is not a NodeInstance [${(_a = module2.config) == null ? void 0 : _a.schema}:${(_b = module2.config) == null ? void 0 : _b.name}:${module2.address}]`);
148
+ const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config);
149
+ const instance = asNodeInstance2(mod);
150
+ if (mod && !instance) {
151
+ const error2 = new Error(`Resolved module is not a NodeInstance [${(_a = mod.config) == null ? void 0 : _a.schema}:${(_b = mod.config) == null ? void 0 : _b.name}:${mod.address}]`);
152
152
  console.error(error2.message);
153
153
  return [void 0, error2];
154
154
  }
@@ -164,9 +164,9 @@ var useNodesFromNode = (filter, config) => {
164
164
  }
165
165
  return modules ? [
166
166
  // eslint-disable-next-line unicorn/no-array-reduce
167
- modules.reduce((prev, module2) => {
168
- if (isNodeInstance(module2)) {
169
- prev.push(module2);
167
+ modules.reduce((prev, mod) => {
168
+ if (isNodeInstance(mod)) {
169
+ prev.push(mod);
170
170
  }
171
171
  return prev;
172
172
  }, []),
@@ -188,17 +188,17 @@ var useWeakModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
188
188
  const identity = (config == null ? void 0 : config.identity) ?? isModuleInstance2;
189
189
  const nodeInstance = node;
190
190
  if (nodeInstance && nameOrAddressOrInstance) {
191
- nodeInstance.on("moduleAttached", ({ module: module2 }) => {
191
+ nodeInstance.on("moduleAttached", ({ module: mod }) => {
192
192
  var _a;
193
- logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
194
- if (module2.address === nameOrAddressOrInstance || ((_a = module2.config) == null ? void 0 : _a.name) === nameOrAddressOrInstance) {
195
- setResult(identity(module2) ? new WeakRef(module2) : void 0);
193
+ logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
194
+ if (mod.address === nameOrAddressOrInstance || ((_a = mod.config) == null ? void 0 : _a.name) === nameOrAddressOrInstance) {
195
+ setResult(identity(mod) ? new WeakRef(mod) : void 0);
196
196
  }
197
197
  });
198
- nodeInstance.on("moduleDetached", ({ module: module2 }) => {
198
+ nodeInstance.on("moduleDetached", ({ module: mod }) => {
199
199
  var _a;
200
- logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${module2.config.name ?? module2.address}]`);
201
- if (module2.address === nameOrAddressOrInstance || ((_a = module2.config) == null ? void 0 : _a.name) === nameOrAddressOrInstance) {
200
+ logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`);
201
+ if (mod.address === nameOrAddressOrInstance || ((_a = mod.config) == null ? void 0 : _a.name) === nameOrAddressOrInstance) {
202
202
  setResult(void 0);
203
203
  }
204
204
  });
@@ -229,20 +229,20 @@ var useWeakModulesFromNode = (filter, config) => {
229
229
  logger == null ? void 0 : logger.debug("useModuleFromNode: resolving");
230
230
  const nodeInstance = node;
231
231
  if (nodeInstance) {
232
- nodeInstance.on("moduleAttached", async ({ module: module2 }) => {
232
+ nodeInstance.on("moduleAttached", async ({ module: mod }) => {
233
233
  const nodeInstance2 = node;
234
- logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
234
+ logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
235
235
  const moduleInstances2 = filter ? await (nodeInstance2 == null ? void 0 : nodeInstance2.resolve(filter, filterOptions)) : await (nodeInstance2 == null ? void 0 : nodeInstance2.resolve("*", filterOptions));
236
- setResult(moduleInstances2 == null ? void 0 : moduleInstances2.map((module3) => new WeakRef(module3)));
236
+ setResult(moduleInstances2 == null ? void 0 : moduleInstances2.map((mod2) => new WeakRef(mod2)));
237
237
  });
238
- nodeInstance.on("moduleDetached", async ({ module: module2 }) => {
238
+ nodeInstance.on("moduleDetached", async ({ module: mod }) => {
239
239
  const nodeInstance2 = node;
240
- logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${module2.config.name ?? module2.address}]`);
240
+ logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`);
241
241
  const moduleInstances2 = filter ? await (nodeInstance2 == null ? void 0 : nodeInstance2.resolve(filter, filterOptions)) : await (nodeInstance2 == null ? void 0 : nodeInstance2.resolve("*", filterOptions));
242
- setResult(moduleInstances2 == null ? void 0 : moduleInstances2.map((module3) => new WeakRef(module3)));
242
+ setResult(moduleInstances2 == null ? void 0 : moduleInstances2.map((mod2) => new WeakRef(mod2)));
243
243
  });
244
244
  const moduleInstances = filter ? await nodeInstance.resolve(filter, filterOptions) : await nodeInstance.resolve("*", filterOptions);
245
- setResult(moduleInstances == null ? void 0 : moduleInstances.map((module2) => new WeakRef(module2)));
245
+ setResult(moduleInstances == null ? void 0 : moduleInstances.map((mod) => new WeakRef(mod)));
246
246
  return moduleInstances;
247
247
  }
248
248
  console.log("Result: No Node");
@@ -337,12 +337,12 @@ import { TreeItem } from "@mui/x-tree-view";
337
337
  import { useAsyncEffect } from "@xylabs/react-async-effect";
338
338
  import { useState as useState5 } from "react";
339
339
  import { jsx as jsx3, jsxs } from "react/jsx-runtime";
340
- var RenderModule = ({ module: module2, idRef }) => {
340
+ var RenderModule = ({ mod, idRef }) => {
341
341
  const [childModules, setChildModules] = useState5();
342
342
  useAsyncEffect(
343
343
  // eslint-disable-next-line react-hooks/exhaustive-deps
344
344
  async (mounted) => {
345
- const moduleInstance2 = module2.deref();
345
+ const moduleInstance2 = mod.deref();
346
346
  const { address: address2 } = moduleInstance2 ?? {};
347
347
  if (moduleInstance2) {
348
348
  const children = (await moduleInstance2.resolve("*")).filter((childModule) => childModule.address !== address2);
@@ -351,14 +351,14 @@ var RenderModule = ({ module: module2, idRef }) => {
351
351
  }
352
352
  }
353
353
  },
354
- [module2]
354
+ [mod]
355
355
  );
356
356
  const increment = () => {
357
357
  const newId = (idRef.current.idIncrementor++).toString();
358
358
  idRef.current.ids.push(newId);
359
359
  return newId;
360
360
  };
361
- const moduleInstance = module2.deref();
361
+ const moduleInstance = mod.deref();
362
362
  const { queries, address } = moduleInstance ?? {};
363
363
  return /* @__PURE__ */ jsxs(StyledAddressTreeItem, { nodeId: increment(), label: `address: ${address}`, children: [
364
364
  queries == null ? void 0 : queries.map((query, index) => {
@@ -366,7 +366,7 @@ var RenderModule = ({ module: module2, idRef }) => {
366
366
  }),
367
367
  childModules && childModules.length > 0 ? /* @__PURE__ */ jsx3(TreeItem, { nodeId: increment(), label: "children", sx: { mb: 0.5 }, children: childModules.map((childModuleRef) => {
368
368
  const childModule = childModuleRef.deref();
369
- return childModule ? /* @__PURE__ */ jsx3(RenderModule, { module: childModuleRef, idRef }, childModule == null ? void 0 : childModule.address) : null;
369
+ return childModule ? /* @__PURE__ */ jsx3(RenderModule, { mod: childModuleRef, idRef }, childModule == null ? void 0 : childModule.address) : null;
370
370
  }) }) : null
371
371
  ] });
372
372
  };
@@ -378,9 +378,9 @@ var StyledAddressTreeItem = styled(TreeItem, { name: "StyledAddressTreeItem" })(
378
378
 
379
379
  // src/components/render/ModuleDescriptionBox.tsx
380
380
  import { Fragment, jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
381
- var ModuleDescriptionBox = ({ module: module2 }) => {
381
+ var ModuleDescriptionBox = ({ mod }) => {
382
382
  const idRef = useRef({ idIncrementor: 0, ids: [] });
383
- return /* @__PURE__ */ jsx4(Fragment, { children: module2 ? /* @__PURE__ */ jsxs2(Fragment, { children: [
383
+ return /* @__PURE__ */ jsx4(Fragment, { children: mod ? /* @__PURE__ */ jsxs2(Fragment, { children: [
384
384
  /* @__PURE__ */ jsx4(Typography, { variant: "h4", children: "Node Configuration" }),
385
385
  /* @__PURE__ */ jsx4(
386
386
  StyledTreeView,
@@ -389,10 +389,10 @@ var ModuleDescriptionBox = ({ module: module2 }) => {
389
389
  defaultCollapseIcon: /* @__PURE__ */ jsx4(ExpandMoreIcon, {}),
390
390
  defaultExpandIcon: /* @__PURE__ */ jsx4(ChevronRightIcon, {}),
391
391
  sx: { flexGrow: 1 },
392
- children: /* @__PURE__ */ jsx4(RenderModule, { module: module2, idRef })
392
+ children: /* @__PURE__ */ jsx4(RenderModule, { mod, idRef })
393
393
  }
394
394
  )
395
- ] }) : module2 === null ? /* @__PURE__ */ jsx4(Typography, { variant: "h4", children: "Node loading..." }) : /* @__PURE__ */ jsx4(Typography, { variant: "h4", children: "Node not found" }) });
395
+ ] }) : mod === null ? /* @__PURE__ */ jsx4(Typography, { variant: "h4", children: "Node loading..." }) : /* @__PURE__ */ jsx4(Typography, { variant: "h4", children: "Node not found" }) });
396
396
  };
397
397
  var StyledTreeView = styled2(TreeView, { name: "StyledTreeView" })(() => ({
398
398
  height: "auto",
@@ -406,7 +406,7 @@ var NodeDrawer = ({ children, ...props }) => {
406
406
  const [node] = useWeakProvidedNode();
407
407
  return /* @__PURE__ */ jsx5(Drawer, { open: open ?? false, anchor: "right", ...props, children: /* @__PURE__ */ jsx5(ClickAwayListener, { onClickAway: () => setOpen == null ? void 0 : setOpen(false), children: /* @__PURE__ */ jsxs3(FlexGrowCol, { role: "presentation", justifyContent: "start", p: 2, rowGap: 2, minWidth: "33vw", children: [
408
408
  /* @__PURE__ */ jsx5(FlexRow, { alignContent: "start", justifyContent: "start", width: "100%", children: /* @__PURE__ */ jsx5(IconButton, { onClick: () => setOpen == null ? void 0 : setOpen(false), children: /* @__PURE__ */ jsx5(CloseIcon, {}) }) }),
409
- /* @__PURE__ */ jsx5(ModuleDescriptionBox, { module: node }),
409
+ /* @__PURE__ */ jsx5(ModuleDescriptionBox, { mod: node }),
410
410
  children
411
411
  ] }) }) });
412
412
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/NodeDescriptionBox.tsx","../../src/hooks/ModuleFromNodeConfig.ts","../../src/hooks/provided/useProvidedNode.tsx","../../src/hooks/provided/useWeakProvidedNode.tsx","../../src/hooks/useModuleFilterOptions.ts","../../src/hooks/useModuleFromNode.ts","../../src/hooks/useNode.ts","../../src/hooks/useNodeConfigNodeField.ts","../../src/hooks/useModulesFromNode.ts","../../src/hooks/useNodeDescription.ts","../../src/hooks/useNodeFromNode.tsx","../../src/hooks/useNodesFromNode.tsx","../../src/hooks/useWeakModuleFromNode.ts","../../src/hooks/useWeakModulesFromNode.ts","../../src/hooks/useWeakNodeConfigNodeField.ts","../../src/hooks/useWeakNodeDescription.ts","../../src/hooks/useWeakNode.ts","../../src/hooks/useWeakNodeFromNode.tsx","../../src/hooks/WeakModuleFromNodeConfig.ts","../../src/components/Node.tsx","../../src/components/NodeDrawer.tsx","../../src/components/render/ModuleDescriptionBox.tsx","../../src/components/render/RenderModule.tsx","../../src/index.ts"],"sourcesContent":["import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakNodeDescription } from '../hooks'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | WeakRef<NodeInstance>\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useWeakNodeDescription({ node })\n\n return (\n <FlexCol {...props}>\n <code color={error ? 'red' : undefined}>{error ? error.message : JSON.stringify(description, null, 2)}</code>\n </FlexCol>\n )\n}\n","import { Logger } from '@xylabs/logger'\nimport { ModuleFilterOptions, ModuleInstance } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nexport type ModuleFromNodeConfig<T extends ModuleInstance = ModuleInstance> = ModuleFilterOptions<T> & {\n logger?: Logger\n node?: NodeInstance | string\n}\n\nexport const useModuleFromNodeConfigLogger = (config?: ModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext, useMemo } from 'react'\n\nexport const useWeakProvidedNode = (): [WeakRef<NodeInstance> | null | undefined] => {\n const { node } = useContext(NodeContext)\n const weakNode = useMemo(() => (node ? new WeakRef(node) : null), [node])\n return [weakNode]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const { direction, identity, maxDepth } = config ?? {}\n return { direction, identity, maxDepth }\n}\n","/* eslint-disable import/no-deprecated */\n/* eslint-disable deprecation/deprecation */\nimport { TypeCheck } from '@xylabs/object'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isModuleInstance, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig, useModuleFromNodeConfigLogger } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\n/** @deprecated use useWeakModuleFromNode */\nexport const useModuleFromNode = <T extends ModuleInstance | void = void>(\n nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,\n config?: T extends ModuleInstance ? ModuleFromNodeConfig<T> : ModuleFromNodeConfig | undefined,\n): [(T extends ModuleInstance ? T : ModuleInstance) | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = useModuleFromNodeConfigLogger(config)\n const filterOptions = useModuleFilterOptions(config)\n const [result, setResult] = useState<(T extends ModuleInstance ? T : ModuleInstance) | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n T extends ModuleInstance ? T : ModuleInstance\n >\n if (node && nameOrAddressOrInstance) {\n node.on('moduleAttached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n setResult(identity(module) ? (module as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n })\n node.on('moduleDetached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (identity(nameOrAddressOrInstance)) {\n setResult(nameOrAddressOrInstance)\n } else {\n const result = await node.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(identity(module) ? (module as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n return result\n }\n logger?.debug('Result: No Node')\n return\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useProvidedNode } from './provided'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField'\n\nexport const useNode = (config?: ModuleFromNodeConfig | undefined): [NodeInstance | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config)\n const [providedNode] = useProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n if (providedNode && nodeAddress) {\n return asNodeInstance(await providedNode.resolve(nodeAddress), 'Module is not a node')\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useNodeConfigNodeField = (config?: ModuleFromNodeConfig | undefined): [string | undefined, NodeInstance | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\n/** @deprecated use useModulesFromNode */\nexport const useModulesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [ModuleInstance[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<ModuleInstance[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node) {\n node.on('moduleAttached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n node.on('moduleDetached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleDescription, ModuleDescriptionPayload, ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useNode } from './useNode'\n\nexport const useNodeDescription = (config?: ModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n// eslint-disable-next-line import/no-deprecated\nimport { useModuleFromNode } from './useModuleFromNode'\n\n/** @deprecated use useWeakNodeFromNode instead */\nexport const useNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: ModuleFromNodeConfig,\n): [NodeInstance | undefined, Error | undefined] => {\n // eslint-disable-next-line import/no-deprecated, deprecation/deprecation\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asNodeInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a NodeInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { isNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n// eslint-disable-next-line import/no-deprecated\nimport { useModulesFromNode } from './useModulesFromNode'\n\n/** @deprecated use useWeakNodesFromNode */\nexport const useNodesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [NodeInstance[] | null | undefined, Error | undefined] => {\n // eslint-disable-next-line import/no-deprecated, deprecation/deprecation\n const [modules, error] = useModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return modules ?\n [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<NodeInstance[]>((prev, module) => {\n if (isNodeInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { TypeCheck } from '@xylabs/object'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isModuleInstance, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig, useModuleFromNodeConfigLogger } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useWeakModuleFromNode = <T extends ModuleInstance | void = void>(\n nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,\n config?: ModuleFromNodeConfig,\n): [WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = useModuleFromNodeConfigLogger(config)\n const filterOptions = useModuleFilterOptions(config)\n const [result, setResult] = useState<WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n T extends ModuleInstance ? T : ModuleInstance\n >\n const nodeInstance = node\n if (nodeInstance && nameOrAddressOrInstance) {\n nodeInstance.on('moduleAttached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n setResult(identity(module) ? new WeakRef(module as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n })\n nodeInstance.on('moduleDetached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (identity(nameOrAddressOrInstance)) {\n setResult(new WeakRef(nameOrAddressOrInstance as T extends ModuleInstance ? T : ModuleInstance))\n } else {\n const result = await nodeInstance.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(identity(result) ? new WeakRef(result as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n return result\n }\n logger?.debug('Result: No Node')\n return\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useWeakModulesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ModuleInstance>[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<WeakRef<ModuleInstance>[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const nodeInstance = node\n if (nodeInstance) {\n nodeInstance.on('moduleAttached', async ({ module }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map((module) => new WeakRef(module)))\n })\n nodeInstance.on('moduleDetached', async ({ module }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map((module) => new WeakRef(module)))\n })\n const moduleInstances = filter ? await nodeInstance.resolve(filter, filterOptions) : await nodeInstance.resolve('*', filterOptions)\n setResult(moduleInstances?.map((module) => new WeakRef(module)))\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNodeConfigNodeField = (\n config?: WeakModuleFromNodeConfig | undefined,\n): [string | undefined, WeakRef<NodeInstance> | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleDescription, ModuleDescriptionPayload, ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { useWeakNode } from './useWeakNode'\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNodeDescription = (config?: WeakModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useWeakNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.deref()?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakProvidedNode } from './provided'\nimport { useWeakNodeConfigNodeField } from './useWeakNodeConfigNodeField'\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNode = (config?: WeakModuleFromNodeConfig | undefined): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useWeakNodeConfigNodeField(config)\n const [providedNode] = useWeakProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n const providedNodeInstance = providedNode?.deref()\n if (providedNodeInstance && nodeAddress) {\n return new WeakRef(asNodeInstance(await providedNodeInstance.resolve(nodeAddress), 'Module is not a node'))\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","import { isNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useWeakModuleFromNode } from './useWeakModuleFromNode'\n\nexport const useWeakNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: ModuleFromNodeConfig,\n): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<NodeInstance>(nameOrAddressOrInstance, { identity: isNodeInstance, ...config })\n}\n","import { Logger } from '@xylabs/logger'\nimport { ModuleFilterOptions } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nexport type WeakModuleFromNodeConfig = ModuleFilterOptions & {\n logger?: Logger\n node?: WeakRef<NodeInstance> | string\n}\n\nexport const useWeakModuleFromNodeConfigLogger = (config?: WeakModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { NodeDescriptionBox } from './NodeDescriptionBox'\n\nexport interface NodeBoxProps extends FlexBoxProps {\n node?: string | WeakRef<NodeInstance>\n variant?: 'description'\n}\n\nexport const NodeBox: React.FC<NodeBoxProps> = ({ variant, ...props }) => {\n switch (variant) {\n // eslint-disable-next-line unicorn/no-useless-switch-case\n case 'description':\n default: {\n return <NodeDescriptionBox {...props} />\n }\n }\n}\n","import { Close as CloseIcon } from '@mui/icons-material'\nimport { ClickAwayListener, Drawer, DrawerProps, IconButton } from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { useNodeDrawer } from '@xyo-network/react-node-provider'\n\nimport { useWeakProvidedNode } from '../hooks'\nimport { ModuleDescriptionBox } from './render'\n\nexport interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {}\n\nexport const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {\n const { open, setOpen } = useNodeDrawer()\n const [node] = useWeakProvidedNode()\n\n return (\n <Drawer open={open ?? false} anchor=\"right\" {...props}>\n <ClickAwayListener onClickAway={() => setOpen?.(false)}>\n <FlexGrowCol role=\"presentation\" justifyContent=\"start\" p={2} rowGap={2} minWidth=\"33vw\">\n <FlexRow alignContent=\"start\" justifyContent=\"start\" width=\"100%\">\n <IconButton onClick={() => setOpen?.(false)}>\n <CloseIcon />\n </IconButton>\n </FlexRow>\n <ModuleDescriptionBox module={node} />\n {children}\n </FlexGrowCol>\n </ClickAwayListener>\n </Drawer>\n )\n}\n","import { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport { styled, Typography } from '@mui/material'\nimport { TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useRef } from 'react'\n\nimport { RenderModule } from './RenderModule'\n\nexport interface ModuleDescriptionProps extends FlexBoxProps {\n module?: WeakRef<ModuleInstance> | null\n}\nexport const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ module }) => {\n const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })\n\n return (\n <>\n {module ?\n <>\n <Typography variant=\"h4\">Node Configuration</Typography>\n <StyledTreeView\n aria-label=\"file system navigator\"\n defaultCollapseIcon={<ExpandMoreIcon />}\n defaultExpandIcon={<ChevronRightIcon />}\n sx={{ flexGrow: 1 }}\n >\n <RenderModule module={module} idRef={idRef} />\n </StyledTreeView>\n </>\n : module === null ?\n <Typography variant=\"h4\">Node loading...</Typography>\n : <Typography variant=\"h4\">Node not found</Typography>}\n </>\n )\n}\n\nconst StyledTreeView = styled(TreeView, { name: 'StyledTreeView' })(() => ({\n height: 'auto',\n maxWidth: 'auto',\n}))\n","import { styled } from '@mui/material'\nimport { TreeItem } from '@mui/x-tree-view'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { MutableRefObject, useState } from 'react'\n\ninterface RenderModuleProps {\n idRef: MutableRefObject<{\n idIncrementor: number\n ids: string[]\n }>\n module: WeakRef<ModuleInstance>\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) => {\n const [childModules, setChildModules] = useState<WeakRef<ModuleInstance>[]>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const moduleInstance = module.deref()\n const { address } = moduleInstance ?? {}\n if (moduleInstance) {\n const children = (await moduleInstance.resolve('*')).filter((childModule) => childModule.address !== address)\n if (mounted()) {\n setChildModules(children.map((childModule) => new WeakRef(childModule)))\n }\n }\n },\n [module],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\n\n const moduleInstance = module.deref()\n const { queries, address } = moduleInstance ?? {}\n\n return (\n <StyledAddressTreeItem nodeId={increment()} label={`address: ${address}`}>\n {queries?.map((query, index) => {\n return <TreeItem key={query} nodeId={increment()} label={`query : ${query}`} sx={{ mb: index === queries.length - 1 ? 1.5 : 0.5 }} />\n })}\n {childModules && childModules.length > 0 ?\n <TreeItem nodeId={increment()} label={'children'} sx={{ mb: 0.5 }}>\n {childModules.map((childModuleRef) => {\n const childModule = childModuleRef.deref()\n return childModule ? <RenderModule key={childModule?.address} module={childModuleRef} idRef={idRef} /> : null\n })}\n </TreeItem>\n : null}\n </StyledAddressTreeItem>\n )\n}\n\nconst StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => ({\n '& .MuiTreeItem-content': {\n marginBottom: theme.spacing(0.25),\n },\n}))\n","export * from './components'\nexport * from './hooks'\nexport * from '@xyo-network/react-node-context'\nexport * from '@xyo-network/react-node-provider'\n"],"mappings":"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","names":["NodeContext","useContext","usePromise","useMemo","usePromise","module","result","usePromise","useState","useState","usePromise","module","moduleInstances","usePromise","usePromise","asNodeInstance","module","asNodeInstance","error","module","usePromise","isModuleInstance","useState","useState","usePromise","isModuleInstance","module","result","usePromise","useState","useState","usePromise","module","nodeInstance","moduleInstances","useMemo","usePromise","ModuleDescriptionSchema","isPayloadOfSchemaType","usePromise","asNodeInstance","usePromise","asNodeInstance","usePromise","isPayloadOfSchemaType","ModuleDescriptionSchema","isNodeInstance","isNodeInstance","jsx","styled","useState","jsx","module","moduleInstance","address","jsx","jsxs","module","styled","jsx","jsxs"]}
1
+ {"version":3,"sources":["../../src/components/NodeDescriptionBox.tsx","../../src/hooks/ModuleFromNodeConfig.ts","../../src/hooks/provided/useProvidedNode.tsx","../../src/hooks/provided/useWeakProvidedNode.tsx","../../src/hooks/useModuleFilterOptions.ts","../../src/hooks/useModuleFromNode.ts","../../src/hooks/useNode.ts","../../src/hooks/useNodeConfigNodeField.ts","../../src/hooks/useModulesFromNode.ts","../../src/hooks/useNodeDescription.ts","../../src/hooks/useNodeFromNode.tsx","../../src/hooks/useNodesFromNode.tsx","../../src/hooks/useWeakModuleFromNode.ts","../../src/hooks/useWeakModulesFromNode.ts","../../src/hooks/useWeakNodeConfigNodeField.ts","../../src/hooks/useWeakNodeDescription.ts","../../src/hooks/useWeakNode.ts","../../src/hooks/useWeakNodeFromNode.tsx","../../src/hooks/WeakModuleFromNodeConfig.ts","../../src/components/Node.tsx","../../src/components/NodeDrawer.tsx","../../src/components/render/ModuleDescriptionBox.tsx","../../src/components/render/RenderModule.tsx","../../src/index.ts"],"sourcesContent":["import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakNodeDescription } from '../hooks'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | WeakRef<NodeInstance>\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useWeakNodeDescription({ node })\n\n return (\n <FlexCol {...props}>\n <code color={error ? 'red' : undefined}>{error ? error.message : JSON.stringify(description, null, 2)}</code>\n </FlexCol>\n )\n}\n","import { Logger } from '@xylabs/logger'\nimport { ModuleFilterOptions, ModuleInstance } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nexport type ModuleFromNodeConfig<T extends ModuleInstance = ModuleInstance> = ModuleFilterOptions<T> & {\n logger?: Logger\n node?: NodeInstance | string\n}\n\nexport const useModuleFromNodeConfigLogger = (config?: ModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext, useMemo } from 'react'\n\nexport const useWeakProvidedNode = (): [WeakRef<NodeInstance> | null | undefined] => {\n const { node } = useContext(NodeContext)\n const weakNode = useMemo(() => (node ? new WeakRef(node) : null), [node])\n return [weakNode]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const { direction, identity, maxDepth } = config ?? {}\n return { direction, identity, maxDepth }\n}\n","/* eslint-disable import/no-deprecated */\n/* eslint-disable deprecation/deprecation */\nimport { TypeCheck } from '@xylabs/object'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isModuleInstance, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig, useModuleFromNodeConfigLogger } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\n/** @deprecated use useWeakModuleFromNode */\nexport const useModuleFromNode = <T extends ModuleInstance | void = void>(\n nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,\n config?: T extends ModuleInstance ? ModuleFromNodeConfig<T> : ModuleFromNodeConfig | undefined,\n): [(T extends ModuleInstance ? T : ModuleInstance) | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = useModuleFromNodeConfigLogger(config)\n const filterOptions = useModuleFilterOptions(config)\n const [result, setResult] = useState<(T extends ModuleInstance ? T : ModuleInstance) | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n T extends ModuleInstance ? T : ModuleInstance\n >\n if (node && nameOrAddressOrInstance) {\n node.on('moduleAttached', ({ module: mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(identity(mod) ? (mod as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n })\n node.on('moduleDetached', ({ module: mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (identity(nameOrAddressOrInstance)) {\n setResult(nameOrAddressOrInstance)\n } else {\n const result = await node.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(identity(result) ? (result as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n return result\n }\n logger?.debug('Result: No Node')\n return\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useProvidedNode } from './provided'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField'\n\nexport const useNode = (config?: ModuleFromNodeConfig | undefined): [NodeInstance | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config)\n const [providedNode] = useProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n if (providedNode && nodeAddress) {\n return asNodeInstance(await providedNode.resolve(nodeAddress), 'Module is not a node')\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useNodeConfigNodeField = (config?: ModuleFromNodeConfig | undefined): [string | undefined, NodeInstance | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\n/** @deprecated use useModulesFromNode */\nexport const useModulesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [ModuleInstance[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<ModuleInstance[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node) {\n node.on('moduleAttached', async ({ module: mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n node.on('moduleDetached', async ({ module: mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleDescription, ModuleDescriptionPayload, ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useNode } from './useNode'\n\nexport const useNodeDescription = (config?: ModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n// eslint-disable-next-line import/no-deprecated\nimport { useModuleFromNode } from './useModuleFromNode'\n\n/** @deprecated use useWeakNodeFromNode instead */\nexport const useNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: ModuleFromNodeConfig,\n): [NodeInstance | undefined, Error | undefined] => {\n // eslint-disable-next-line import/no-deprecated, deprecation/deprecation\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asNodeInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a NodeInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { isNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n// eslint-disable-next-line import/no-deprecated\nimport { useModulesFromNode } from './useModulesFromNode'\n\n/** @deprecated use useWeakNodesFromNode */\nexport const useNodesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [NodeInstance[] | null | undefined, Error | undefined] => {\n // eslint-disable-next-line import/no-deprecated, deprecation/deprecation\n const [modules, error] = useModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return modules ?\n [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<NodeInstance[]>((prev, mod) => {\n if (isNodeInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { TypeCheck } from '@xylabs/object'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isModuleInstance, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig, useModuleFromNodeConfigLogger } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useWeakModuleFromNode = <T extends ModuleInstance | void = void>(\n nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,\n config?: ModuleFromNodeConfig,\n): [WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = useModuleFromNodeConfigLogger(config)\n const filterOptions = useModuleFilterOptions(config)\n const [result, setResult] = useState<WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n T extends ModuleInstance ? T : ModuleInstance\n >\n const nodeInstance = node\n if (nodeInstance && nameOrAddressOrInstance) {\n nodeInstance.on('moduleAttached', ({ module: mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(identity(mod) ? new WeakRef(mod as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n })\n nodeInstance.on('moduleDetached', ({ module: mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (identity(nameOrAddressOrInstance)) {\n setResult(new WeakRef(nameOrAddressOrInstance as T extends ModuleInstance ? T : ModuleInstance))\n } else {\n const result = await nodeInstance.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(identity(result) ? new WeakRef(result as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n return result\n }\n logger?.debug('Result: No Node')\n return\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useWeakModulesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ModuleInstance>[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<WeakRef<ModuleInstance>[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const nodeInstance = node\n if (nodeInstance) {\n nodeInstance.on('moduleAttached', async ({ module: mod }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map((mod) => new WeakRef(mod)))\n })\n nodeInstance.on('moduleDetached', async ({ module: mod }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map((mod) => new WeakRef(mod)))\n })\n const moduleInstances = filter ? await nodeInstance.resolve(filter, filterOptions) : await nodeInstance.resolve('*', filterOptions)\n setResult(moduleInstances?.map((mod) => new WeakRef(mod)))\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNodeConfigNodeField = (\n config?: WeakModuleFromNodeConfig | undefined,\n): [string | undefined, WeakRef<NodeInstance> | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleDescription, ModuleDescriptionPayload, ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { useWeakNode } from './useWeakNode'\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNodeDescription = (config?: WeakModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useWeakNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.deref()?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakProvidedNode } from './provided'\nimport { useWeakNodeConfigNodeField } from './useWeakNodeConfigNodeField'\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNode = (config?: WeakModuleFromNodeConfig | undefined): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useWeakNodeConfigNodeField(config)\n const [providedNode] = useWeakProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n const providedNodeInstance = providedNode?.deref()\n if (providedNodeInstance && nodeAddress) {\n return new WeakRef(asNodeInstance(await providedNodeInstance.resolve(nodeAddress), 'Module is not a node'))\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","import { isNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useWeakModuleFromNode } from './useWeakModuleFromNode'\n\nexport const useWeakNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: ModuleFromNodeConfig,\n): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<NodeInstance>(nameOrAddressOrInstance, { identity: isNodeInstance, ...config })\n}\n","import { Logger } from '@xylabs/logger'\nimport { ModuleFilterOptions } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nexport type WeakModuleFromNodeConfig = ModuleFilterOptions & {\n logger?: Logger\n node?: WeakRef<NodeInstance> | string\n}\n\nexport const useWeakModuleFromNodeConfigLogger = (config?: WeakModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { NodeDescriptionBox } from './NodeDescriptionBox'\n\nexport interface NodeBoxProps extends FlexBoxProps {\n node?: string | WeakRef<NodeInstance>\n variant?: 'description'\n}\n\nexport const NodeBox: React.FC<NodeBoxProps> = ({ variant, ...props }) => {\n switch (variant) {\n // eslint-disable-next-line unicorn/no-useless-switch-case\n case 'description':\n default: {\n return <NodeDescriptionBox {...props} />\n }\n }\n}\n","import { Close as CloseIcon } from '@mui/icons-material'\nimport { ClickAwayListener, Drawer, DrawerProps, IconButton } from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { useNodeDrawer } from '@xyo-network/react-node-provider'\n\nimport { useWeakProvidedNode } from '../hooks'\nimport { ModuleDescriptionBox } from './render'\n\nexport interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {}\n\nexport const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {\n const { open, setOpen } = useNodeDrawer()\n const [node] = useWeakProvidedNode()\n\n return (\n <Drawer open={open ?? false} anchor=\"right\" {...props}>\n <ClickAwayListener onClickAway={() => setOpen?.(false)}>\n <FlexGrowCol role=\"presentation\" justifyContent=\"start\" p={2} rowGap={2} minWidth=\"33vw\">\n <FlexRow alignContent=\"start\" justifyContent=\"start\" width=\"100%\">\n <IconButton onClick={() => setOpen?.(false)}>\n <CloseIcon />\n </IconButton>\n </FlexRow>\n <ModuleDescriptionBox mod={node} />\n {children}\n </FlexGrowCol>\n </ClickAwayListener>\n </Drawer>\n )\n}\n","import { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport { styled, Typography } from '@mui/material'\nimport { TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useRef } from 'react'\n\nimport { RenderModule } from './RenderModule'\n\nexport interface ModuleDescriptionProps extends FlexBoxProps {\n mod?: WeakRef<ModuleInstance> | null\n}\nexport const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ mod }) => {\n const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })\n\n return (\n <>\n {mod ?\n <>\n <Typography variant=\"h4\">Node Configuration</Typography>\n <StyledTreeView\n aria-label=\"file system navigator\"\n defaultCollapseIcon={<ExpandMoreIcon />}\n defaultExpandIcon={<ChevronRightIcon />}\n sx={{ flexGrow: 1 }}\n >\n <RenderModule mod={mod} idRef={idRef} />\n </StyledTreeView>\n </>\n : mod === null ?\n <Typography variant=\"h4\">Node loading...</Typography>\n : <Typography variant=\"h4\">Node not found</Typography>}\n </>\n )\n}\n\nconst StyledTreeView = styled(TreeView, { name: 'StyledTreeView' })(() => ({\n height: 'auto',\n maxWidth: 'auto',\n}))\n","import { styled } from '@mui/material'\nimport { TreeItem } from '@mui/x-tree-view'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { MutableRefObject, useState } from 'react'\n\ninterface RenderModuleProps {\n idRef: MutableRefObject<{\n idIncrementor: number\n ids: string[]\n }>\n mod: WeakRef<ModuleInstance>\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ mod, idRef }) => {\n const [childModules, setChildModules] = useState<WeakRef<ModuleInstance>[]>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const moduleInstance = mod.deref()\n const { address } = moduleInstance ?? {}\n if (moduleInstance) {\n const children = (await moduleInstance.resolve('*')).filter((childModule) => childModule.address !== address)\n if (mounted()) {\n setChildModules(children.map((childModule) => new WeakRef(childModule)))\n }\n }\n },\n [mod],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\n\n const moduleInstance = mod.deref()\n const { queries, address } = moduleInstance ?? {}\n\n return (\n <StyledAddressTreeItem nodeId={increment()} label={`address: ${address}`}>\n {queries?.map((query, index) => {\n return <TreeItem key={query} nodeId={increment()} label={`query : ${query}`} sx={{ mb: index === queries.length - 1 ? 1.5 : 0.5 }} />\n })}\n {childModules && childModules.length > 0 ?\n <TreeItem nodeId={increment()} label={'children'} sx={{ mb: 0.5 }}>\n {childModules.map((childModuleRef) => {\n const childModule = childModuleRef.deref()\n return childModule ? <RenderModule key={childModule?.address} mod={childModuleRef} idRef={idRef} /> : null\n })}\n </TreeItem>\n : null}\n </StyledAddressTreeItem>\n )\n}\n\nconst StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => ({\n '& .MuiTreeItem-content': {\n marginBottom: theme.spacing(0.25),\n },\n}))\n","export * from './components'\nexport * from './hooks'\nexport * from '@xyo-network/react-node-context'\nexport * from '@xyo-network/react-node-provider'\n"],"mappings":"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","names":["NodeContext","useContext","usePromise","useMemo","usePromise","result","usePromise","useState","useState","usePromise","moduleInstances","usePromise","usePromise","asNodeInstance","asNodeInstance","error","usePromise","isModuleInstance","useState","useState","usePromise","isModuleInstance","result","usePromise","useState","useState","usePromise","nodeInstance","moduleInstances","mod","useMemo","usePromise","ModuleDescriptionSchema","isPayloadOfSchemaType","usePromise","asNodeInstance","usePromise","asNodeInstance","usePromise","isPayloadOfSchemaType","ModuleDescriptionSchema","isNodeInstance","isNodeInstance","jsx","styled","useState","jsx","moduleInstance","address","jsx","jsxs","styled","jsx","jsxs"]}
package/package.json CHANGED
@@ -17,28 +17,28 @@
17
17
  "@mui/styles": "^5.15.16",
18
18
  "@mui/system": "^5.15.15",
19
19
  "@mui/x-tree-view": "^7.3.1",
20
- "@xylabs/exists": "^3.1.13",
21
- "@xylabs/logger": "^3.1.13",
22
- "@xylabs/object": "^3.1.13",
20
+ "@xylabs/exists": "^3.3.2",
21
+ "@xylabs/logger": "^3.3.2",
22
+ "@xylabs/object": "^3.3.2",
23
23
  "@xylabs/react-async-effect": "^3.1.7",
24
24
  "@xylabs/react-flexbox": "^3.1.7",
25
25
  "@xylabs/react-promise": "^3.1.7",
26
26
  "@xylabs/react-shared": "^3.1.7",
27
- "@xyo-network/module-abstract": "^2.99.1",
28
- "@xyo-network/module-model": "^2.99.1",
29
- "@xyo-network/node-model": "^2.99.1",
30
- "@xyo-network/payload-model": "^2.99.1",
31
- "@xyo-network/react-node-context": "~2.75.7",
32
- "@xyo-network/react-node-provider": "~2.75.7"
27
+ "@xyo-network/module-abstract": "^2.99.3",
28
+ "@xyo-network/module-model": "^2.99.3",
29
+ "@xyo-network/node-model": "^2.99.3",
30
+ "@xyo-network/payload-model": "^2.99.3",
31
+ "@xyo-network/react-node-context": "~2.76.0",
32
+ "@xyo-network/react-node-provider": "~2.76.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@storybook/react": "^7.6.19",
36
- "@xylabs/ts-scripts-yarn3": "^3.9.1",
37
- "@xylabs/tsconfig-react": "^3.9.1",
38
- "@xyo-network/node-memory": "^2.99.1",
39
- "@xyo-network/payload-model": "^2.99.1",
40
- "@xyo-network/react-storybook": "~2.75.7",
41
- "@xyo-network/react-wallet": "~2.75.7",
36
+ "@xylabs/ts-scripts-yarn3": "^3.10.0",
37
+ "@xylabs/tsconfig-react": "^3.10.0",
38
+ "@xyo-network/node-memory": "^2.99.3",
39
+ "@xyo-network/payload-model": "^2.99.3",
40
+ "@xyo-network/react-storybook": "~2.76.0",
41
+ "@xyo-network/react-wallet": "~2.76.0",
42
42
  "typescript": "^5.4.5"
43
43
  },
44
44
  "peerDependencies": {
@@ -96,6 +96,6 @@
96
96
  },
97
97
  "sideEffects": false,
98
98
  "types": "dist/browser/index.d.ts",
99
- "version": "2.75.7",
99
+ "version": "2.76.0",
100
100
  "type": "module"
101
101
  }
@@ -22,7 +22,7 @@ export const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) =>
22
22
  <CloseIcon />
23
23
  </IconButton>
24
24
  </FlexRow>
25
- <ModuleDescriptionBox module={node} />
25
+ <ModuleDescriptionBox mod={node} />
26
26
  {children}
27
27
  </FlexGrowCol>
28
28
  </ClickAwayListener>
@@ -8,14 +8,14 @@ import { useRef } from 'react'
8
8
  import { RenderModule } from './RenderModule'
9
9
 
10
10
  export interface ModuleDescriptionProps extends FlexBoxProps {
11
- module?: WeakRef<ModuleInstance> | null
11
+ mod?: WeakRef<ModuleInstance> | null
12
12
  }
13
- export const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ module }) => {
13
+ export const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ mod }) => {
14
14
  const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })
15
15
 
16
16
  return (
17
17
  <>
18
- {module ?
18
+ {mod ?
19
19
  <>
20
20
  <Typography variant="h4">Node Configuration</Typography>
21
21
  <StyledTreeView
@@ -24,10 +24,10 @@ export const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ module
24
24
  defaultExpandIcon={<ChevronRightIcon />}
25
25
  sx={{ flexGrow: 1 }}
26
26
  >
27
- <RenderModule module={module} idRef={idRef} />
27
+ <RenderModule mod={mod} idRef={idRef} />
28
28
  </StyledTreeView>
29
29
  </>
30
- : module === null ?
30
+ : mod === null ?
31
31
  <Typography variant="h4">Node loading...</Typography>
32
32
  : <Typography variant="h4">Node not found</Typography>}
33
33
  </>
@@ -9,16 +9,16 @@ interface RenderModuleProps {
9
9
  idIncrementor: number
10
10
  ids: string[]
11
11
  }>
12
- module: WeakRef<ModuleInstance>
12
+ mod: WeakRef<ModuleInstance>
13
13
  }
14
14
 
15
- export const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) => {
15
+ export const RenderModule: React.FC<RenderModuleProps> = ({ mod, idRef }) => {
16
16
  const [childModules, setChildModules] = useState<WeakRef<ModuleInstance>[]>()
17
17
 
18
18
  useAsyncEffect(
19
19
  // eslint-disable-next-line react-hooks/exhaustive-deps
20
20
  async (mounted) => {
21
- const moduleInstance = module.deref()
21
+ const moduleInstance = mod.deref()
22
22
  const { address } = moduleInstance ?? {}
23
23
  if (moduleInstance) {
24
24
  const children = (await moduleInstance.resolve('*')).filter((childModule) => childModule.address !== address)
@@ -27,7 +27,7 @@ export const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) =>
27
27
  }
28
28
  }
29
29
  },
30
- [module],
30
+ [mod],
31
31
  )
32
32
 
33
33
  const increment = () => {
@@ -36,7 +36,7 @@ export const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) =>
36
36
  return newId
37
37
  }
38
38
 
39
- const moduleInstance = module.deref()
39
+ const moduleInstance = mod.deref()
40
40
  const { queries, address } = moduleInstance ?? {}
41
41
 
42
42
  return (
@@ -48,7 +48,7 @@ export const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) =>
48
48
  <TreeItem nodeId={increment()} label={'children'} sx={{ mb: 0.5 }}>
49
49
  {childModules.map((childModuleRef) => {
50
50
  const childModule = childModuleRef.deref()
51
- return childModule ? <RenderModule key={childModule?.address} module={childModuleRef} idRef={idRef} /> : null
51
+ return childModule ? <RenderModule key={childModule?.address} mod={childModuleRef} idRef={idRef} /> : null
52
52
  })}
53
53
  </TreeItem>
54
54
  : null}
@@ -24,15 +24,15 @@ export const useModuleFromNode = <T extends ModuleInstance | void = void>(
24
24
  T extends ModuleInstance ? T : ModuleInstance
25
25
  >
26
26
  if (node && nameOrAddressOrInstance) {
27
- node.on('moduleAttached', ({ module }) => {
28
- logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)
29
- if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {
30
- setResult(identity(module) ? (module as T extends ModuleInstance ? T : ModuleInstance) : undefined)
27
+ node.on('moduleAttached', ({ module: mod }) => {
28
+ logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)
29
+ if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {
30
+ setResult(identity(mod) ? (mod as T extends ModuleInstance ? T : ModuleInstance) : undefined)
31
31
  }
32
32
  })
33
- node.on('moduleDetached', ({ module }) => {
34
- logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)
35
- if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {
33
+ node.on('moduleDetached', ({ module: mod }) => {
34
+ logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)
35
+ if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {
36
36
  setResult(undefined)
37
37
  }
38
38
  })
@@ -41,7 +41,7 @@ export const useModuleFromNode = <T extends ModuleInstance | void = void>(
41
41
  } else {
42
42
  const result = await node.resolve(nameOrAddressOrInstance, filterOptions)
43
43
  logger?.debug(`Result: ${result?.address}`)
44
- setResult(identity(module) ? (module as T extends ModuleInstance ? T : ModuleInstance) : undefined)
44
+ setResult(identity(result) ? (result as T extends ModuleInstance ? T : ModuleInstance) : undefined)
45
45
  }
46
46
  return result
47
47
  }
@@ -17,13 +17,13 @@ export const useModulesFromNode = (filter?: ModuleFilter, config?: ModuleFromNod
17
17
  const [, error] = usePromise(async () => {
18
18
  logger?.debug('useModuleFromNode: resolving')
19
19
  if (node) {
20
- node.on('moduleAttached', async ({ module }) => {
21
- logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)
20
+ node.on('moduleAttached', async ({ module: mod }) => {
21
+ logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)
22
22
  const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)
23
23
  setResult(moduleInstances)
24
24
  })
25
- node.on('moduleDetached', async ({ module }) => {
26
- logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)
25
+ node.on('moduleDetached', async ({ module: mod }) => {
26
+ logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)
27
27
  const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)
28
28
  setResult(moduleInstances)
29
29
  })
@@ -10,10 +10,10 @@ export const useNodeFromNode = (
10
10
  config?: ModuleFromNodeConfig,
11
11
  ): [NodeInstance | undefined, Error | undefined] => {
12
12
  // eslint-disable-next-line import/no-deprecated, deprecation/deprecation
13
- const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)
14
- const instance = asNodeInstance(module)
15
- if (module && !instance) {
16
- const error = new Error(`Resolved module is not a NodeInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)
13
+ const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)
14
+ const instance = asNodeInstance(mod)
15
+ if (mod && !instance) {
16
+ const error = new Error(`Resolved module is not a NodeInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)
17
17
  console.error(error.message)
18
18
  return [undefined, error]
19
19
  }