@xyo-network/react-node 2.75.7 → 2.76.1

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 (290) 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/hooks/index.d.cts +1 -0
  14. package/dist/browser/hooks/index.d.cts.map +1 -1
  15. package/dist/browser/hooks/index.d.mts +1 -0
  16. package/dist/browser/hooks/index.d.mts.map +1 -1
  17. package/dist/browser/hooks/index.d.ts +1 -0
  18. package/dist/browser/hooks/index.d.ts.map +1 -1
  19. package/dist/browser/hooks/useWeakModuleFilterOptions.d.cts +18 -0
  20. package/dist/browser/hooks/useWeakModuleFilterOptions.d.cts.map +1 -0
  21. package/dist/browser/hooks/useWeakModuleFilterOptions.d.mts +18 -0
  22. package/dist/browser/hooks/useWeakModuleFilterOptions.d.mts.map +1 -0
  23. package/dist/browser/hooks/useWeakModuleFilterOptions.d.ts +18 -0
  24. package/dist/browser/hooks/useWeakModuleFilterOptions.d.ts.map +1 -0
  25. package/dist/browser/hooks/useWeakModuleFromNode.d.cts +2 -2
  26. package/dist/browser/hooks/useWeakModuleFromNode.d.cts.map +1 -1
  27. package/dist/browser/hooks/useWeakModuleFromNode.d.mts +2 -2
  28. package/dist/browser/hooks/useWeakModuleFromNode.d.mts.map +1 -1
  29. package/dist/browser/hooks/useWeakModuleFromNode.d.ts +2 -2
  30. package/dist/browser/hooks/useWeakModuleFromNode.d.ts.map +1 -1
  31. package/dist/browser/hooks/useWeakNodeFromNode.d.cts +2 -2
  32. package/dist/browser/hooks/useWeakNodeFromNode.d.cts.map +1 -1
  33. package/dist/browser/hooks/useWeakNodeFromNode.d.mts +2 -2
  34. package/dist/browser/hooks/useWeakNodeFromNode.d.mts.map +1 -1
  35. package/dist/browser/hooks/useWeakNodeFromNode.d.ts +2 -2
  36. package/dist/browser/hooks/useWeakNodeFromNode.d.ts.map +1 -1
  37. package/dist/browser/index.cjs +93 -84
  38. package/dist/browser/index.cjs.map +1 -1
  39. package/dist/browser/index.js +90 -81
  40. package/dist/browser/index.js.map +1 -1
  41. package/dist/neutral/components/Node.d.cts +9 -0
  42. package/dist/neutral/components/Node.d.cts.map +1 -0
  43. package/dist/neutral/components/Node.d.mts +9 -0
  44. package/dist/neutral/components/Node.d.mts.map +1 -0
  45. package/dist/neutral/components/Node.d.ts +9 -0
  46. package/dist/neutral/components/Node.d.ts.map +1 -0
  47. package/dist/neutral/components/NodeDescriptionBox.d.cts +8 -0
  48. package/dist/neutral/components/NodeDescriptionBox.d.cts.map +1 -0
  49. package/dist/neutral/components/NodeDescriptionBox.d.mts +8 -0
  50. package/dist/neutral/components/NodeDescriptionBox.d.mts.map +1 -0
  51. package/dist/neutral/components/NodeDescriptionBox.d.ts +8 -0
  52. package/dist/neutral/components/NodeDescriptionBox.d.ts.map +1 -0
  53. package/dist/neutral/components/NodeDrawer.d.cts +7 -0
  54. package/dist/neutral/components/NodeDrawer.d.cts.map +1 -0
  55. package/dist/neutral/components/NodeDrawer.d.mts +7 -0
  56. package/dist/neutral/components/NodeDrawer.d.mts.map +1 -0
  57. package/dist/neutral/components/NodeDrawer.d.ts +7 -0
  58. package/dist/neutral/components/NodeDrawer.d.ts.map +1 -0
  59. package/dist/neutral/components/NodeModulesBox.d.cts +8 -0
  60. package/dist/neutral/components/NodeModulesBox.d.cts.map +1 -0
  61. package/dist/neutral/components/NodeModulesBox.d.mts +8 -0
  62. package/dist/neutral/components/NodeModulesBox.d.mts.map +1 -0
  63. package/dist/neutral/components/NodeModulesBox.d.ts +8 -0
  64. package/dist/neutral/components/NodeModulesBox.d.ts.map +1 -0
  65. package/dist/neutral/components/TestModule.d.cts +14 -0
  66. package/dist/neutral/components/TestModule.d.cts.map +1 -0
  67. package/dist/neutral/components/TestModule.d.mts +14 -0
  68. package/dist/neutral/components/TestModule.d.mts.map +1 -0
  69. package/dist/neutral/components/TestModule.d.ts +14 -0
  70. package/dist/neutral/components/TestModule.d.ts.map +1 -0
  71. package/dist/neutral/components/index.d.cts +3 -0
  72. package/dist/neutral/components/index.d.cts.map +1 -0
  73. package/dist/neutral/components/index.d.mts +3 -0
  74. package/dist/neutral/components/index.d.mts.map +1 -0
  75. package/dist/neutral/components/index.d.ts +3 -0
  76. package/dist/neutral/components/index.d.ts.map +1 -0
  77. package/dist/neutral/components/render/ModuleDescriptionBox.d.cts +8 -0
  78. package/dist/neutral/components/render/ModuleDescriptionBox.d.cts.map +1 -0
  79. package/dist/neutral/components/render/ModuleDescriptionBox.d.mts +8 -0
  80. package/dist/neutral/components/render/ModuleDescriptionBox.d.mts.map +1 -0
  81. package/dist/neutral/components/render/ModuleDescriptionBox.d.ts +8 -0
  82. package/dist/neutral/components/render/ModuleDescriptionBox.d.ts.map +1 -0
  83. package/dist/neutral/components/render/RenderModule.d.cts +12 -0
  84. package/dist/neutral/components/render/RenderModule.d.cts.map +1 -0
  85. package/dist/neutral/components/render/RenderModule.d.mts +12 -0
  86. package/dist/neutral/components/render/RenderModule.d.mts.map +1 -0
  87. package/dist/neutral/components/render/RenderModule.d.ts +12 -0
  88. package/dist/neutral/components/render/RenderModule.d.ts.map +1 -0
  89. package/dist/neutral/components/render/index.d.cts +3 -0
  90. package/dist/neutral/components/render/index.d.cts.map +1 -0
  91. package/dist/neutral/components/render/index.d.mts +3 -0
  92. package/dist/neutral/components/render/index.d.mts.map +1 -0
  93. package/dist/neutral/components/render/index.d.ts +3 -0
  94. package/dist/neutral/components/render/index.d.ts.map +1 -0
  95. package/dist/neutral/hooks/ModuleFromNodeConfig.d.cts +9 -0
  96. package/dist/neutral/hooks/ModuleFromNodeConfig.d.cts.map +1 -0
  97. package/dist/neutral/hooks/ModuleFromNodeConfig.d.mts +9 -0
  98. package/dist/neutral/hooks/ModuleFromNodeConfig.d.mts.map +1 -0
  99. package/dist/neutral/hooks/ModuleFromNodeConfig.d.ts +9 -0
  100. package/dist/neutral/hooks/ModuleFromNodeConfig.d.ts.map +1 -0
  101. package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.cts +9 -0
  102. package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.cts.map +1 -0
  103. package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.mts +9 -0
  104. package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.mts.map +1 -0
  105. package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.ts +9 -0
  106. package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.ts.map +1 -0
  107. package/dist/neutral/hooks/index.d.cts +18 -0
  108. package/dist/neutral/hooks/index.d.cts.map +1 -0
  109. package/dist/neutral/hooks/index.d.mts +18 -0
  110. package/dist/neutral/hooks/index.d.mts.map +1 -0
  111. package/dist/neutral/hooks/index.d.ts +18 -0
  112. package/dist/neutral/hooks/index.d.ts.map +1 -0
  113. package/dist/neutral/hooks/provided/index.d.cts +3 -0
  114. package/dist/neutral/hooks/provided/index.d.cts.map +1 -0
  115. package/dist/neutral/hooks/provided/index.d.mts +3 -0
  116. package/dist/neutral/hooks/provided/index.d.mts.map +1 -0
  117. package/dist/neutral/hooks/provided/index.d.ts +3 -0
  118. package/dist/neutral/hooks/provided/index.d.ts.map +1 -0
  119. package/dist/neutral/hooks/provided/useProvidedNode.d.cts +3 -0
  120. package/dist/neutral/hooks/provided/useProvidedNode.d.cts.map +1 -0
  121. package/dist/neutral/hooks/provided/useProvidedNode.d.mts +3 -0
  122. package/dist/neutral/hooks/provided/useProvidedNode.d.mts.map +1 -0
  123. package/dist/neutral/hooks/provided/useProvidedNode.d.ts +3 -0
  124. package/dist/neutral/hooks/provided/useProvidedNode.d.ts.map +1 -0
  125. package/dist/neutral/hooks/provided/useWeakProvidedNode.d.cts +3 -0
  126. package/dist/neutral/hooks/provided/useWeakProvidedNode.d.cts.map +1 -0
  127. package/dist/neutral/hooks/provided/useWeakProvidedNode.d.mts +3 -0
  128. package/dist/neutral/hooks/provided/useWeakProvidedNode.d.mts.map +1 -0
  129. package/dist/neutral/hooks/provided/useWeakProvidedNode.d.ts +3 -0
  130. package/dist/neutral/hooks/provided/useWeakProvidedNode.d.ts.map +1 -0
  131. package/dist/neutral/hooks/useModuleFilterOptions.d.cts +18 -0
  132. package/dist/neutral/hooks/useModuleFilterOptions.d.cts.map +1 -0
  133. package/dist/neutral/hooks/useModuleFilterOptions.d.mts +18 -0
  134. package/dist/neutral/hooks/useModuleFilterOptions.d.mts.map +1 -0
  135. package/dist/neutral/hooks/useModuleFilterOptions.d.ts +18 -0
  136. package/dist/neutral/hooks/useModuleFilterOptions.d.ts.map +1 -0
  137. package/dist/neutral/hooks/useModuleFromNode.d.cts +71 -0
  138. package/dist/neutral/hooks/useModuleFromNode.d.cts.map +1 -0
  139. package/dist/neutral/hooks/useModuleFromNode.d.mts +71 -0
  140. package/dist/neutral/hooks/useModuleFromNode.d.mts.map +1 -0
  141. package/dist/neutral/hooks/useModuleFromNode.d.ts +71 -0
  142. package/dist/neutral/hooks/useModuleFromNode.d.ts.map +1 -0
  143. package/dist/neutral/hooks/useModulesFromNode.d.cts +5 -0
  144. package/dist/neutral/hooks/useModulesFromNode.d.cts.map +1 -0
  145. package/dist/neutral/hooks/useModulesFromNode.d.mts +5 -0
  146. package/dist/neutral/hooks/useModulesFromNode.d.mts.map +1 -0
  147. package/dist/neutral/hooks/useModulesFromNode.d.ts +5 -0
  148. package/dist/neutral/hooks/useModulesFromNode.d.ts.map +1 -0
  149. package/dist/neutral/hooks/useNode.d.cts +4 -0
  150. package/dist/neutral/hooks/useNode.d.cts.map +1 -0
  151. package/dist/neutral/hooks/useNode.d.mts +4 -0
  152. package/dist/neutral/hooks/useNode.d.mts.map +1 -0
  153. package/dist/neutral/hooks/useNode.d.ts +4 -0
  154. package/dist/neutral/hooks/useNode.d.ts.map +1 -0
  155. package/dist/neutral/hooks/useNodeConfigNodeField.d.cts +4 -0
  156. package/dist/neutral/hooks/useNodeConfigNodeField.d.cts.map +1 -0
  157. package/dist/neutral/hooks/useNodeConfigNodeField.d.mts +4 -0
  158. package/dist/neutral/hooks/useNodeConfigNodeField.d.mts.map +1 -0
  159. package/dist/neutral/hooks/useNodeConfigNodeField.d.ts +4 -0
  160. package/dist/neutral/hooks/useNodeConfigNodeField.d.ts.map +1 -0
  161. package/dist/neutral/hooks/useNodeDescription.d.cts +4 -0
  162. package/dist/neutral/hooks/useNodeDescription.d.cts.map +1 -0
  163. package/dist/neutral/hooks/useNodeDescription.d.mts +4 -0
  164. package/dist/neutral/hooks/useNodeDescription.d.mts.map +1 -0
  165. package/dist/neutral/hooks/useNodeDescription.d.ts +4 -0
  166. package/dist/neutral/hooks/useNodeDescription.d.ts.map +1 -0
  167. package/dist/neutral/hooks/useNodeFromNode.d.cts +5 -0
  168. package/dist/neutral/hooks/useNodeFromNode.d.cts.map +1 -0
  169. package/dist/neutral/hooks/useNodeFromNode.d.mts +5 -0
  170. package/dist/neutral/hooks/useNodeFromNode.d.mts.map +1 -0
  171. package/dist/neutral/hooks/useNodeFromNode.d.ts +5 -0
  172. package/dist/neutral/hooks/useNodeFromNode.d.ts.map +1 -0
  173. package/dist/neutral/hooks/useNodesFromNode.d.cts +6 -0
  174. package/dist/neutral/hooks/useNodesFromNode.d.cts.map +1 -0
  175. package/dist/neutral/hooks/useNodesFromNode.d.mts +6 -0
  176. package/dist/neutral/hooks/useNodesFromNode.d.mts.map +1 -0
  177. package/dist/neutral/hooks/useNodesFromNode.d.ts +6 -0
  178. package/dist/neutral/hooks/useNodesFromNode.d.ts.map +1 -0
  179. package/dist/neutral/hooks/useWeakModuleFilterOptions.d.cts +18 -0
  180. package/dist/neutral/hooks/useWeakModuleFilterOptions.d.cts.map +1 -0
  181. package/dist/neutral/hooks/useWeakModuleFilterOptions.d.mts +18 -0
  182. package/dist/neutral/hooks/useWeakModuleFilterOptions.d.mts.map +1 -0
  183. package/dist/neutral/hooks/useWeakModuleFilterOptions.d.ts +18 -0
  184. package/dist/neutral/hooks/useWeakModuleFilterOptions.d.ts.map +1 -0
  185. package/dist/neutral/hooks/useWeakModuleFromNode.d.cts +59 -0
  186. package/dist/neutral/hooks/useWeakModuleFromNode.d.cts.map +1 -0
  187. package/dist/neutral/hooks/useWeakModuleFromNode.d.mts +59 -0
  188. package/dist/neutral/hooks/useWeakModuleFromNode.d.mts.map +1 -0
  189. package/dist/neutral/hooks/useWeakModuleFromNode.d.ts +59 -0
  190. package/dist/neutral/hooks/useWeakModuleFromNode.d.ts.map +1 -0
  191. package/dist/neutral/hooks/useWeakModulesFromNode.d.cts +4 -0
  192. package/dist/neutral/hooks/useWeakModulesFromNode.d.cts.map +1 -0
  193. package/dist/neutral/hooks/useWeakModulesFromNode.d.mts +4 -0
  194. package/dist/neutral/hooks/useWeakModulesFromNode.d.mts.map +1 -0
  195. package/dist/neutral/hooks/useWeakModulesFromNode.d.ts +4 -0
  196. package/dist/neutral/hooks/useWeakModulesFromNode.d.ts.map +1 -0
  197. package/dist/neutral/hooks/useWeakNode.d.cts +4 -0
  198. package/dist/neutral/hooks/useWeakNode.d.cts.map +1 -0
  199. package/dist/neutral/hooks/useWeakNode.d.mts +4 -0
  200. package/dist/neutral/hooks/useWeakNode.d.mts.map +1 -0
  201. package/dist/neutral/hooks/useWeakNode.d.ts +4 -0
  202. package/dist/neutral/hooks/useWeakNode.d.ts.map +1 -0
  203. package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.cts +4 -0
  204. package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.cts.map +1 -0
  205. package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.mts +4 -0
  206. package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.mts.map +1 -0
  207. package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.ts +4 -0
  208. package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.ts.map +1 -0
  209. package/dist/neutral/hooks/useWeakNodeDescription.d.cts +4 -0
  210. package/dist/neutral/hooks/useWeakNodeDescription.d.cts.map +1 -0
  211. package/dist/neutral/hooks/useWeakNodeDescription.d.mts +4 -0
  212. package/dist/neutral/hooks/useWeakNodeDescription.d.mts.map +1 -0
  213. package/dist/neutral/hooks/useWeakNodeDescription.d.ts +4 -0
  214. package/dist/neutral/hooks/useWeakNodeDescription.d.ts.map +1 -0
  215. package/dist/neutral/hooks/useWeakNodeFromNode.d.cts +4 -0
  216. package/dist/neutral/hooks/useWeakNodeFromNode.d.cts.map +1 -0
  217. package/dist/neutral/hooks/useWeakNodeFromNode.d.mts +4 -0
  218. package/dist/neutral/hooks/useWeakNodeFromNode.d.mts.map +1 -0
  219. package/dist/neutral/hooks/useWeakNodeFromNode.d.ts +4 -0
  220. package/dist/neutral/hooks/useWeakNodeFromNode.d.ts.map +1 -0
  221. package/dist/neutral/hooks/useWeakNodesFromNode.d.cts +5 -0
  222. package/dist/neutral/hooks/useWeakNodesFromNode.d.cts.map +1 -0
  223. package/dist/neutral/hooks/useWeakNodesFromNode.d.mts +5 -0
  224. package/dist/neutral/hooks/useWeakNodesFromNode.d.mts.map +1 -0
  225. package/dist/neutral/hooks/useWeakNodesFromNode.d.ts +5 -0
  226. package/dist/neutral/hooks/useWeakNodesFromNode.d.ts.map +1 -0
  227. package/dist/neutral/index.cjs +465 -0
  228. package/dist/neutral/index.cjs.map +1 -0
  229. package/dist/neutral/index.d.cts +5 -0
  230. package/dist/neutral/index.d.cts.map +1 -0
  231. package/dist/neutral/index.d.mts +5 -0
  232. package/dist/neutral/index.d.mts.map +1 -0
  233. package/dist/neutral/index.d.ts +5 -0
  234. package/dist/neutral/index.d.ts.map +1 -0
  235. package/dist/neutral/index.js +441 -0
  236. package/dist/neutral/index.js.map +1 -0
  237. package/dist/node/components/render/ModuleDescriptionBox.d.cts +1 -1
  238. package/dist/node/components/render/ModuleDescriptionBox.d.cts.map +1 -1
  239. package/dist/node/components/render/ModuleDescriptionBox.d.mts +1 -1
  240. package/dist/node/components/render/ModuleDescriptionBox.d.mts.map +1 -1
  241. package/dist/node/components/render/ModuleDescriptionBox.d.ts +1 -1
  242. package/dist/node/components/render/ModuleDescriptionBox.d.ts.map +1 -1
  243. package/dist/node/components/render/RenderModule.d.cts +1 -1
  244. package/dist/node/components/render/RenderModule.d.cts.map +1 -1
  245. package/dist/node/components/render/RenderModule.d.mts +1 -1
  246. package/dist/node/components/render/RenderModule.d.mts.map +1 -1
  247. package/dist/node/components/render/RenderModule.d.ts +1 -1
  248. package/dist/node/components/render/RenderModule.d.ts.map +1 -1
  249. package/dist/node/hooks/index.d.cts +1 -0
  250. package/dist/node/hooks/index.d.cts.map +1 -1
  251. package/dist/node/hooks/index.d.mts +1 -0
  252. package/dist/node/hooks/index.d.mts.map +1 -1
  253. package/dist/node/hooks/index.d.ts +1 -0
  254. package/dist/node/hooks/index.d.ts.map +1 -1
  255. package/dist/node/hooks/useWeakModuleFilterOptions.d.cts +18 -0
  256. package/dist/node/hooks/useWeakModuleFilterOptions.d.cts.map +1 -0
  257. package/dist/node/hooks/useWeakModuleFilterOptions.d.mts +18 -0
  258. package/dist/node/hooks/useWeakModuleFilterOptions.d.mts.map +1 -0
  259. package/dist/node/hooks/useWeakModuleFilterOptions.d.ts +18 -0
  260. package/dist/node/hooks/useWeakModuleFilterOptions.d.ts.map +1 -0
  261. package/dist/node/hooks/useWeakModuleFromNode.d.cts +2 -2
  262. package/dist/node/hooks/useWeakModuleFromNode.d.cts.map +1 -1
  263. package/dist/node/hooks/useWeakModuleFromNode.d.mts +2 -2
  264. package/dist/node/hooks/useWeakModuleFromNode.d.mts.map +1 -1
  265. package/dist/node/hooks/useWeakModuleFromNode.d.ts +2 -2
  266. package/dist/node/hooks/useWeakModuleFromNode.d.ts.map +1 -1
  267. package/dist/node/hooks/useWeakNodeFromNode.d.cts +2 -2
  268. package/dist/node/hooks/useWeakNodeFromNode.d.cts.map +1 -1
  269. package/dist/node/hooks/useWeakNodeFromNode.d.mts +2 -2
  270. package/dist/node/hooks/useWeakNodeFromNode.d.mts.map +1 -1
  271. package/dist/node/hooks/useWeakNodeFromNode.d.ts +2 -2
  272. package/dist/node/hooks/useWeakNodeFromNode.d.ts.map +1 -1
  273. package/dist/node/index.cjs +94 -84
  274. package/dist/node/index.cjs.map +1 -1
  275. package/dist/node/index.js +90 -81
  276. package/dist/node/index.js.map +1 -1
  277. package/package.json +16 -16
  278. package/src/components/NodeDrawer.tsx +1 -1
  279. package/src/components/render/ModuleDescriptionBox.tsx +5 -5
  280. package/src/components/render/RenderModule.tsx +6 -6
  281. package/src/hooks/index.ts +1 -0
  282. package/src/hooks/useModuleFromNode.ts +8 -8
  283. package/src/hooks/useModulesFromNode.ts +4 -4
  284. package/src/hooks/useNodeFromNode.tsx +4 -4
  285. package/src/hooks/useNodesFromNode.tsx +3 -3
  286. package/src/hooks/useWeakModuleFilterOptions.ts +6 -0
  287. package/src/hooks/useWeakModuleFromNode.ts +15 -15
  288. package/src/hooks/useWeakModulesFromNode.ts +7 -7
  289. package/src/hooks/useWeakNodeFromNode.tsx +2 -2
  290. package/src/hooks/useWeakNodesFromNode.tsx +2 -2
@@ -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/useWeakModuleFilterOptions.ts","../../src/hooks/useWeakModuleFromNode.ts","../../src/hooks/useWeakNode.ts","../../src/hooks/useWeakNodeConfigNodeField.ts","../../src/hooks/WeakModuleFromNodeConfig.ts","../../src/hooks/useWeakModulesFromNode.ts","../../src/hooks/useWeakNodeDescription.ts","../../src/hooks/useWeakNodeFromNode.tsx","../../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 { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakModuleFilterOptions = (config?: WeakModuleFromNodeConfig) => {\n const { direction, identity, maxDepth } = config ?? {}\n return { direction, identity, maxDepth }\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 { useWeakModuleFilterOptions } from './useWeakModuleFilterOptions'\nimport { useWeakNode } from './useWeakNode'\nimport { useWeakModuleFromNodeConfigLogger, WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakModuleFromNode = <T extends ModuleInstance | void = void>(\n nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined, Error | undefined] => {\n const [node, nodeError] = useWeakNode(config)\n const logger = useWeakModuleFromNodeConfigLogger(config)\n const filterOptions = useWeakModuleFilterOptions(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?.deref()\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 { 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 { 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 { 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 { 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 { 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 { isNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakModuleFromNode } from './useWeakModuleFromNode'\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<NodeInstance>(nameOrAddressOrInstance, { identity: isNodeInstance, ...config })\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","usePromise","asNodeInstance","useMemo","usePromise","asNodeInstance","useState","usePromise","isModuleInstance","result","usePromise","useState","useState","usePromise","nodeInstance","moduleInstances","mod","usePromise","ModuleDescriptionSchema","isPayloadOfSchemaType","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.1",
32
+ "@xyo-network/react-node-provider": "~2.76.1"
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.1",
41
+ "@xyo-network/react-wallet": "~2.76.1",
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.1",
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}
@@ -8,6 +8,7 @@ export * from './useNodeConfigNodeField'
8
8
  export * from './useNodeDescription'
9
9
  export * from './useNodeFromNode'
10
10
  export * from './useNodesFromNode'
11
+ export * from './useWeakModuleFilterOptions'
11
12
  export * from './useWeakModuleFromNode'
12
13
  export * from './useWeakModulesFromNode'
13
14
  export * from './useWeakNodeConfigNodeField'
@@ -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
  }
@@ -15,9 +15,9 @@ export const useNodesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeC
15
15
  return modules ?
16
16
  [
17
17
  // eslint-disable-next-line unicorn/no-array-reduce
18
- modules.reduce<NodeInstance[]>((prev, module) => {
19
- if (isNodeInstance(module)) {
20
- prev.push(module)
18
+ modules.reduce<NodeInstance[]>((prev, mod) => {
19
+ if (isNodeInstance(mod)) {
20
+ prev.push(mod)
21
21
  }
22
22
  return prev
23
23
  }, []),
@@ -0,0 +1,6 @@
1
+ import { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'
2
+
3
+ export const useWeakModuleFilterOptions = (config?: WeakModuleFromNodeConfig) => {
4
+ const { direction, identity, maxDepth } = config ?? {}
5
+ return { direction, identity, maxDepth }
6
+ }
@@ -3,34 +3,34 @@ import { usePromise } from '@xylabs/react-promise'
3
3
  import { isModuleInstance, ModuleInstance } from '@xyo-network/module-model'
4
4
  import { useState } from 'react'
5
5
 
6
- import { ModuleFromNodeConfig, useModuleFromNodeConfigLogger } from './ModuleFromNodeConfig'
7
- import { useModuleFilterOptions } from './useModuleFilterOptions'
8
- import { useNode } from './useNode'
6
+ import { useWeakModuleFilterOptions } from './useWeakModuleFilterOptions'
7
+ import { useWeakNode } from './useWeakNode'
8
+ import { useWeakModuleFromNodeConfigLogger, WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'
9
9
 
10
10
  export const useWeakModuleFromNode = <T extends ModuleInstance | void = void>(
11
11
  nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,
12
- config?: ModuleFromNodeConfig,
12
+ config?: WeakModuleFromNodeConfig,
13
13
  ): [WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined, Error | undefined] => {
14
- const [node, nodeError] = useNode(config)
15
- const logger = useModuleFromNodeConfigLogger(config)
16
- const filterOptions = useModuleFilterOptions(config)
14
+ const [node, nodeError] = useWeakNode(config)
15
+ const logger = useWeakModuleFromNodeConfigLogger(config)
16
+ const filterOptions = useWeakModuleFilterOptions(config)
17
17
  const [result, setResult] = useState<WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined>()
18
18
  const [, error] = usePromise(async () => {
19
19
  logger?.debug('useModuleFromNode: resolving')
20
20
  const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<
21
21
  T extends ModuleInstance ? T : ModuleInstance
22
22
  >
23
- const nodeInstance = node
23
+ const nodeInstance = node?.deref()
24
24
  if (nodeInstance && nameOrAddressOrInstance) {
25
- nodeInstance.on('moduleAttached', ({ module }) => {
26
- logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)
27
- if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {
28
- setResult(identity(module) ? new WeakRef(module as T extends ModuleInstance ? T : ModuleInstance) : undefined)
25
+ nodeInstance.on('moduleAttached', ({ module: mod }) => {
26
+ logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)
27
+ if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {
28
+ setResult(identity(mod) ? new WeakRef(mod as T extends ModuleInstance ? T : ModuleInstance) : undefined)
29
29
  }
30
30
  })
31
- nodeInstance.on('moduleDetached', ({ module }) => {
32
- logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)
33
- if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {
31
+ nodeInstance.on('moduleDetached', ({ module: mod }) => {
32
+ logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)
33
+ if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {
34
34
  setResult(undefined)
35
35
  }
36
36
  })
@@ -18,20 +18,20 @@ export const useWeakModulesFromNode = (
18
18
  logger?.debug('useModuleFromNode: resolving')
19
19
  const nodeInstance = node
20
20
  if (nodeInstance) {
21
- nodeInstance.on('moduleAttached', async ({ module }) => {
21
+ nodeInstance.on('moduleAttached', async ({ module: mod }) => {
22
22
  const nodeInstance = node
23
- logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)
23
+ logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)
24
24
  const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)
25
- setResult(moduleInstances?.map((module) => new WeakRef(module)))
25
+ setResult(moduleInstances?.map((mod) => new WeakRef(mod)))
26
26
  })
27
- nodeInstance.on('moduleDetached', async ({ module }) => {
27
+ nodeInstance.on('moduleDetached', async ({ module: mod }) => {
28
28
  const nodeInstance = node
29
- logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)
29
+ logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)
30
30
  const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)
31
- setResult(moduleInstances?.map((module) => new WeakRef(module)))
31
+ setResult(moduleInstances?.map((mod) => new WeakRef(mod)))
32
32
  })
33
33
  const moduleInstances = filter ? await nodeInstance.resolve(filter, filterOptions) : await nodeInstance.resolve('*', filterOptions)
34
- setResult(moduleInstances?.map((module) => new WeakRef(module)))
34
+ setResult(moduleInstances?.map((mod) => new WeakRef(mod)))
35
35
  return moduleInstances
36
36
  }
37
37
  console.log('Result: No Node')
@@ -1,11 +1,11 @@
1
1
  import { isNodeInstance, NodeInstance } from '@xyo-network/node-model'
2
2
 
3
- import { ModuleFromNodeConfig } from './ModuleFromNodeConfig'
4
3
  import { useWeakModuleFromNode } from './useWeakModuleFromNode'
4
+ import { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'
5
5
 
6
6
  export const useWeakNodeFromNode = (
7
7
  nameOrAddressOrInstance?: string | NodeInstance,
8
- config?: ModuleFromNodeConfig,
8
+ config?: WeakModuleFromNodeConfig,
9
9
  ): [WeakRef<NodeInstance> | undefined, Error | undefined] => {
10
10
  return useWeakModuleFromNode<NodeInstance>(nameOrAddressOrInstance, { identity: isNodeInstance, ...config })
11
11
  }
@@ -16,9 +16,9 @@ export const useWeakNodesFromNode = (
16
16
  return modules ?
17
17
  [
18
18
  modules
19
- .map((module) => asNodeInstance(module?.deref()))
19
+ .map((mod) => asNodeInstance(mod?.deref()))
20
20
  .filter(exists)
21
- .map((module) => new WeakRef(module)),
21
+ .map((mod) => new WeakRef(mod)),
22
22
  undefined,
23
23
  ]
24
24
  : [modules, error]