@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
@@ -68,15 +68,15 @@ var useModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
68
68
  logger?.debug("useModuleFromNode: resolving");
69
69
  const identity = config?.identity ?? isModuleInstance;
70
70
  if (node && nameOrAddressOrInstance) {
71
- node.on("moduleAttached", ({ module: module2 }) => {
72
- logger?.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
73
- if (module2.address === nameOrAddressOrInstance || module2.config?.name === nameOrAddressOrInstance) {
74
- setResult(identity(module2) ? module2 : void 0);
71
+ node.on("moduleAttached", ({ module: mod }) => {
72
+ logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
73
+ if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {
74
+ setResult(identity(mod) ? mod : void 0);
75
75
  }
76
76
  });
77
- node.on("moduleDetached", ({ module: module2 }) => {
78
- logger?.debug(`useModuleFromNode: moduleDetached [${module2.config.name ?? module2.address}]`);
79
- if (module2.address === nameOrAddressOrInstance || module2.config?.name === nameOrAddressOrInstance) {
77
+ node.on("moduleDetached", ({ module: mod }) => {
78
+ logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`);
79
+ if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {
80
80
  setResult(void 0);
81
81
  }
82
82
  });
@@ -85,7 +85,7 @@ var useModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
85
85
  } else {
86
86
  const result2 = await node.resolve(nameOrAddressOrInstance, filterOptions);
87
87
  logger?.debug(`Result: ${result2?.address}`);
88
- setResult(identity(module) ? module : void 0);
88
+ setResult(identity(result2) ? result2 : void 0);
89
89
  }
90
90
  return result;
91
91
  }
@@ -106,13 +106,13 @@ var useModulesFromNode = (filter, config) => {
106
106
  const [, error] = usePromise3(async () => {
107
107
  logger?.debug("useModuleFromNode: resolving");
108
108
  if (node) {
109
- node.on("moduleAttached", async ({ module: module2 }) => {
110
- logger?.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
109
+ node.on("moduleAttached", async ({ module: mod }) => {
110
+ logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
111
111
  const moduleInstances2 = filter ? await node.resolve(filter, filterOptions) : await node.resolve("*", filterOptions);
112
112
  setResult(moduleInstances2);
113
113
  });
114
- node.on("moduleDetached", async ({ module: module2 }) => {
115
- logger?.debug(`useModuleFromNode: moduleDetached [${module2.config.name ?? module2.address}]`);
114
+ node.on("moduleDetached", async ({ module: mod }) => {
115
+ logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`);
116
116
  const moduleInstances2 = filter ? await node.resolve(filter, filterOptions) : await node.resolve("*", filterOptions);
117
117
  setResult(moduleInstances2);
118
118
  });
@@ -142,10 +142,10 @@ var useNodeDescription = (config) => {
142
142
  // src/hooks/useNodeFromNode.tsx
143
143
  import { asNodeInstance as asNodeInstance2 } from "@xyo-network/node-model";
144
144
  var useNodeFromNode = (nameOrAddressOrInstance, config) => {
145
- const [module2, error] = useModuleFromNode(nameOrAddressOrInstance, config);
146
- const instance = asNodeInstance2(module2);
147
- if (module2 && !instance) {
148
- const error2 = new Error(`Resolved module is not a NodeInstance [${module2.config?.schema}:${module2.config?.name}:${module2.address}]`);
145
+ const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config);
146
+ const instance = asNodeInstance2(mod);
147
+ if (mod && !instance) {
148
+ const error2 = new Error(`Resolved module is not a NodeInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`);
149
149
  console.error(error2.message);
150
150
  return [void 0, error2];
151
151
  }
@@ -161,9 +161,9 @@ var useNodesFromNode = (filter, config) => {
161
161
  }
162
162
  return modules ? [
163
163
  // eslint-disable-next-line unicorn/no-array-reduce
164
- modules.reduce((prev, module2) => {
165
- if (isNodeInstance(module2)) {
166
- prev.push(module2);
164
+ modules.reduce((prev, mod) => {
165
+ if (isNodeInstance(mod)) {
166
+ prev.push(mod);
167
167
  }
168
168
  return prev;
169
169
  }, []),
@@ -171,29 +171,67 @@ var useNodesFromNode = (filter, config) => {
171
171
  ] : [modules, error];
172
172
  };
173
173
 
174
+ // src/hooks/useWeakModuleFilterOptions.ts
175
+ var useWeakModuleFilterOptions = (config) => {
176
+ const { direction, identity, maxDepth } = config ?? {};
177
+ return { direction, identity, maxDepth };
178
+ };
179
+
174
180
  // src/hooks/useWeakModuleFromNode.ts
175
- import { usePromise as usePromise5 } from "@xylabs/react-promise";
181
+ import { usePromise as usePromise6 } from "@xylabs/react-promise";
176
182
  import { isModuleInstance as isModuleInstance2 } from "@xyo-network/module-model";
177
183
  import { useState as useState3 } from "react";
184
+
185
+ // src/hooks/useWeakNode.ts
186
+ import { usePromise as usePromise5 } from "@xylabs/react-promise";
187
+ import { asNodeInstance as asNodeInstance3 } from "@xyo-network/node-model";
188
+
189
+ // src/hooks/useWeakNodeConfigNodeField.ts
190
+ import { useMemo as useMemo3 } from "react";
191
+ var useWeakNodeConfigNodeField = (config) => {
192
+ const nodeAddress = useMemo3(() => typeof config?.node === "string" ? config?.node : void 0, [config?.node]);
193
+ const nodeInstance = useMemo3(() => typeof config?.node === "object" ? config?.node : void 0, [config?.node]);
194
+ return [nodeAddress, nodeInstance];
195
+ };
196
+
197
+ // src/hooks/useWeakNode.ts
198
+ var useWeakNode = (config) => {
199
+ const [nodeAddress, nodeInstance] = useWeakNodeConfigNodeField(config);
200
+ const [providedNode] = useWeakProvidedNode();
201
+ const [nodeAddressNode, error] = usePromise5(async () => {
202
+ const providedNodeInstance = providedNode?.deref();
203
+ if (providedNodeInstance && nodeAddress) {
204
+ return new WeakRef(asNodeInstance3(await providedNodeInstance.resolve(nodeAddress), "Module is not a node"));
205
+ }
206
+ }, [providedNode, nodeAddress]);
207
+ return [nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0, error];
208
+ };
209
+
210
+ // src/hooks/WeakModuleFromNodeConfig.ts
211
+ var useWeakModuleFromNodeConfigLogger = (config) => {
212
+ return config?.logger;
213
+ };
214
+
215
+ // src/hooks/useWeakModuleFromNode.ts
178
216
  var useWeakModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
179
- const [node, nodeError] = useNode(config);
180
- const logger = useModuleFromNodeConfigLogger(config);
181
- const filterOptions = useModuleFilterOptions(config);
217
+ const [node, nodeError] = useWeakNode(config);
218
+ const logger = useWeakModuleFromNodeConfigLogger(config);
219
+ const filterOptions = useWeakModuleFilterOptions(config);
182
220
  const [result, setResult] = useState3();
183
- const [, error] = usePromise5(async () => {
221
+ const [, error] = usePromise6(async () => {
184
222
  logger?.debug("useModuleFromNode: resolving");
185
223
  const identity = config?.identity ?? isModuleInstance2;
186
- const nodeInstance = node;
224
+ const nodeInstance = node?.deref();
187
225
  if (nodeInstance && nameOrAddressOrInstance) {
188
- nodeInstance.on("moduleAttached", ({ module: module2 }) => {
189
- logger?.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
190
- if (module2.address === nameOrAddressOrInstance || module2.config?.name === nameOrAddressOrInstance) {
191
- setResult(identity(module2) ? new WeakRef(module2) : void 0);
226
+ nodeInstance.on("moduleAttached", ({ module: mod }) => {
227
+ logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
228
+ if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {
229
+ setResult(identity(mod) ? new WeakRef(mod) : void 0);
192
230
  }
193
231
  });
194
- nodeInstance.on("moduleDetached", ({ module: module2 }) => {
195
- logger?.debug(`useModuleFromNode: moduleDetached [${module2.config.name ?? module2.address}]`);
196
- if (module2.address === nameOrAddressOrInstance || module2.config?.name === nameOrAddressOrInstance) {
232
+ nodeInstance.on("moduleDetached", ({ module: mod }) => {
233
+ logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`);
234
+ if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {
197
235
  setResult(void 0);
198
236
  }
199
237
  });
@@ -213,31 +251,31 @@ var useWeakModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
213
251
  };
214
252
 
215
253
  // src/hooks/useWeakModulesFromNode.ts
216
- import { usePromise as usePromise6 } from "@xylabs/react-promise";
254
+ import { usePromise as usePromise7 } from "@xylabs/react-promise";
217
255
  import { useState as useState4 } from "react";
218
256
  var useWeakModulesFromNode = (filter, config) => {
219
257
  const [node, nodeError] = useNode(config);
220
258
  const logger = config?.logger;
221
259
  const filterOptions = useModuleFilterOptions();
222
260
  const [result, setResult] = useState4();
223
- const [, error] = usePromise6(async () => {
261
+ const [, error] = usePromise7(async () => {
224
262
  logger?.debug("useModuleFromNode: resolving");
225
263
  const nodeInstance = node;
226
264
  if (nodeInstance) {
227
- nodeInstance.on("moduleAttached", async ({ module: module2 }) => {
265
+ nodeInstance.on("moduleAttached", async ({ module: mod }) => {
228
266
  const nodeInstance2 = node;
229
- logger?.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
267
+ logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
230
268
  const moduleInstances2 = filter ? await nodeInstance2?.resolve(filter, filterOptions) : await nodeInstance2?.resolve("*", filterOptions);
231
- setResult(moduleInstances2?.map((module3) => new WeakRef(module3)));
269
+ setResult(moduleInstances2?.map((mod2) => new WeakRef(mod2)));
232
270
  });
233
- nodeInstance.on("moduleDetached", async ({ module: module2 }) => {
271
+ nodeInstance.on("moduleDetached", async ({ module: mod }) => {
234
272
  const nodeInstance2 = node;
235
- logger?.debug(`useModuleFromNode: moduleDetached [${module2.config.name ?? module2.address}]`);
273
+ logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`);
236
274
  const moduleInstances2 = filter ? await nodeInstance2?.resolve(filter, filterOptions) : await nodeInstance2?.resolve("*", filterOptions);
237
- setResult(moduleInstances2?.map((module3) => new WeakRef(module3)));
275
+ setResult(moduleInstances2?.map((mod2) => new WeakRef(mod2)));
238
276
  });
239
277
  const moduleInstances = filter ? await nodeInstance.resolve(filter, filterOptions) : await nodeInstance.resolve("*", filterOptions);
240
- setResult(moduleInstances?.map((module2) => new WeakRef(module2)));
278
+ setResult(moduleInstances?.map((mod) => new WeakRef(mod)));
241
279
  return moduleInstances;
242
280
  }
243
281
  console.log("Result: No Node");
@@ -246,35 +284,10 @@ var useWeakModulesFromNode = (filter, config) => {
246
284
  return [result, nodeError ?? error];
247
285
  };
248
286
 
249
- // src/hooks/useWeakNodeConfigNodeField.ts
250
- import { useMemo as useMemo3 } from "react";
251
- var useWeakNodeConfigNodeField = (config) => {
252
- const nodeAddress = useMemo3(() => typeof config?.node === "string" ? config?.node : void 0, [config?.node]);
253
- const nodeInstance = useMemo3(() => typeof config?.node === "object" ? config?.node : void 0, [config?.node]);
254
- return [nodeAddress, nodeInstance];
255
- };
256
-
257
287
  // src/hooks/useWeakNodeDescription.ts
258
288
  import { usePromise as usePromise8 } from "@xylabs/react-promise";
259
289
  import { ModuleDescriptionSchema as ModuleDescriptionSchema2 } from "@xyo-network/module-model";
260
290
  import { isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/payload-model";
261
-
262
- // src/hooks/useWeakNode.ts
263
- import { usePromise as usePromise7 } from "@xylabs/react-promise";
264
- import { asNodeInstance as asNodeInstance3 } from "@xyo-network/node-model";
265
- var useWeakNode = (config) => {
266
- const [nodeAddress, nodeInstance] = useWeakNodeConfigNodeField(config);
267
- const [providedNode] = useWeakProvidedNode();
268
- const [nodeAddressNode, error] = usePromise7(async () => {
269
- const providedNodeInstance = providedNode?.deref();
270
- if (providedNodeInstance && nodeAddress) {
271
- return new WeakRef(asNodeInstance3(await providedNodeInstance.resolve(nodeAddress), "Module is not a node"));
272
- }
273
- }, [providedNode, nodeAddress]);
274
- return [nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0, error];
275
- };
276
-
277
- // src/hooks/useWeakNodeDescription.ts
278
291
  var useWeakNodeDescription = (config) => {
279
292
  const [activeNode, nodeError] = useWeakNode(config);
280
293
  const [description, error] = usePromise8(async () => {
@@ -290,11 +303,6 @@ var useWeakNodeFromNode = (nameOrAddressOrInstance, config) => {
290
303
  return useWeakModuleFromNode(nameOrAddressOrInstance, { identity: isNodeInstance2, ...config });
291
304
  };
292
305
 
293
- // src/hooks/WeakModuleFromNodeConfig.ts
294
- var useWeakModuleFromNodeConfigLogger = (config) => {
295
- return config?.logger;
296
- };
297
-
298
306
  // src/components/NodeDescriptionBox.tsx
299
307
  import { jsx } from "react/jsx-runtime";
300
308
  var NodeDescriptionBox = ({ node, ...props }) => {
@@ -331,12 +339,12 @@ import { TreeItem } from "@mui/x-tree-view";
331
339
  import { useAsyncEffect } from "@xylabs/react-async-effect";
332
340
  import { useState as useState5 } from "react";
333
341
  import { jsx as jsx3, jsxs } from "react/jsx-runtime";
334
- var RenderModule = ({ module: module2, idRef }) => {
342
+ var RenderModule = ({ mod, idRef }) => {
335
343
  const [childModules, setChildModules] = useState5();
336
344
  useAsyncEffect(
337
345
  // eslint-disable-next-line react-hooks/exhaustive-deps
338
346
  async (mounted) => {
339
- const moduleInstance2 = module2.deref();
347
+ const moduleInstance2 = mod.deref();
340
348
  const { address: address2 } = moduleInstance2 ?? {};
341
349
  if (moduleInstance2) {
342
350
  const children = (await moduleInstance2.resolve("*")).filter((childModule) => childModule.address !== address2);
@@ -345,14 +353,14 @@ var RenderModule = ({ module: module2, idRef }) => {
345
353
  }
346
354
  }
347
355
  },
348
- [module2]
356
+ [mod]
349
357
  );
350
358
  const increment = () => {
351
359
  const newId = (idRef.current.idIncrementor++).toString();
352
360
  idRef.current.ids.push(newId);
353
361
  return newId;
354
362
  };
355
- const moduleInstance = module2.deref();
363
+ const moduleInstance = mod.deref();
356
364
  const { queries, address } = moduleInstance ?? {};
357
365
  return /* @__PURE__ */ jsxs(StyledAddressTreeItem, { nodeId: increment(), label: `address: ${address}`, children: [
358
366
  queries?.map((query, index) => {
@@ -360,7 +368,7 @@ var RenderModule = ({ module: module2, idRef }) => {
360
368
  }),
361
369
  childModules && childModules.length > 0 ? /* @__PURE__ */ jsx3(TreeItem, { nodeId: increment(), label: "children", sx: { mb: 0.5 }, children: childModules.map((childModuleRef) => {
362
370
  const childModule = childModuleRef.deref();
363
- return childModule ? /* @__PURE__ */ jsx3(RenderModule, { module: childModuleRef, idRef }, childModule?.address) : null;
371
+ return childModule ? /* @__PURE__ */ jsx3(RenderModule, { mod: childModuleRef, idRef }, childModule?.address) : null;
364
372
  }) }) : null
365
373
  ] });
366
374
  };
@@ -372,9 +380,9 @@ var StyledAddressTreeItem = styled(TreeItem, { name: "StyledAddressTreeItem" })(
372
380
 
373
381
  // src/components/render/ModuleDescriptionBox.tsx
374
382
  import { Fragment, jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
375
- var ModuleDescriptionBox = ({ module: module2 }) => {
383
+ var ModuleDescriptionBox = ({ mod }) => {
376
384
  const idRef = useRef({ idIncrementor: 0, ids: [] });
377
- return /* @__PURE__ */ jsx4(Fragment, { children: module2 ? /* @__PURE__ */ jsxs2(Fragment, { children: [
385
+ return /* @__PURE__ */ jsx4(Fragment, { children: mod ? /* @__PURE__ */ jsxs2(Fragment, { children: [
378
386
  /* @__PURE__ */ jsx4(Typography, { variant: "h4", children: "Node Configuration" }),
379
387
  /* @__PURE__ */ jsx4(
380
388
  StyledTreeView,
@@ -383,10 +391,10 @@ var ModuleDescriptionBox = ({ module: module2 }) => {
383
391
  defaultCollapseIcon: /* @__PURE__ */ jsx4(ExpandMoreIcon, {}),
384
392
  defaultExpandIcon: /* @__PURE__ */ jsx4(ChevronRightIcon, {}),
385
393
  sx: { flexGrow: 1 },
386
- children: /* @__PURE__ */ jsx4(RenderModule, { module: module2, idRef })
394
+ children: /* @__PURE__ */ jsx4(RenderModule, { mod, idRef })
387
395
  }
388
396
  )
389
- ] }) : module2 === null ? /* @__PURE__ */ jsx4(Typography, { variant: "h4", children: "Node loading..." }) : /* @__PURE__ */ jsx4(Typography, { variant: "h4", children: "Node not found" }) });
397
+ ] }) : mod === null ? /* @__PURE__ */ jsx4(Typography, { variant: "h4", children: "Node loading..." }) : /* @__PURE__ */ jsx4(Typography, { variant: "h4", children: "Node not found" }) });
390
398
  };
391
399
  var StyledTreeView = styled2(TreeView, { name: "StyledTreeView" })(() => ({
392
400
  height: "auto",
@@ -400,7 +408,7 @@ var NodeDrawer = ({ children, ...props }) => {
400
408
  const [node] = useWeakProvidedNode();
401
409
  return /* @__PURE__ */ jsx5(Drawer, { open: open ?? false, anchor: "right", ...props, children: /* @__PURE__ */ jsx5(ClickAwayListener, { onClickAway: () => setOpen?.(false), children: /* @__PURE__ */ jsxs3(FlexGrowCol, { role: "presentation", justifyContent: "start", p: 2, rowGap: 2, minWidth: "33vw", children: [
402
410
  /* @__PURE__ */ jsx5(FlexRow, { alignContent: "start", justifyContent: "start", width: "100%", children: /* @__PURE__ */ jsx5(IconButton, { onClick: () => setOpen?.(false), children: /* @__PURE__ */ jsx5(CloseIcon, {}) }) }),
403
- /* @__PURE__ */ jsx5(ModuleDescriptionBox, { module: node }),
411
+ /* @__PURE__ */ jsx5(ModuleDescriptionBox, { mod: node }),
404
412
  children
405
413
  ] }) }) });
406
414
  };
@@ -421,6 +429,7 @@ export {
421
429
  useNodeFromNode,
422
430
  useNodesFromNode,
423
431
  useProvidedNode,
432
+ useWeakModuleFilterOptions,
424
433
  useWeakModuleFromNode,
425
434
  useWeakModuleFromNodeConfigLogger,
426
435
  useWeakModulesFromNode,
@@ -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"]}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ import { NodeInstance } from '@xyo-network/node-model';
4
+ export interface NodeBoxProps extends FlexBoxProps {
5
+ node?: string | WeakRef<NodeInstance>;
6
+ variant?: 'description';
7
+ }
8
+ export declare const NodeBox: React.FC<NodeBoxProps>;
9
+ //# sourceMappingURL=Node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../src/components/Node.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAItD,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACrC,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAQ1C,CAAA"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ import { NodeInstance } from '@xyo-network/node-model';
4
+ export interface NodeBoxProps extends FlexBoxProps {
5
+ node?: string | WeakRef<NodeInstance>;
6
+ variant?: 'description';
7
+ }
8
+ export declare const NodeBox: React.FC<NodeBoxProps>;
9
+ //# sourceMappingURL=Node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../src/components/Node.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAItD,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACrC,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAQ1C,CAAA"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ import { NodeInstance } from '@xyo-network/node-model';
4
+ export interface NodeBoxProps extends FlexBoxProps {
5
+ node?: string | WeakRef<NodeInstance>;
6
+ variant?: 'description';
7
+ }
8
+ export declare const NodeBox: React.FC<NodeBoxProps>;
9
+ //# sourceMappingURL=Node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../src/components/Node.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAItD,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACrC,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAQ1C,CAAA"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ import { NodeInstance } from '@xyo-network/node-model';
4
+ export interface NodeDescriptionBoxProps extends FlexBoxProps {
5
+ node?: string | WeakRef<NodeInstance>;
6
+ }
7
+ export declare const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps>;
8
+ //# sourceMappingURL=NodeDescriptionBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeDescriptionBox.d.ts","sourceRoot":"","sources":["../../../src/components/NodeDescriptionBox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAItD,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CACtC;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAQhE,CAAA"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ import { NodeInstance } from '@xyo-network/node-model';
4
+ export interface NodeDescriptionBoxProps extends FlexBoxProps {
5
+ node?: string | WeakRef<NodeInstance>;
6
+ }
7
+ export declare const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps>;
8
+ //# sourceMappingURL=NodeDescriptionBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeDescriptionBox.d.ts","sourceRoot":"","sources":["../../../src/components/NodeDescriptionBox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAItD,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CACtC;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAQhE,CAAA"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ import { NodeInstance } from '@xyo-network/node-model';
4
+ export interface NodeDescriptionBoxProps extends FlexBoxProps {
5
+ node?: string | WeakRef<NodeInstance>;
6
+ }
7
+ export declare const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps>;
8
+ //# sourceMappingURL=NodeDescriptionBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeDescriptionBox.d.ts","sourceRoot":"","sources":["../../../src/components/NodeDescriptionBox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAItD,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CACtC;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAQhE,CAAA"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { DrawerProps } from '@mui/material';
3
+ import type { WithChildren } from '@xylabs/react-shared';
4
+ export interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {
5
+ }
6
+ export declare const NodeDrawer: React.FC<NodeDrawerProps>;
7
+ //# sourceMappingURL=NodeDrawer.d.ts.map