@xyo-network/react-node 2.56.2 → 2.56.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/dist/cjs/components/NodeDrawer.js +1 -1
  2. package/dist/cjs/components/NodeDrawer.js.map +1 -1
  3. package/dist/cjs/components/render/ModuleDescriptionBox.js +1 -1
  4. package/dist/cjs/components/render/ModuleDescriptionBox.js.map +1 -1
  5. package/dist/cjs/components/render/RenderModule.js +4 -6
  6. package/dist/cjs/components/render/RenderModule.js.map +1 -1
  7. package/dist/cjs/hooks/index.js +5 -8
  8. package/dist/cjs/hooks/index.js.map +1 -1
  9. package/dist/cjs/hooks/provided/index.js +7 -0
  10. package/dist/cjs/hooks/provided/index.js.map +1 -0
  11. package/dist/cjs/hooks/provided/useProvidedNode.js +11 -0
  12. package/dist/cjs/hooks/provided/useProvidedNode.js.map +1 -0
  13. package/dist/cjs/hooks/provided/useProvidedNodeAttachedAddresses.js.map +1 -0
  14. package/dist/cjs/hooks/provided/useProvidedNodeRegisteredAddresses.js.map +1 -0
  15. package/dist/cjs/hooks/useModuleFromNode.js +71 -0
  16. package/dist/cjs/hooks/useModuleFromNode.js.map +1 -0
  17. package/dist/cjs/hooks/{useModules.js → useModulesFromNode.js} +8 -8
  18. package/dist/cjs/hooks/useModulesFromNode.js.map +1 -0
  19. package/dist/cjs/hooks/useNodeFromNode.js +7 -0
  20. package/dist/cjs/hooks/useNodeFromNode.js.map +1 -0
  21. package/dist/cjs/hooks/useNodesFromNode.js +7 -0
  22. package/dist/cjs/hooks/useNodesFromNode.js.map +1 -0
  23. package/dist/cjs/hooks/wrapped/WrappedModuleFromNodeHookFactory.js +48 -0
  24. package/dist/cjs/hooks/wrapped/WrappedModuleFromNodeHookFactory.js.map +1 -0
  25. package/dist/cjs/hooks/wrapped/WrappedModulesFromNodeHookFactory.js +58 -0
  26. package/dist/cjs/hooks/wrapped/WrappedModulesFromNodeHookFactory.js.map +1 -0
  27. package/dist/cjs/hooks/wrapped/index.js +10 -0
  28. package/dist/cjs/hooks/wrapped/index.js.map +1 -0
  29. package/dist/cjs/hooks/wrapped/provided/index.js +5 -0
  30. package/dist/cjs/hooks/wrapped/provided/index.js.map +1 -0
  31. package/dist/cjs/hooks/{useProvidedNode.js → wrapped/provided/useWrappedProvidedNode.js} +6 -11
  32. package/dist/cjs/hooks/wrapped/provided/useWrappedProvidedNode.js.map +1 -0
  33. package/dist/cjs/hooks/wrapped/useWrappedModuleFromNode.js +7 -0
  34. package/dist/cjs/hooks/wrapped/useWrappedModuleFromNode.js.map +1 -0
  35. package/dist/cjs/hooks/wrapped/useWrappedModulesFromNode.js +7 -0
  36. package/dist/cjs/hooks/wrapped/useWrappedModulesFromNode.js.map +1 -0
  37. package/dist/cjs/hooks/wrapped/useWrappedNodeFromNode.js +7 -0
  38. package/dist/cjs/hooks/wrapped/useWrappedNodeFromNode.js.map +1 -0
  39. package/dist/docs.json +5037 -1203
  40. package/dist/esm/components/render/ModuleDescriptionBox.js +1 -1
  41. package/dist/esm/components/render/ModuleDescriptionBox.js.map +1 -1
  42. package/dist/esm/components/render/RenderModule.js +2 -4
  43. package/dist/esm/components/render/RenderModule.js.map +1 -1
  44. package/dist/esm/hooks/index.js +5 -8
  45. package/dist/esm/hooks/index.js.map +1 -1
  46. package/dist/esm/hooks/provided/index.js +4 -0
  47. package/dist/esm/hooks/provided/index.js.map +1 -0
  48. package/dist/esm/hooks/provided/useProvidedNode.js +7 -0
  49. package/dist/esm/hooks/provided/useProvidedNode.js.map +1 -0
  50. package/dist/esm/hooks/provided/useProvidedNodeAttachedAddresses.js.map +1 -0
  51. package/dist/esm/hooks/provided/useProvidedNodeRegisteredAddresses.js.map +1 -0
  52. package/dist/esm/hooks/useModuleFromNode.js +66 -0
  53. package/dist/esm/hooks/useModuleFromNode.js.map +1 -0
  54. package/dist/esm/hooks/{useModules.js → useModulesFromNode.js} +6 -6
  55. package/dist/esm/hooks/useModulesFromNode.js.map +1 -0
  56. package/dist/esm/hooks/useNodeFromNode.js +3 -0
  57. package/dist/esm/hooks/useNodeFromNode.js.map +1 -0
  58. package/dist/esm/hooks/useNodesFromNode.js +3 -0
  59. package/dist/esm/hooks/useNodesFromNode.js.map +1 -0
  60. package/dist/esm/hooks/wrapped/WrappedModuleFromNodeHookFactory.js +45 -0
  61. package/dist/esm/hooks/wrapped/WrappedModuleFromNodeHookFactory.js.map +1 -0
  62. package/dist/esm/hooks/wrapped/WrappedModulesFromNodeHookFactory.js +54 -0
  63. package/dist/esm/hooks/wrapped/WrappedModulesFromNodeHookFactory.js.map +1 -0
  64. package/dist/esm/hooks/wrapped/index.js +7 -0
  65. package/dist/esm/hooks/wrapped/index.js.map +1 -0
  66. package/dist/esm/hooks/wrapped/provided/index.js +2 -0
  67. package/dist/esm/hooks/wrapped/provided/index.js.map +1 -0
  68. package/dist/esm/hooks/{useProvidedNode.js → wrapped/provided/useWrappedProvidedNode.js} +4 -8
  69. package/dist/esm/hooks/wrapped/provided/useWrappedProvidedNode.js.map +1 -0
  70. package/dist/esm/hooks/wrapped/useWrappedModuleFromNode.js +4 -0
  71. package/dist/esm/hooks/wrapped/useWrappedModuleFromNode.js.map +1 -0
  72. package/dist/esm/hooks/wrapped/useWrappedModulesFromNode.js +4 -0
  73. package/dist/esm/hooks/wrapped/useWrappedModulesFromNode.js.map +1 -0
  74. package/dist/esm/hooks/wrapped/useWrappedNodeFromNode.js +4 -0
  75. package/dist/esm/hooks/wrapped/useWrappedNodeFromNode.js.map +1 -0
  76. package/dist/types/components/render/ModuleDescriptionBox.d.ts +1 -1
  77. package/dist/types/components/render/ModuleDescriptionBox.d.ts.map +1 -1
  78. package/dist/types/components/render/RenderModule.d.ts.map +1 -1
  79. package/dist/types/hooks/index.d.ts +5 -8
  80. package/dist/types/hooks/index.d.ts.map +1 -1
  81. package/dist/types/hooks/provided/index.d.ts +4 -0
  82. package/dist/types/hooks/provided/index.d.ts.map +1 -0
  83. package/dist/types/hooks/provided/useProvidedNode.d.ts +3 -0
  84. package/dist/types/hooks/provided/useProvidedNode.d.ts.map +1 -0
  85. package/dist/types/hooks/provided/useProvidedNodeAttachedAddresses.d.ts.map +1 -0
  86. package/dist/types/hooks/provided/useProvidedNodeRegisteredAddresses.d.ts.map +1 -0
  87. package/dist/types/hooks/useModuleFromNode.d.ts +60 -0
  88. package/dist/types/hooks/useModuleFromNode.d.ts.map +1 -0
  89. package/dist/types/hooks/useModulesFromNode.d.ts +60 -0
  90. package/dist/types/hooks/useModulesFromNode.d.ts.map +1 -0
  91. package/dist/types/hooks/useNodeFromNode.d.ts +36 -0
  92. package/dist/types/hooks/useNodeFromNode.d.ts.map +1 -0
  93. package/dist/types/hooks/useNodesFromNode.d.ts +36 -0
  94. package/dist/types/hooks/useNodesFromNode.d.ts.map +1 -0
  95. package/dist/types/hooks/wrapped/WrappedModuleFromNodeHookFactory.d.ts +35 -0
  96. package/dist/types/hooks/wrapped/WrappedModuleFromNodeHookFactory.d.ts.map +1 -0
  97. package/dist/types/hooks/wrapped/WrappedModulesFromNodeHookFactory.d.ts +35 -0
  98. package/dist/types/hooks/wrapped/WrappedModulesFromNodeHookFactory.d.ts.map +1 -0
  99. package/dist/types/hooks/wrapped/index.d.ts +7 -0
  100. package/dist/types/hooks/wrapped/index.d.ts.map +1 -0
  101. package/dist/types/hooks/wrapped/provided/index.d.ts +2 -0
  102. package/dist/types/hooks/wrapped/provided/index.d.ts.map +1 -0
  103. package/dist/types/hooks/wrapped/provided/useWrappedProvidedNode.d.ts +4 -0
  104. package/dist/types/hooks/wrapped/provided/useWrappedProvidedNode.d.ts.map +1 -0
  105. package/dist/types/hooks/wrapped/useWrappedModuleFromNode.d.ts +31 -0
  106. package/dist/types/hooks/wrapped/useWrappedModuleFromNode.d.ts.map +1 -0
  107. package/dist/types/hooks/wrapped/useWrappedModulesFromNode.d.ts +31 -0
  108. package/dist/types/hooks/wrapped/useWrappedModulesFromNode.d.ts.map +1 -0
  109. package/dist/types/hooks/wrapped/useWrappedNodeFromNode.d.ts +34 -0
  110. package/dist/types/hooks/wrapped/useWrappedNodeFromNode.d.ts.map +1 -0
  111. package/package.json +14 -14
  112. package/src/components/Node.stories.tsx +3 -4
  113. package/src/components/render/ModuleDescriptionBox.tsx +6 -4
  114. package/src/components/render/RenderModule.tsx +3 -4
  115. package/src/hooks/index.ts +5 -8
  116. package/src/hooks/provided/index.ts +3 -0
  117. package/src/hooks/provided/useProvidedNode.tsx +8 -0
  118. package/src/hooks/useModuleFromNode.tsx +77 -0
  119. package/src/hooks/{useModules.ts → useModulesFromNode.ts} +8 -5
  120. package/src/hooks/useNodeFromNode.tsx +8 -0
  121. package/src/hooks/useNodesFromNode.tsx +7 -0
  122. package/src/hooks/wrapped/WrappedModuleFromNodeHookFactory.tsx +54 -0
  123. package/src/hooks/wrapped/WrappedModulesFromNodeHookFactory.tsx +61 -0
  124. package/src/hooks/wrapped/index.ts +6 -0
  125. package/src/hooks/wrapped/provided/index.ts +1 -0
  126. package/src/hooks/{useProvidedNode.tsx → wrapped/provided/useWrappedProvidedNode.tsx} +4 -9
  127. package/src/hooks/wrapped/useWrappedModuleFromNode.tsx +5 -0
  128. package/src/hooks/wrapped/useWrappedModulesFromNode.tsx +5 -0
  129. package/src/hooks/wrapped/useWrappedNodeFromNode.tsx +5 -0
  130. package/dist/cjs/hooks/useModule.js +0 -70
  131. package/dist/cjs/hooks/useModule.js.map +0 -1
  132. package/dist/cjs/hooks/useModules.js.map +0 -1
  133. package/dist/cjs/hooks/useNode.js +0 -54
  134. package/dist/cjs/hooks/useNode.js.map +0 -1
  135. package/dist/cjs/hooks/useProvidedNode.js.map +0 -1
  136. package/dist/cjs/hooks/useProvidedNodeAttachedAddresses.js.map +0 -1
  137. package/dist/cjs/hooks/useProvidedNodeRegisteredAddresses.js.map +0 -1
  138. package/dist/cjs/hooks/useWrappedNodeModule.js +0 -49
  139. package/dist/cjs/hooks/useWrappedNodeModule.js.map +0 -1
  140. package/dist/cjs/hooks/useWrappedNodeModules.js +0 -59
  141. package/dist/cjs/hooks/useWrappedNodeModules.js.map +0 -1
  142. package/dist/esm/hooks/useModule.js +0 -65
  143. package/dist/esm/hooks/useModule.js.map +0 -1
  144. package/dist/esm/hooks/useModules.js.map +0 -1
  145. package/dist/esm/hooks/useNode.js +0 -50
  146. package/dist/esm/hooks/useNode.js.map +0 -1
  147. package/dist/esm/hooks/useProvidedNode.js.map +0 -1
  148. package/dist/esm/hooks/useProvidedNodeAttachedAddresses.js.map +0 -1
  149. package/dist/esm/hooks/useProvidedNodeRegisteredAddresses.js.map +0 -1
  150. package/dist/esm/hooks/useWrappedNodeModule.js +0 -45
  151. package/dist/esm/hooks/useWrappedNodeModule.js.map +0 -1
  152. package/dist/esm/hooks/useWrappedNodeModules.js +0 -54
  153. package/dist/esm/hooks/useWrappedNodeModules.js.map +0 -1
  154. package/dist/types/hooks/useModule.d.ts +0 -5
  155. package/dist/types/hooks/useModule.d.ts.map +0 -1
  156. package/dist/types/hooks/useModules.d.ts +0 -4
  157. package/dist/types/hooks/useModules.d.ts.map +0 -1
  158. package/dist/types/hooks/useNode.d.ts +0 -5
  159. package/dist/types/hooks/useNode.d.ts.map +0 -1
  160. package/dist/types/hooks/useProvidedNode.d.ts +0 -5
  161. package/dist/types/hooks/useProvidedNode.d.ts.map +0 -1
  162. package/dist/types/hooks/useProvidedNodeAttachedAddresses.d.ts.map +0 -1
  163. package/dist/types/hooks/useProvidedNodeRegisteredAddresses.d.ts.map +0 -1
  164. package/dist/types/hooks/useWrappedNodeModule.d.ts +0 -6
  165. package/dist/types/hooks/useWrappedNodeModule.d.ts.map +0 -1
  166. package/dist/types/hooks/useWrappedNodeModules.d.ts +0 -6
  167. package/dist/types/hooks/useWrappedNodeModules.d.ts.map +0 -1
  168. package/src/hooks/useModule.tsx +0 -80
  169. package/src/hooks/useNode.tsx +0 -52
  170. package/src/hooks/useWrappedNodeModule.tsx +0 -58
  171. package/src/hooks/useWrappedNodeModules.tsx +0 -64
  172. /package/dist/cjs/hooks/{useProvidedNodeAttachedAddresses.js → provided/useProvidedNodeAttachedAddresses.js} +0 -0
  173. /package/dist/cjs/hooks/{useProvidedNodeRegisteredAddresses.js → provided/useProvidedNodeRegisteredAddresses.js} +0 -0
  174. /package/dist/esm/hooks/{useProvidedNodeAttachedAddresses.js → provided/useProvidedNodeAttachedAddresses.js} +0 -0
  175. /package/dist/esm/hooks/{useProvidedNodeRegisteredAddresses.js → provided/useProvidedNodeRegisteredAddresses.js} +0 -0
  176. /package/dist/types/hooks/{useProvidedNodeAttachedAddresses.d.ts → provided/useProvidedNodeAttachedAddresses.d.ts} +0 -0
  177. /package/dist/types/hooks/{useProvidedNodeRegisteredAddresses.d.ts → provided/useProvidedNodeRegisteredAddresses.d.ts} +0 -0
  178. /package/src/hooks/{useProvidedNodeAttachedAddresses.ts → provided/useProvidedNodeAttachedAddresses.ts} +0 -0
  179. /package/src/hooks/{useProvidedNodeRegisteredAddresses.ts → provided/useProvidedNodeRegisteredAddresses.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/hooks/useNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,gCAAgC;AAChC,MAAM,aAAa,GAAG,CAAC,aAAsB,EAAE,OAAwB,EAAE,MAAe,EAA+C,EAAE;IACvI,MAAM,CAAC,YAAY,CAAC,GAAG,eAAe,EAAE,CAAA;IACxC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IAEnE,IAAI,aAAa,EAAE;QACjB,IAAI,YAAY,EAAE;YAChB,OAAO,CAAC,IAAkB,EAAE,SAAS,CAAC,CAAA;SACvC;aAAM;YACL,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;SACjC;KACF;SAAM;QACL,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;KACjC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,aAAsB,EAAE,OAAwB,EAAE,MAAe,EAAgD,EAAE;IACzI,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACvE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAe,CAAA;IACrD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,IAAI,OAAO,EAAE;YACnB,IAAI,SAAS,EAAE;gBACb,QAAQ,CAAC,SAAS,CAAC,CAAA;gBACnB,UAAU,CAAC,SAAS,CAAC,CAAA;aACtB;iBAAM;gBACL,IAAI;oBACF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;oBAC/C,UAAU,CAAC,OAAO,CAAC,CAAA;oBACnB,QAAQ,CAAC,SAAS,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,UAAU,CAAC,SAAS,CAAC,CAAA;oBACrB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;SACF;aAAM;YACL,UAAU,CAAC,SAAS,CAAC,CAAA;YACrB,QAAQ,CAAC,SAAS,CAAC,CAAA;SACpB;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;IAE9B,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useProvidedNode.js","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvD,MAAM,CAAC,MAAM,eAAe,GAAG,GAA6B,EAAE;IAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IAExC,OAAO,CAAC,IAAI,CAAC,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAuB,EAAgD,EAAE;IAC9G,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAe,CAAA;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI;YACF,IAAI,IAAI,IAAI,WAAW,EAAE;gBACvB,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;gBACnD,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;iBAAM;gBACL,cAAc,CAAC,SAAS,CAAC,CAAA;gBACzB,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;SACF;QAAC,OAAO,EAAE,EAAE;YACX,cAAc,CAAC,SAAS,CAAC,CAAA;YACzB,QAAQ,CAAC,EAAW,CAAC,CAAA;SACtB;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;IAEvB,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useProvidedNodeAttachedAddresses.js","sourceRoot":"","sources":["../../../src/hooks/useProvidedNodeAttachedAddresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,IAAiB,EAAE,EAAE;IACpE,MAAM,CAAC,YAAY,CAAC,GAAG,eAAe,EAAE,CAAA;IACxC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAY,CAAA;IAEtD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAA;IAE3E,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,QAAQ,EAAE,CAAA;QAC5C,IAAI,OAAO,EAAE,EAAE;YACb,YAAY,CAAC,QAAQ,CAAC,CAAA;SACvB;IACH,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAA;IAED,OAAO,CAAC,SAAS,CAAC,CAAA;AACpB,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useProvidedNodeRegisteredAddresses.js","sourceRoot":"","sources":["../../../src/hooks/useProvidedNodeRegisteredAddresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,IAAiB,EAAE,EAAE;IACtE,MAAM,CAAC,YAAY,CAAC,GAAG,eAAe,EAAE,CAAA;IACxC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAY,CAAA;IAEtD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAA;IAE3E,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,UAAU,GAAG,MAAM,SAAS,EAAE,UAAU,EAAE,CAAA;QAChD,IAAI,OAAO,EAAE,EAAE;YACb,YAAY,CAAC,UAAU,CAAC,CAAA;SACzB;IACH,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAA;IAED,OAAO,CAAC,SAAS,CAAC,CAAA;AACpB,CAAC,CAAA"}
@@ -1,45 +0,0 @@
1
- import { ModuleWrapper } from '@xyo-network/module';
2
- import { useWallet } from '@xyo-network/react-wallet';
3
- import { useEffect, useState } from 'react';
4
- import { useModule } from './useModule';
5
- export const WrappedNodeModuleHookFactory = (wrapperObject, name) => {
6
- const useHook = (nameOrAddress, wallet, logger) => {
7
- logger?.debug(`Render: ${name}`);
8
- const [walletToUse] = useWallet({ wallet });
9
- const [module, moduleError] = useModule(nameOrAddress ?? {
10
- query: [wrapperObject.requiredQueries],
11
- }, walletToUse, logger);
12
- const [wrapper, setWrapper] = useState();
13
- const [error, setError] = useState();
14
- /*
15
- useEffect(() => {
16
- if (!walletToUse) {
17
- const error = Error('Module hooks require either an Account context or account parameter')
18
- //console.error(error.message)
19
- setError(error)
20
- }
21
- }, [walletToUse])
22
- */
23
- useEffect(() => {
24
- if (module && walletToUse) {
25
- try {
26
- const wrapper = wrapperObject.wrap(module, walletToUse);
27
- setWrapper(wrapper);
28
- setError(undefined);
29
- }
30
- catch (ex) {
31
- setWrapper(undefined);
32
- setError(ex);
33
- }
34
- }
35
- else {
36
- setWrapper(undefined);
37
- setError(moduleError);
38
- }
39
- }, [module, wallet, moduleError, walletToUse]);
40
- return [wrapper, error];
41
- };
42
- return useHook;
43
- };
44
- export const useWrappedNodeModule = WrappedNodeModuleHookFactory(ModuleWrapper, 'useWrappedNodeModule');
45
- //# sourceMappingURL=useWrappedNodeModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWrappedNodeModule.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedNodeModule.tsx"],"names":[],"mappings":"AACA,OAAO,EAA8B,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,aAAyD,EACzD,IAAa,EACb,EAAE;IACF,MAAM,OAAO,GAAG,CAAC,aAAsB,EAAE,MAAuB,EAAE,MAAe,EAAmD,EAAE;QACpI,MAAM,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;QAChC,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3C,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CACrC,aAAa,IAAI;YACf,KAAK,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;SACvC,EACD,WAAW,EACX,MAAM,CACP,CAAA;QAED,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAkB,CAAA;QACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;QAE3C;;;;;;;;UAQE;QAEF,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,MAAM,IAAI,WAAW,EAAE;gBACzB,IAAI;oBACF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;oBACvD,UAAU,CAAC,OAAO,CAAC,CAAA;oBACnB,QAAQ,CAAC,SAAS,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,UAAU,CAAC,SAAS,CAAC,CAAA;oBACrB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;iBAAM;gBACL,UAAU,CAAC,SAAS,CAAC,CAAA;gBACrB,QAAQ,CAAC,WAAW,CAAC,CAAA;aACtB;QACH,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAA;QAE9C,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAA"}
@@ -1,54 +0,0 @@
1
- import { ModuleWrapper } from '@xyo-network/module';
2
- import { useAccount } from '@xyo-network/react-wallet';
3
- import compact from 'lodash/compact';
4
- import { useEffect, useState } from 'react';
5
- import { useModules } from './useModules';
6
- export const WrappedNodeModulesHookFactory = (wrapperObject, name) => {
7
- const filter = {
8
- query: [wrapperObject.requiredQueries],
9
- };
10
- const useHook = (account, logger) => {
11
- logger?.debug(`Render: ${name}`);
12
- const [accountToUse] = useAccount({ account });
13
- const [modules, moduleError] = useModules(filter, logger);
14
- const [wrappers, setWrappers] = useState();
15
- const [error, setError] = useState();
16
- useEffect(() => {
17
- logger?.debug('useEffect: accountToUse start');
18
- if (!accountToUse) {
19
- logger?.debug('useEffect: accountToUse');
20
- const error = Error('Module hooks require either an Account context or account parameter');
21
- //console.error(error.message)
22
- setError(error);
23
- }
24
- }, [accountToUse, logger]);
25
- useEffect(() => {
26
- logger?.debug('useEffect: modules && accountToUse start');
27
- if (modules && accountToUse) {
28
- try {
29
- const wrappers = compact(modules?.map((module) => wrapperObject.tryWrap(module, accountToUse)));
30
- logger?.debug('useEffect: modules && accountToUse');
31
- setWrappers(wrappers);
32
- setError(undefined);
33
- }
34
- catch (ex) {
35
- logger?.error(`useEffect: modules && accountToUse Error: ${ex.message}`);
36
- setWrappers(undefined);
37
- setError(ex);
38
- }
39
- }
40
- else {
41
- logger?.debug('useEffect: no modules && accountToUse');
42
- setWrappers(undefined);
43
- setError(moduleError);
44
- }
45
- return () => {
46
- logger?.debug('useEffect: modules && accountToUse unmount');
47
- };
48
- }, [modules, moduleError, accountToUse, logger]);
49
- return [wrappers, error];
50
- };
51
- return useHook;
52
- };
53
- export const useWrappedNodeModules = WrappedNodeModulesHookFactory(ModuleWrapper, 'useWrappedNodeModules');
54
- //# sourceMappingURL=useWrappedNodeModules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWrappedNodeModules.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedNodeModules.tsx"],"names":[],"mappings":"AACA,OAAO,EAA8B,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAEtD,OAAO,OAAO,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,aAAyD,EACzD,IAAY,EACZ,EAAE;IACF,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;KACvC,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,OAAwB,EAAE,MAAe,EAAqD,EAAE;QAC/G,MAAM,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;QAEhC,MAAM,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAC9C,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,UAAU,CAA2B,MAAM,EAAE,MAAM,CAAC,CAAA;QAEnF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAoB,CAAA;QAC5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;QAE3C,SAAS,CAAC,GAAG,EAAE;YACb,MAAM,EAAE,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAC9C,IAAI,CAAC,YAAY,EAAE;gBACjB,MAAM,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAA;gBACxC,MAAM,KAAK,GAAG,KAAK,CAAC,qEAAqE,CAAC,CAAA;gBAC1F,8BAA8B;gBAC9B,QAAQ,CAAC,KAAK,CAAC,CAAA;aAChB;QACH,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;QAE1B,SAAS,CAAC,GAAG,EAAE;YACb,MAAM,EAAE,KAAK,CAAC,0CAA0C,CAAC,CAAA;YACzD,IAAI,OAAO,IAAI,YAAY,EAAE;gBAC3B,IAAI;oBACF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;oBAC/F,MAAM,EAAE,KAAK,CAAC,oCAAoC,CAAC,CAAA;oBACnD,WAAW,CAAC,QAAQ,CAAC,CAAA;oBACrB,QAAQ,CAAC,SAAS,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,MAAM,EAAE,KAAK,CAAC,6CAA8C,EAAY,CAAC,OAAO,EAAE,CAAC,CAAA;oBACnF,WAAW,CAAC,SAAS,CAAC,CAAA;oBACtB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;iBAAM;gBACL,MAAM,EAAE,KAAK,CAAC,uCAAuC,CAAC,CAAA;gBACtD,WAAW,CAAC,SAAS,CAAC,CAAA;gBACtB,QAAQ,CAAC,WAAW,CAAC,CAAA;aACtB;YACD,OAAO,GAAG,EAAE;gBACV,MAAM,EAAE,KAAK,CAAC,4CAA4C,CAAC,CAAA;YAC7D,CAAC,CAAA;QACH,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;QAEhD,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC1B,CAAC,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,6BAA6B,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAA"}
@@ -1,5 +0,0 @@
1
- import { Logger } from '@xyo-network/core';
2
- import { Module, ModuleFilter } from '@xyo-network/module-model';
3
- import { WalletInstance } from '@xyo-network/wallet-model';
4
- export declare const useModule: <TModule extends Module = Module>(nameOrAddressOrFilter?: string | ModuleFilter, wallet?: WalletInstance, logger?: Logger) => [TModule | undefined, Error | undefined];
5
- //# sourceMappingURL=useModule.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAK1D,eAAO,MAAM,SAAS,4DACI,MAAM,GAAG,YAAY,WACpC,cAAc,WACd,MAAM,6CAkEhB,CAAA"}
@@ -1,4 +0,0 @@
1
- import { Logger } from '@xyo-network/core';
2
- import { Module, ModuleFilter } from '@xyo-network/module-model';
3
- export declare const useModules: <TModule extends Module = Module>(filter?: ModuleFilter, logger?: Logger) => [TModule[] | undefined, Error | undefined];
4
- //# sourceMappingURL=useModules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useModules.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAKhE,eAAO,MAAM,UAAU,6CAA8C,YAAY,WAAW,MAAM,+CA8CjG,CAAA"}
@@ -1,5 +0,0 @@
1
- import { Logger } from '@xyo-network/core';
2
- import { NodeWrapper } from '@xyo-network/node';
3
- import { WalletInstance } from '@xyo-network/wallet-model';
4
- export declare const useNode: (nameOrAddress?: string, account?: WalletInstance, logger?: Logger) => [NodeWrapper | undefined, Error | undefined];
5
- //# sourceMappingURL=useNode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAsB1D,eAAO,MAAM,OAAO,mBAAoB,MAAM,YAAY,cAAc,WAAW,MAAM,KAAG,CAAC,WAAW,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CA2BtI,CAAA"}
@@ -1,5 +0,0 @@
1
- import { NodeModule, NodeWrapper } from '@xyo-network/node';
2
- import { WalletInstance } from '@xyo-network/wallet-model';
3
- export declare const useProvidedNode: () => [NodeModule | undefined];
4
- export declare const useProvidedWrappedNode: (wallet?: WalletInstance) => [NodeWrapper | undefined, Error | undefined];
5
- //# sourceMappingURL=useProvidedNode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useProvidedNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG1D,eAAO,MAAM,eAAe,QAAO,CAAC,UAAU,GAAG,SAAS,CAIzD,CAAA;AAED,eAAO,MAAM,sBAAsB,YAAa,cAAc,KAAG,CAAC,WAAW,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAsB3G,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useProvidedNodeAttachedAddresses.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProvidedNodeAttachedAddresses.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAK9C,eAAO,MAAM,gCAAgC,UAAW,UAAU,6BAkBjE,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useProvidedNodeRegisteredAddresses.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProvidedNodeRegisteredAddresses.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAK9C,eAAO,MAAM,kCAAkC,UAAW,UAAU,6BAkBnE,CAAA"}
@@ -1,6 +0,0 @@
1
- import { Logger } from '@xyo-network/core';
2
- import { ConstructableModuleWrapper, ModuleWrapper } from '@xyo-network/module';
3
- import { WalletInstance } from '@xyo-network/wallet-model';
4
- export declare const WrappedNodeModuleHookFactory: <TModuleWrapper extends ModuleWrapper<import("@xyo-network/module").Module>>(wrapperObject: ConstructableModuleWrapper<TModuleWrapper>, name?: string) => (nameOrAddress?: string, wallet?: WalletInstance, logger?: Logger) => [TModuleWrapper | undefined, Error | undefined];
5
- export declare const useWrappedNodeModule: (nameOrAddress?: string, wallet?: WalletInstance, logger?: Logger) => [ModuleWrapper<import("@xyo-network/module").Module> | undefined, Error | undefined];
6
- //# sourceMappingURL=useWrappedNodeModule.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWrappedNodeModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWrappedNodeModule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAK1D,eAAO,MAAM,4BAA4B,iJAEhC,MAAM,sBAEoB,MAAM,WAAW,cAAc,WAAW,MAAM,oDA2ClF,CAAA;AAED,eAAO,MAAM,oBAAoB,mBA7CE,MAAM,WAAW,cAAc,WAAW,MAAM,yFA6CoB,CAAA"}
@@ -1,6 +0,0 @@
1
- import { Logger } from '@xyo-network/core';
2
- import { ConstructableModuleWrapper, ModuleWrapper } from '@xyo-network/module';
3
- import { WalletInstance } from '@xyo-network/wallet-model';
4
- export declare const WrappedNodeModulesHookFactory: <TModuleWrapper extends ModuleWrapper<import("@xyo-network/module").Module>>(wrapperObject: ConstructableModuleWrapper<TModuleWrapper>, name: string) => (account?: WalletInstance, logger?: Logger) => [TModuleWrapper[] | undefined, Error | undefined];
5
- export declare const useWrappedNodeModules: (account?: WalletInstance, logger?: Logger) => [ModuleWrapper<import("@xyo-network/module").Module>[] | undefined, Error | undefined];
6
- //# sourceMappingURL=useWrappedNodeModules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWrappedNodeModules.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWrappedNodeModules.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAM1D,eAAO,MAAM,6BAA6B,gJAElC,MAAM,gBAKe,cAAc,WAAW,MAAM,sDA6C3D,CAAA;AAED,eAAO,MAAM,qBAAqB,aA/CL,cAAc,WAAW,MAAM,2FA+C8C,CAAA"}
@@ -1,80 +0,0 @@
1
- import { useAsyncEffect } from '@xylabs/react-async-effect'
2
- import { Logger } from '@xyo-network/core'
3
- import { EventUnsubscribeFunction } from '@xyo-network/module'
4
- import { Module, ModuleFilter } from '@xyo-network/module-model'
5
- import { ModuleAttachedEventArgs, ModuleDetachedEventArgs } from '@xyo-network/node'
6
- import { WalletInstance } from '@xyo-network/wallet-model'
7
- import { useMemo, useState } from 'react'
8
-
9
- import { useProvidedWrappedNode } from './useProvidedNode'
10
-
11
- export const useModule = <TModule extends Module = Module>(
12
- nameOrAddressOrFilter?: string | ModuleFilter,
13
- wallet?: WalletInstance,
14
- logger?: Logger,
15
- ): [TModule | undefined, Error | undefined] => {
16
- const nameOrAddress = useMemo(() => (typeof nameOrAddressOrFilter === 'string' ? nameOrAddressOrFilter : undefined), [nameOrAddressOrFilter])
17
- const filter = useMemo(() => (typeof nameOrAddressOrFilter === 'object' ? nameOrAddressOrFilter : undefined), [nameOrAddressOrFilter])
18
- const [node, nodeError] = useProvidedWrappedNode(wallet)
19
- const [module, setModule] = useState<TModule>()
20
- const [error, setError] = useState<Error>()
21
-
22
- const address = useMemo(() => module?.address, [module])
23
-
24
- useAsyncEffect(
25
- // eslint-disable-next-line react-hooks/exhaustive-deps
26
- async (mounted) => {
27
- const eventUnsubscribe: EventUnsubscribeFunction[] = []
28
- try {
29
- /* Check pre-conditions */
30
- if (nodeError || !node || !nameOrAddress) {
31
- if (mounted()) {
32
- nodeError && logger?.error(nodeError.message)
33
- setError(nodeError)
34
- setModule(undefined)
35
- }
36
- return
37
- }
38
-
39
- const attachHandler = (args: ModuleAttachedEventArgs) => {
40
- const eventModule = args.module
41
- if (nameOrAddress && (eventModule.address === nameOrAddress || eventModule?.config.name === nameOrAddress)) {
42
- logger?.debug(`attachHandler-setting [${nameOrAddress}]`)
43
- setModule(eventModule as TModule)
44
- setError(undefined)
45
- }
46
- }
47
- const detachHandler = (args: ModuleDetachedEventArgs) => {
48
- const eventModule = args.module
49
- if (eventModule.address === address) {
50
- logger?.debug(`detachHandler-clearing [${address}]`)
51
- setModule(undefined)
52
- setError(undefined)
53
- }
54
- }
55
- const module: TModule | undefined = nameOrAddress ? await node.resolve<TModule>(nameOrAddress) : (await node.resolve<TModule>(filter)).pop()
56
- if (mounted()) {
57
- eventUnsubscribe.push(node.on('moduleAttached', attachHandler))
58
- eventUnsubscribe.push(node.on('moduleDetached', detachHandler))
59
- logger?.debug(`resolved [${nameOrAddress}]`)
60
- setModule(module)
61
- setError(undefined)
62
- }
63
- return () => {
64
- //remove the event handler on unmount
65
- eventUnsubscribe.forEach((func) => func())
66
- }
67
- } catch (ex) {
68
- if (mounted()) {
69
- const error = ex as Error
70
- logger?.error(error.message)
71
- setError(error)
72
- setModule(undefined)
73
- }
74
- }
75
- },
76
- [nameOrAddress, node, nodeError, address, filter, logger],
77
- )
78
-
79
- return [module, error]
80
- }
@@ -1,52 +0,0 @@
1
- import { Logger } from '@xyo-network/core'
2
- import { NodeModule, NodeWrapper } from '@xyo-network/node'
3
- import { WalletInstance } from '@xyo-network/wallet-model'
4
- import { useEffect, useState } from 'react'
5
-
6
- import { useModule } from './useModule'
7
- import { useProvidedNode } from './useProvidedNode'
8
-
9
- //AT: intentionally not exported
10
- const useNodeModule = (nameOrAddress?: string, account?: WalletInstance, logger?: Logger): [NodeModule | undefined, Error | undefined] => {
11
- const [providedNode] = useProvidedNode()
12
- const [node, nodeError] = useModule(nameOrAddress, account, logger)
13
-
14
- if (nameOrAddress) {
15
- if (providedNode) {
16
- return [node as NodeModule, nodeError]
17
- } else {
18
- return [providedNode, undefined]
19
- }
20
- } else {
21
- return [providedNode, undefined]
22
- }
23
- }
24
-
25
- export const useNode = (nameOrAddress?: string, account?: WalletInstance, logger?: Logger): [NodeWrapper | undefined, Error | undefined] => {
26
- const [node, nodeError] = useNodeModule(nameOrAddress, account, logger)
27
- const [wrapper, setWrapper] = useState<NodeWrapper>()
28
- const [error, setError] = useState<Error>()
29
-
30
- useEffect(() => {
31
- if (node && account) {
32
- if (nodeError) {
33
- setError(nodeError)
34
- setWrapper(undefined)
35
- } else {
36
- try {
37
- const wrapper = NodeWrapper.wrap(node, account)
38
- setWrapper(wrapper)
39
- setError(undefined)
40
- } catch (ex) {
41
- setWrapper(undefined)
42
- setError(ex as Error)
43
- }
44
- }
45
- } else {
46
- setWrapper(undefined)
47
- setError(undefined)
48
- }
49
- }, [node, account, nodeError])
50
-
51
- return [wrapper, error]
52
- }
@@ -1,58 +0,0 @@
1
- import { Logger } from '@xyo-network/core'
2
- import { ConstructableModuleWrapper, ModuleWrapper } from '@xyo-network/module'
3
- import { useWallet } from '@xyo-network/react-wallet'
4
- import { WalletInstance } from '@xyo-network/wallet-model'
5
- import { useEffect, useState } from 'react'
6
-
7
- import { useModule } from './useModule'
8
-
9
- export const WrappedNodeModuleHookFactory = <TModuleWrapper extends ModuleWrapper>(
10
- wrapperObject: ConstructableModuleWrapper<TModuleWrapper>,
11
- name?: string,
12
- ) => {
13
- const useHook = (nameOrAddress?: string, wallet?: WalletInstance, logger?: Logger): [TModuleWrapper | undefined, Error | undefined] => {
14
- logger?.debug(`Render: ${name}`)
15
- const [walletToUse] = useWallet({ wallet })
16
- const [module, moduleError] = useModule<TModuleWrapper['module']>(
17
- nameOrAddress ?? {
18
- query: [wrapperObject.requiredQueries],
19
- },
20
- walletToUse,
21
- logger,
22
- )
23
-
24
- const [wrapper, setWrapper] = useState<TModuleWrapper>()
25
- const [error, setError] = useState<Error>()
26
-
27
- /*
28
- useEffect(() => {
29
- if (!walletToUse) {
30
- const error = Error('Module hooks require either an Account context or account parameter')
31
- //console.error(error.message)
32
- setError(error)
33
- }
34
- }, [walletToUse])
35
- */
36
-
37
- useEffect(() => {
38
- if (module && walletToUse) {
39
- try {
40
- const wrapper = wrapperObject.wrap(module, walletToUse)
41
- setWrapper(wrapper)
42
- setError(undefined)
43
- } catch (ex) {
44
- setWrapper(undefined)
45
- setError(ex as Error)
46
- }
47
- } else {
48
- setWrapper(undefined)
49
- setError(moduleError)
50
- }
51
- }, [module, wallet, moduleError, walletToUse])
52
-
53
- return [wrapper, error]
54
- }
55
- return useHook
56
- }
57
-
58
- export const useWrappedNodeModule = WrappedNodeModuleHookFactory(ModuleWrapper, 'useWrappedNodeModule')
@@ -1,64 +0,0 @@
1
- import { Logger } from '@xyo-network/core'
2
- import { ConstructableModuleWrapper, ModuleWrapper } from '@xyo-network/module'
3
- import { useAccount } from '@xyo-network/react-wallet'
4
- import { WalletInstance } from '@xyo-network/wallet-model'
5
- import compact from 'lodash/compact'
6
- import { useEffect, useState } from 'react'
7
-
8
- import { useModules } from './useModules'
9
-
10
- export const WrappedNodeModulesHookFactory = <TModuleWrapper extends ModuleWrapper>(
11
- wrapperObject: ConstructableModuleWrapper<TModuleWrapper>,
12
- name: string,
13
- ) => {
14
- const filter = {
15
- query: [wrapperObject.requiredQueries],
16
- }
17
- const useHook = (account?: WalletInstance, logger?: Logger): [TModuleWrapper[] | undefined, Error | undefined] => {
18
- logger?.debug(`Render: ${name}`)
19
-
20
- const [accountToUse] = useAccount({ account })
21
- const [modules, moduleError] = useModules<TModuleWrapper['module']>(filter, logger)
22
-
23
- const [wrappers, setWrappers] = useState<TModuleWrapper[]>()
24
- const [error, setError] = useState<Error>()
25
-
26
- useEffect(() => {
27
- logger?.debug('useEffect: accountToUse start')
28
- if (!accountToUse) {
29
- logger?.debug('useEffect: accountToUse')
30
- const error = Error('Module hooks require either an Account context or account parameter')
31
- //console.error(error.message)
32
- setError(error)
33
- }
34
- }, [accountToUse, logger])
35
-
36
- useEffect(() => {
37
- logger?.debug('useEffect: modules && accountToUse start')
38
- if (modules && accountToUse) {
39
- try {
40
- const wrappers = compact(modules?.map((module) => wrapperObject.tryWrap(module, accountToUse)))
41
- logger?.debug('useEffect: modules && accountToUse')
42
- setWrappers(wrappers)
43
- setError(undefined)
44
- } catch (ex) {
45
- logger?.error(`useEffect: modules && accountToUse Error: ${(ex as Error).message}`)
46
- setWrappers(undefined)
47
- setError(ex as Error)
48
- }
49
- } else {
50
- logger?.debug('useEffect: no modules && accountToUse')
51
- setWrappers(undefined)
52
- setError(moduleError)
53
- }
54
- return () => {
55
- logger?.debug('useEffect: modules && accountToUse unmount')
56
- }
57
- }, [modules, moduleError, accountToUse, logger])
58
-
59
- return [wrappers, error]
60
- }
61
- return useHook
62
- }
63
-
64
- export const useWrappedNodeModules = WrappedNodeModulesHookFactory(ModuleWrapper, 'useWrappedNodeModules')