@xyo-network/react-node 2.45.0-rc.2 → 2.45.0-rc.21

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 (188) hide show
  1. package/dist/cjs/components/Node.js +1 -1
  2. package/dist/cjs/components/Node.js.map +1 -1
  3. package/dist/cjs/components/NodeDrawer.js +1 -1
  4. package/dist/cjs/components/NodeDrawer.js.map +1 -1
  5. package/dist/cjs/contexts/index.js +0 -11
  6. package/dist/cjs/contexts/index.js.map +1 -1
  7. package/dist/cjs/hooks/index.js +5 -0
  8. package/dist/cjs/hooks/index.js.map +1 -1
  9. package/dist/cjs/{contexts → hooks}/useMemoryNodeUpdates.js +3 -3
  10. package/dist/cjs/hooks/useMemoryNodeUpdates.js.map +1 -0
  11. package/dist/cjs/hooks/useModule.js +65 -0
  12. package/dist/cjs/hooks/useModule.js.map +1 -0
  13. package/dist/cjs/hooks/useModules.js +47 -0
  14. package/dist/cjs/hooks/useModules.js.map +1 -0
  15. package/dist/cjs/hooks/useNode.js +54 -0
  16. package/dist/cjs/hooks/useNode.js.map +1 -0
  17. package/dist/cjs/{contexts/useModuleAddresses.js → hooks/useNodeAttachedAddresses.js} +9 -9
  18. package/dist/cjs/hooks/useNodeAttachedAddresses.js.map +1 -0
  19. package/dist/cjs/hooks/useProvidedNode.js +31 -0
  20. package/dist/cjs/hooks/useProvidedNode.js.map +1 -0
  21. package/dist/cjs/hooks/useWrappedModule.js +35 -0
  22. package/dist/cjs/hooks/useWrappedModule.js.map +1 -0
  23. package/dist/docs.json +944 -1919
  24. package/dist/esm/components/Node.js +1 -1
  25. package/dist/esm/components/Node.js.map +1 -1
  26. package/dist/esm/components/NodeDrawer.js +1 -1
  27. package/dist/esm/components/NodeDrawer.js.map +1 -1
  28. package/dist/esm/contexts/index.js +0 -11
  29. package/dist/esm/contexts/index.js.map +1 -1
  30. package/dist/esm/hooks/index.js +5 -0
  31. package/dist/esm/hooks/index.js.map +1 -1
  32. package/dist/esm/{contexts → hooks}/useMemoryNodeUpdates.js +3 -3
  33. package/dist/esm/hooks/useMemoryNodeUpdates.js.map +1 -0
  34. package/dist/esm/hooks/useModule.js +60 -0
  35. package/dist/esm/hooks/useModule.js.map +1 -0
  36. package/dist/esm/hooks/useModules.js +42 -0
  37. package/dist/esm/hooks/useModules.js.map +1 -0
  38. package/dist/esm/hooks/useNode.js +50 -0
  39. package/dist/esm/hooks/useNode.js.map +1 -0
  40. package/dist/esm/hooks/useNodeAttachedAddresses.js +17 -0
  41. package/dist/esm/hooks/useNodeAttachedAddresses.js.map +1 -0
  42. package/dist/esm/hooks/useProvidedNode.js +26 -0
  43. package/dist/esm/hooks/useProvidedNode.js.map +1 -0
  44. package/dist/esm/hooks/useWrappedModule.js +31 -0
  45. package/dist/esm/hooks/useWrappedModule.js.map +1 -0
  46. package/dist/types/contexts/index.d.ts +0 -11
  47. package/dist/types/contexts/index.d.ts.map +1 -1
  48. package/dist/types/hooks/index.d.ts +5 -0
  49. package/dist/types/hooks/index.d.ts.map +1 -1
  50. package/dist/types/hooks/useMemoryNodeUpdates.d.ts.map +1 -0
  51. package/dist/types/hooks/useModule.d.ts +23 -0
  52. package/dist/types/hooks/useModule.d.ts.map +1 -0
  53. package/dist/types/{contexts → hooks}/useModules.d.ts +5 -5
  54. package/dist/types/hooks/useModules.d.ts.map +1 -0
  55. package/dist/types/hooks/useNode.d.ts +4 -0
  56. package/dist/types/hooks/useNode.d.ts.map +1 -0
  57. package/dist/types/hooks/useNodeAttachedAddresses.d.ts +2 -0
  58. package/dist/types/hooks/useNodeAttachedAddresses.d.ts.map +1 -0
  59. package/dist/types/hooks/useProvidedNode.d.ts +5 -0
  60. package/dist/types/hooks/useProvidedNode.d.ts.map +1 -0
  61. package/dist/types/hooks/useWrappedModule.d.ts +39 -0
  62. package/dist/types/hooks/useWrappedModule.d.ts.map +1 -0
  63. package/package.json +8 -13
  64. package/src/components/Node.stories.tsx +1 -1
  65. package/src/components/Node.tsx +1 -1
  66. package/src/components/NodeDrawer.tsx +1 -1
  67. package/src/contexts/index.ts +0 -11
  68. package/src/hooks/index.ts +5 -0
  69. package/src/{contexts → hooks}/useMemoryNodeUpdates.tsx +3 -3
  70. package/src/hooks/useModule.tsx +65 -0
  71. package/src/hooks/useModules.ts +45 -0
  72. package/src/hooks/useNode.tsx +51 -0
  73. package/src/{contexts/useModuleAddresses.ts → hooks/useNodeAttachedAddresses.ts} +6 -6
  74. package/src/hooks/useProvidedNode.tsx +31 -0
  75. package/src/hooks/useWrappedModule.tsx +42 -0
  76. package/dist/cjs/contexts/useArchiveArchivists.js +0 -38
  77. package/dist/cjs/contexts/useArchiveArchivists.js.map +0 -1
  78. package/dist/cjs/contexts/useArchivistModule.js +0 -12
  79. package/dist/cjs/contexts/useArchivistModule.js.map +0 -1
  80. package/dist/cjs/contexts/useArchivistModules.js +0 -11
  81. package/dist/cjs/contexts/useArchivistModules.js.map +0 -1
  82. package/dist/cjs/contexts/useDivinerModule.js +0 -12
  83. package/dist/cjs/contexts/useDivinerModule.js.map +0 -1
  84. package/dist/cjs/contexts/useDivinerModules.js +0 -12
  85. package/dist/cjs/contexts/useDivinerModules.js.map +0 -1
  86. package/dist/cjs/contexts/useMemoryNodeUpdates.js.map +0 -1
  87. package/dist/cjs/contexts/useModuleAddresses.js.map +0 -1
  88. package/dist/cjs/contexts/useModules.js +0 -22
  89. package/dist/cjs/contexts/useModules.js.map +0 -1
  90. package/dist/cjs/contexts/useNodeQueryDiviner.js +0 -43
  91. package/dist/cjs/contexts/useNodeQueryDiviner.js.map +0 -1
  92. package/dist/cjs/contexts/useWitnessModule.js +0 -12
  93. package/dist/cjs/contexts/useWitnessModule.js.map +0 -1
  94. package/dist/cjs/contexts/useWitnessModules.js +0 -11
  95. package/dist/cjs/contexts/useWitnessModules.js.map +0 -1
  96. package/dist/cjs/hooks/useModule/createUseModuleHook.js +0 -26
  97. package/dist/cjs/hooks/useModule/createUseModuleHook.js.map +0 -1
  98. package/dist/cjs/hooks/useModule/index.js +0 -6
  99. package/dist/cjs/hooks/useModule/index.js.map +0 -1
  100. package/dist/cjs/hooks/useModule/useModule.js +0 -7
  101. package/dist/cjs/hooks/useModule/useModule.js.map +0 -1
  102. package/dist/cjs/hooks/useNode/index.js +0 -6
  103. package/dist/cjs/hooks/useNode/index.js.map +0 -1
  104. package/dist/cjs/hooks/useNode/useNode.js +0 -7
  105. package/dist/cjs/hooks/useNode/useNode.js.map +0 -1
  106. package/dist/cjs/hooks/useNode/useProvidedNode.js +0 -12
  107. package/dist/cjs/hooks/useNode/useProvidedNode.js.map +0 -1
  108. package/dist/esm/contexts/useArchiveArchivists.js +0 -33
  109. package/dist/esm/contexts/useArchiveArchivists.js.map +0 -1
  110. package/dist/esm/contexts/useArchivistModule.js +0 -8
  111. package/dist/esm/contexts/useArchivistModule.js.map +0 -1
  112. package/dist/esm/contexts/useArchivistModules.js +0 -7
  113. package/dist/esm/contexts/useArchivistModules.js.map +0 -1
  114. package/dist/esm/contexts/useDivinerModule.js +0 -8
  115. package/dist/esm/contexts/useDivinerModule.js.map +0 -1
  116. package/dist/esm/contexts/useDivinerModules.js +0 -8
  117. package/dist/esm/contexts/useDivinerModules.js.map +0 -1
  118. package/dist/esm/contexts/useMemoryNodeUpdates.js.map +0 -1
  119. package/dist/esm/contexts/useModuleAddresses.js +0 -17
  120. package/dist/esm/contexts/useModuleAddresses.js.map +0 -1
  121. package/dist/esm/contexts/useModules.js +0 -17
  122. package/dist/esm/contexts/useModules.js.map +0 -1
  123. package/dist/esm/contexts/useNodeQueryDiviner.js +0 -37
  124. package/dist/esm/contexts/useNodeQueryDiviner.js.map +0 -1
  125. package/dist/esm/contexts/useWitnessModule.js +0 -8
  126. package/dist/esm/contexts/useWitnessModule.js.map +0 -1
  127. package/dist/esm/contexts/useWitnessModules.js +0 -7
  128. package/dist/esm/contexts/useWitnessModules.js.map +0 -1
  129. package/dist/esm/hooks/useModule/createUseModuleHook.js +0 -21
  130. package/dist/esm/hooks/useModule/createUseModuleHook.js.map +0 -1
  131. package/dist/esm/hooks/useModule/index.js +0 -3
  132. package/dist/esm/hooks/useModule/index.js.map +0 -1
  133. package/dist/esm/hooks/useModule/useModule.js +0 -4
  134. package/dist/esm/hooks/useModule/useModule.js.map +0 -1
  135. package/dist/esm/hooks/useNode/index.js +0 -3
  136. package/dist/esm/hooks/useNode/index.js.map +0 -1
  137. package/dist/esm/hooks/useNode/useNode.js +0 -4
  138. package/dist/esm/hooks/useNode/useNode.js.map +0 -1
  139. package/dist/esm/hooks/useNode/useProvidedNode.js +0 -9
  140. package/dist/esm/hooks/useNode/useProvidedNode.js.map +0 -1
  141. package/dist/types/contexts/useArchiveArchivists.d.ts +0 -9
  142. package/dist/types/contexts/useArchiveArchivists.d.ts.map +0 -1
  143. package/dist/types/contexts/useArchivistModule.d.ts +0 -4
  144. package/dist/types/contexts/useArchivistModule.d.ts.map +0 -1
  145. package/dist/types/contexts/useArchivistModules.d.ts +0 -3
  146. package/dist/types/contexts/useArchivistModules.d.ts.map +0 -1
  147. package/dist/types/contexts/useDivinerModule.d.ts +0 -4
  148. package/dist/types/contexts/useDivinerModule.d.ts.map +0 -1
  149. package/dist/types/contexts/useDivinerModules.d.ts +0 -3
  150. package/dist/types/contexts/useDivinerModules.d.ts.map +0 -1
  151. package/dist/types/contexts/useMemoryNodeUpdates.d.ts.map +0 -1
  152. package/dist/types/contexts/useModuleAddresses.d.ts +0 -2
  153. package/dist/types/contexts/useModuleAddresses.d.ts.map +0 -1
  154. package/dist/types/contexts/useModules.d.ts.map +0 -1
  155. package/dist/types/contexts/useNodeQueryDiviner.d.ts +0 -6
  156. package/dist/types/contexts/useNodeQueryDiviner.d.ts.map +0 -1
  157. package/dist/types/contexts/useWitnessModule.d.ts +0 -4
  158. package/dist/types/contexts/useWitnessModule.d.ts.map +0 -1
  159. package/dist/types/contexts/useWitnessModules.d.ts +0 -3
  160. package/dist/types/contexts/useWitnessModules.d.ts.map +0 -1
  161. package/dist/types/hooks/useModule/createUseModuleHook.d.ts +0 -50
  162. package/dist/types/hooks/useModule/createUseModuleHook.d.ts.map +0 -1
  163. package/dist/types/hooks/useModule/index.d.ts +0 -3
  164. package/dist/types/hooks/useModule/index.d.ts.map +0 -1
  165. package/dist/types/hooks/useModule/useModule.d.ts +0 -48
  166. package/dist/types/hooks/useModule/useModule.d.ts.map +0 -1
  167. package/dist/types/hooks/useNode/index.d.ts +0 -3
  168. package/dist/types/hooks/useNode/index.d.ts.map +0 -1
  169. package/dist/types/hooks/useNode/useNode.d.ts +0 -8
  170. package/dist/types/hooks/useNode/useNode.d.ts.map +0 -1
  171. package/dist/types/hooks/useNode/useProvidedNode.d.ts +0 -6
  172. package/dist/types/hooks/useNode/useProvidedNode.d.ts.map +0 -1
  173. package/src/contexts/useArchiveArchivists.tsx +0 -49
  174. package/src/contexts/useArchivistModule.ts +0 -10
  175. package/src/contexts/useArchivistModules.ts +0 -8
  176. package/src/contexts/useDivinerModule.ts +0 -10
  177. package/src/contexts/useDivinerModules.ts +0 -9
  178. package/src/contexts/useModules.ts +0 -23
  179. package/src/contexts/useNodeQueryDiviner.tsx +0 -54
  180. package/src/contexts/useWitnessModule.ts +0 -10
  181. package/src/contexts/useWitnessModules.ts +0 -8
  182. package/src/hooks/useModule/createUseModuleHook.tsx +0 -42
  183. package/src/hooks/useModule/index.ts +0 -2
  184. package/src/hooks/useModule/useModule.tsx +0 -5
  185. package/src/hooks/useNode/index.ts +0 -2
  186. package/src/hooks/useNode/useNode.tsx +0 -5
  187. package/src/hooks/useNode/useProvidedNode.tsx +0 -14
  188. /package/dist/types/{contexts → hooks}/useMemoryNodeUpdates.d.ts +0 -0
@@ -1,2 +1,7 @@
1
+ export * from './useMemoryNodeUpdates'
1
2
  export * from './useModule'
3
+ export * from './useModules'
2
4
  export * from './useNode'
5
+ export * from './useNodeAttachedAddresses'
6
+ export * from './useProvidedNode'
7
+ export * from './useWrappedModule'
@@ -2,7 +2,7 @@ import { ModuleResolver } from '@xyo-network/module-model'
2
2
  import { ModuleAttachedEventArgs, ModuleAttachedEventEmitter } from '@xyo-network/node'
3
3
  import { useEffect, useState } from 'react'
4
4
 
5
- import { useNode } from '../hooks'
5
+ import { useNode } from './useNode'
6
6
 
7
7
  interface UseMemoryNodeUpdates {
8
8
  module?: ModuleAttachedEventArgs
@@ -11,12 +11,12 @@ interface UseMemoryNodeUpdates {
11
11
  }
12
12
 
13
13
  export const useMemoryNodeUpdates = (refreshAddresses?: string[]): UseMemoryNodeUpdates => {
14
- const node = useNode()
14
+ const [node] = useNode()
15
15
  const [module, setModule] = useState<ModuleAttachedEventArgs>()
16
16
 
17
17
  useEffect(() => {
18
18
  if (node) {
19
- const onFunc = node.on as ModuleAttachedEventEmitter['on']
19
+ const onFunc = node.module.on as ModuleAttachedEventEmitter['on']
20
20
  onFunc('moduleAttached', (args) => {
21
21
  if (refreshAddresses) {
22
22
  if (refreshAddresses.some((address) => address === args?.module.address)) setModule(args)
@@ -0,0 +1,65 @@
1
+ import { useAsyncEffect } from '@xylabs/react-shared'
2
+ import { Module, ModuleFilter } from '@xyo-network/module-model'
3
+ import { ModuleDetachedEventArgs, ModuleDetachedEventEmitter } from '@xyo-network/node'
4
+ import { useMemo, useState } from 'react'
5
+
6
+ import { useProvidedWrappedNode } from './useProvidedNode'
7
+
8
+ export const useModule = <TModule extends Module = Module>(
9
+ nameOrAddressOrFilter?: string | ModuleFilter,
10
+ ): [TModule | undefined, Error | undefined] => {
11
+ const nameOrAddress = useMemo(() => (typeof nameOrAddressOrFilter === 'string' ? nameOrAddressOrFilter : undefined), [nameOrAddressOrFilter])
12
+ const filter = useMemo(() => (typeof nameOrAddressOrFilter === 'object' ? nameOrAddressOrFilter : undefined), [nameOrAddressOrFilter])
13
+ const [node, nodeError] = useProvidedWrappedNode()
14
+ const [module, setModule] = useState<TModule>()
15
+ const [error, setError] = useState<Error>()
16
+ const address = module?.address
17
+ useAsyncEffect(
18
+ // eslint-disable-next-line react-hooks/exhaustive-deps
19
+ async (mounted) => {
20
+ const detachHandler = (args: ModuleDetachedEventArgs) => {
21
+ const eventModule = args.module
22
+ if (eventModule.address === address && mounted()) {
23
+ setModule(undefined)
24
+ setError(undefined)
25
+ }
26
+ }
27
+ try {
28
+ if (nodeError) {
29
+ setError(nodeError)
30
+ setModule(undefined)
31
+ } else {
32
+ if (node) {
33
+ const emitter = node.module as ModuleDetachedEventEmitter
34
+ const module: TModule | undefined = nameOrAddress
35
+ ? await node.resolve<TModule>(nameOrAddress)
36
+ : (await node.resolve<TModule>(filter)).pop()
37
+ if (mounted()) {
38
+ emitter.on('moduleDetached', detachHandler)
39
+ setModule(module)
40
+ setError(undefined)
41
+ }
42
+ return () => {
43
+ //remove the event handler on unmount
44
+ emitter.on('moduleDetached', detachHandler, true)
45
+ }
46
+ } else {
47
+ console.log('Setting All to undefined')
48
+ setError(undefined)
49
+ setModule(undefined)
50
+ }
51
+ }
52
+ } catch (ex) {
53
+ if (mounted()) {
54
+ const error = ex as Error
55
+ console.log(`Setting Error [${error.message}]`)
56
+ setError(error)
57
+ setModule(undefined)
58
+ }
59
+ }
60
+ },
61
+ [nameOrAddress, node, nodeError, address, filter],
62
+ )
63
+
64
+ return [module, error]
65
+ }
@@ -0,0 +1,45 @@
1
+ import { useAsyncEffect } from '@xylabs/react-shared'
2
+ import { Module, ModuleFilter } from '@xyo-network/module-model'
3
+ import { useState } from 'react'
4
+
5
+ import { useProvidedWrappedNode } from './useProvidedNode'
6
+
7
+ export const useModules = <TModule extends Module = Module>(filter?: ModuleFilter): [TModule[] | undefined, Error | undefined] => {
8
+ const [node, nodeError] = useProvidedWrappedNode()
9
+ const [modules, setModules] = useState<TModule[]>()
10
+ const [error, setError] = useState<Error>()
11
+
12
+ useAsyncEffect(
13
+ // eslint-disable-next-line react-hooks/exhaustive-deps
14
+ async (mounted) => {
15
+ try {
16
+ if (nodeError) {
17
+ setError(nodeError)
18
+ setModules(undefined)
19
+ } else {
20
+ if (node) {
21
+ const modules: TModule[] | undefined = await node.resolve<TModule>(filter)
22
+ if (mounted()) {
23
+ setModules(modules)
24
+ setError(undefined)
25
+ }
26
+ } else {
27
+ console.log('Setting All to undefined')
28
+ setError(undefined)
29
+ setModules(undefined)
30
+ }
31
+ }
32
+ } catch (ex) {
33
+ if (mounted()) {
34
+ const error = ex as Error
35
+ console.log(`Setting Error [${error.message}]`)
36
+ setError(error)
37
+ setModules(undefined)
38
+ }
39
+ }
40
+ },
41
+ [filter, node, nodeError],
42
+ )
43
+
44
+ return [modules, error]
45
+ }
@@ -0,0 +1,51 @@
1
+ import { AccountInstance } from '@xyo-network/account-model'
2
+ import { NodeModule, NodeWrapper } from '@xyo-network/node'
3
+ import { useEffect, useState } from 'react'
4
+
5
+ import { useModule } from './useModule'
6
+ import { useProvidedNode } from './useProvidedNode'
7
+
8
+ //AT: intentionally not exported
9
+ const useNodeModule = (nameOrAddress?: string): [NodeModule | undefined, Error | undefined] => {
10
+ const [providedNode] = useProvidedNode()
11
+ const [node, nodeError] = useModule(nameOrAddress)
12
+
13
+ if (nameOrAddress) {
14
+ if (providedNode) {
15
+ return [node as NodeModule, nodeError]
16
+ } else {
17
+ return [providedNode, undefined]
18
+ }
19
+ } else {
20
+ return [providedNode, undefined]
21
+ }
22
+ }
23
+
24
+ export const useNode = (nameOrAddress?: string, account?: AccountInstance): [NodeWrapper | undefined, Error | undefined] => {
25
+ const [node, nodeError] = useNodeModule()
26
+ const [wrapper, setWrapper] = useState<NodeWrapper>()
27
+ const [error, setError] = useState<Error>()
28
+
29
+ useEffect(() => {
30
+ if (node) {
31
+ if (nodeError) {
32
+ setError(nodeError)
33
+ setWrapper(undefined)
34
+ } else {
35
+ try {
36
+ const wrapper = NodeWrapper.wrap(node, account)
37
+ setWrapper(wrapper)
38
+ setError(undefined)
39
+ } catch (ex) {
40
+ setWrapper(undefined)
41
+ setError(ex as Error)
42
+ }
43
+ }
44
+ } else {
45
+ setWrapper(undefined)
46
+ setError(undefined)
47
+ }
48
+ }, [node, account, nodeError])
49
+
50
+ return [wrapper, error]
51
+ }
@@ -1,22 +1,22 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-shared'
2
2
  import { useState } from 'react'
3
3
 
4
- import { useProvidedNode } from '../hooks'
4
+ import { useNode } from './useNode'
5
5
 
6
- export const useModuleAddresses = () => {
7
- const node = useProvidedNode()
8
- const [attachedAddresses, setAttachedAddresses] = useState<string[]>()
6
+ export const useNodeAttachedAddresses = () => {
7
+ const [node] = useNode()
8
+ const [addresses, setAddresses] = useState<string[]>()
9
9
 
10
10
  useAsyncEffect(
11
11
  // eslint-disable-next-line react-hooks/exhaustive-deps
12
12
  async (mounted) => {
13
13
  const attached = await node?.attached()
14
14
  if (mounted()) {
15
- setAttachedAddresses(attached)
15
+ setAddresses(attached)
16
16
  }
17
17
  },
18
18
  [node],
19
19
  )
20
20
 
21
- return [attachedAddresses, node?.registered()]
21
+ return [addresses, node?.registered()]
22
22
  }
@@ -0,0 +1,31 @@
1
+ import { AccountInstance } from '@xyo-network/account-model'
2
+ import { NodeModule, NodeWrapper } from '@xyo-network/node'
3
+ import { useContext, useEffect, useState } from 'react'
4
+
5
+ import { NodeContext } from '../contexts'
6
+
7
+ export const useProvidedNode = (): [NodeModule | undefined] => {
8
+ const { node } = useContext(NodeContext)
9
+
10
+ return [node]
11
+ }
12
+
13
+ export const useProvidedWrappedNode = (account?: AccountInstance): [NodeWrapper | undefined, Error | undefined] => {
14
+ const [node] = useProvidedNode()
15
+ const [wrappedNode, setWrappedNode] = useState<NodeWrapper>()
16
+ const [error, setError] = useState<Error>()
17
+
18
+ useEffect(() => {
19
+ try {
20
+ if (node) {
21
+ setWrappedNode(NodeWrapper.wrap(node, account))
22
+ setError(undefined)
23
+ }
24
+ } catch (ex) {
25
+ setWrappedNode(undefined)
26
+ setError(ex as Error)
27
+ }
28
+ }, [node, account])
29
+
30
+ return [wrappedNode, error]
31
+ }
@@ -0,0 +1,42 @@
1
+ /* eslint-disable react-hooks/rules-of-hooks */
2
+ import { AccountInstance } from '@xyo-network/account-model'
3
+ import { ModuleWrapper } from '@xyo-network/module'
4
+ import { useEffect, useState } from 'react'
5
+
6
+ import { useModule } from './useModule'
7
+
8
+ export interface WrapperStatic<TModuleWrapper extends ModuleWrapper = ModuleWrapper> {
9
+ requiredQueries: string[]
10
+ wrap: (module?: TModuleWrapper['module'], account?: AccountInstance) => TModuleWrapper
11
+ }
12
+
13
+ export const WrappedModuleHookFactory = <TModuleWrapper extends ModuleWrapper = ModuleWrapper>(wrapperObject: WrapperStatic<TModuleWrapper>) => {
14
+ return (nameOrAddress?: string, account?: AccountInstance): [TModuleWrapper | undefined, Error | undefined] => {
15
+ const [module, moduleError] = useModule<TModuleWrapper['module']>(
16
+ nameOrAddress ?? {
17
+ query: [wrapperObject.requiredQueries],
18
+ },
19
+ )
20
+
21
+ const [wrapper, setWrapper] = useState<TModuleWrapper>()
22
+ const [error, setError] = useState<Error>()
23
+ useEffect(() => {
24
+ if (module) {
25
+ try {
26
+ const wrapper = wrapperObject.wrap(module, account) as TModuleWrapper
27
+ setWrapper(wrapper)
28
+ } catch (ex) {
29
+ setWrapper(undefined)
30
+ setError(ex as Error)
31
+ }
32
+ } else {
33
+ setWrapper(undefined)
34
+ setError(moduleError)
35
+ }
36
+ }, [module, account, moduleError])
37
+
38
+ return [wrapper, error]
39
+ }
40
+ }
41
+
42
+ export const useWrappedModule = WrappedModuleHookFactory(ModuleWrapper)
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useArchiveArchivists = exports.useArchiveArchivistsRaw = void 0;
4
- const archivist_1 = require("@xyo-network/archivist");
5
- const react_shared_1 = require("@xyo-network/react-shared");
6
- const react_1 = require("react");
7
- const hooks_1 = require("../hooks");
8
- const useMemoryNodeUpdates_1 = require("./useMemoryNodeUpdates");
9
- const useArchiveArchivistsRaw = (archiveName, refresher) => {
10
- const node = (0, hooks_1.useProvidedNode)(true);
11
- const buildReq = (0, react_1.useCallback)((type) => (archiveName && node) || refresher
12
- ? node === null || node === void 0 ? void 0 : node.resolveWrapped(archivist_1.ArchivistWrapper, { name: [encodeURIComponent(`${archiveName}[${type}]`)] })
13
- : undefined, [archiveName, node, refresher]);
14
- const payloadArchivistReq = (0, react_1.useMemo)(() => buildReq('payload'), [buildReq]);
15
- const boundWitnessArchivistReq = (0, react_1.useMemo)(() => buildReq('boundwitness'), [buildReq]);
16
- const [archivePayloadWrapper] = (0, react_shared_1.usePromise)(payloadArchivistReq, [payloadArchivistReq]);
17
- const [archiveBoundWitnessWrapper] = (0, react_shared_1.usePromise)(boundWitnessArchivistReq, [boundWitnessArchivistReq]);
18
- const archivists = (0, react_1.useMemo)(() => {
19
- if ((archiveBoundWitnessWrapper === null || archiveBoundWitnessWrapper === void 0 ? void 0 : archiveBoundWitnessWrapper[0]) && (archivePayloadWrapper === null || archivePayloadWrapper === void 0 ? void 0 : archivePayloadWrapper[0])) {
20
- return {
21
- archiveBoundWitnessWrapper: archiveBoundWitnessWrapper[0],
22
- archivePayloadWrapper: archivePayloadWrapper[0],
23
- };
24
- }
25
- else {
26
- return;
27
- }
28
- }, [archiveBoundWitnessWrapper, archivePayloadWrapper]);
29
- return archivists;
30
- };
31
- exports.useArchiveArchivistsRaw = useArchiveArchivistsRaw;
32
- const useArchiveArchivists = (archiveName, refresher, refreshAddresses) => {
33
- const { module } = (0, useMemoryNodeUpdates_1.useMemoryNodeUpdates)(refreshAddresses);
34
- const archivists = (0, exports.useArchiveArchivistsRaw)(archiveName, refresher !== null && refresher !== void 0 ? refresher : module);
35
- return archivists;
36
- };
37
- exports.useArchiveArchivists = useArchiveArchivists;
38
- //# sourceMappingURL=useArchiveArchivists.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useArchiveArchivists.js","sourceRoot":"","sources":["../../../src/contexts/useArchiveArchivists.tsx"],"names":[],"mappings":";;;AAAA,sDAAyD;AACzD,4DAAsD;AACtD,iCAA4C;AAE5C,oCAA0C;AAC1C,iEAA6D;AAOtD,MAAM,uBAAuB,GAAG,CAAC,WAAoB,EAAE,SAAmB,EAAoC,EAAE;IACrH,MAAM,IAAI,GAAG,IAAA,uBAAe,EAAC,IAAI,CAAC,CAAA;IAElC,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAC1B,CAAC,IAAgC,EAAE,EAAE,CACnC,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,SAAS;QAChC,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,CAAC,4BAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,GAAG,WAAW,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;QACnG,CAAC,CAAC,SAAS,EACf,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAC/B,CAAA;IAED,MAAM,mBAAmB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1E,MAAM,wBAAwB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEpF,MAAM,CAAC,qBAAqB,CAAC,GAAG,IAAA,yBAAU,EAAC,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACtF,MAAM,CAAC,0BAA0B,CAAC,GAAG,IAAA,yBAAU,EAAC,wBAAwB,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAErG,MAAM,UAAU,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC9B,IAAI,CAAA,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAG,CAAC,CAAC,MAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAG,CAAC,CAAC,CAAA,EAAE;YACjE,OAAO;gBACL,0BAA0B,EAAE,0BAA0B,CAAC,CAAC,CAAqB;gBAC7E,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,CAAqB;aACpE,CAAA;SACF;aAAM;YACL,OAAM;SACP;IACH,CAAC,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC,CAAA;IAEvD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AA7BY,QAAA,uBAAuB,2BA6BnC;AAEM,MAAM,oBAAoB,GAAG,CAAC,WAAoB,EAAE,SAAmB,EAAE,gBAA2B,EAAE,EAAE;IAC7G,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,2CAAoB,EAAC,gBAAgB,CAAC,CAAA;IACzD,MAAM,UAAU,GAAG,IAAA,+BAAuB,EAAC,WAAW,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,MAAM,CAAC,CAAA;IAE5E,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AALY,QAAA,oBAAoB,wBAKhC"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useArchivistModule = void 0;
4
- const archivist_1 = require("@xyo-network/archivist");
5
- const useModules_1 = require("./useModules");
6
- const useArchivistModule = (filter) => {
7
- const modules = (0, useModules_1.useModules)(filter);
8
- const foundModule = modules === null || modules === void 0 ? void 0 : modules.shift();
9
- return foundModule ? new archivist_1.ArchivistWrapper(foundModule) : undefined;
10
- };
11
- exports.useArchivistModule = useArchivistModule;
12
- //# sourceMappingURL=useArchivistModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useArchivistModule.js","sourceRoot":"","sources":["../../../src/contexts/useArchivistModule.ts"],"names":[],"mappings":";;;AAAA,sDAAyD;AAGzD,6CAAyC;AAElC,MAAM,kBAAkB,GAAG,CAAC,MAAqB,EAAE,EAAE;IAC1D,MAAM,OAAO,GAAG,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAA;IAClC,MAAM,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE,CAAA;IACpC,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,4BAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACpE,CAAC,CAAA;AAJY,QAAA,kBAAkB,sBAI9B"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useArchivistModules = void 0;
4
- const archivist_1 = require("@xyo-network/archivist");
5
- const useModules_1 = require("./useModules");
6
- const useArchivistModules = () => {
7
- const modules = (0, useModules_1.useModules)({ query: [[archivist_1.ArchivistGetQuerySchema]] });
8
- return modules === null || modules === void 0 ? void 0 : modules.map((module) => new archivist_1.ArchivistWrapper(module));
9
- };
10
- exports.useArchivistModules = useArchivistModules;
11
- //# sourceMappingURL=useArchivistModules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useArchivistModules.js","sourceRoot":"","sources":["../../../src/contexts/useArchivistModules.ts"],"names":[],"mappings":";;;AAAA,sDAAkF;AAElF,6CAAyC;AAElC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,OAAO,GAAG,IAAA,uBAAU,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC,mCAAuB,CAAC,CAAC,EAAE,CAAC,CAAA;IAClE,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,4BAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;AAC/D,CAAC,CAAA;AAHY,QAAA,mBAAmB,uBAG/B"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useDivinerModule = void 0;
4
- const diviner_wrapper_1 = require("@xyo-network/diviner-wrapper");
5
- const useModules_1 = require("./useModules");
6
- const useDivinerModule = (filter) => {
7
- const modules = (0, useModules_1.useModules)(filter);
8
- const foundModule = modules === null || modules === void 0 ? void 0 : modules.shift();
9
- return foundModule ? new diviner_wrapper_1.DivinerWrapper(foundModule) : undefined;
10
- };
11
- exports.useDivinerModule = useDivinerModule;
12
- //# sourceMappingURL=useDivinerModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDivinerModule.js","sourceRoot":"","sources":["../../../src/contexts/useDivinerModule.ts"],"names":[],"mappings":";;;AAAA,kEAA6D;AAG7D,6CAAyC;AAElC,MAAM,gBAAgB,GAAG,CAAC,MAAqB,EAAE,EAAE;IACxD,MAAM,OAAO,GAAG,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAA;IAClC,MAAM,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE,CAAA;IACpC,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,gCAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAClE,CAAC,CAAA;AAJY,QAAA,gBAAgB,oBAI5B"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useDivinerModules = void 0;
4
- const diviner_model_1 = require("@xyo-network/diviner-model");
5
- const diviner_wrapper_1 = require("@xyo-network/diviner-wrapper");
6
- const useModules_1 = require("./useModules");
7
- const useDivinerModules = () => {
8
- const modules = (0, useModules_1.useModules)({ query: [[diviner_model_1.XyoDivinerDivineQuerySchema]] });
9
- return modules === null || modules === void 0 ? void 0 : modules.map((module) => new diviner_wrapper_1.DivinerWrapper(module));
10
- };
11
- exports.useDivinerModules = useDivinerModules;
12
- //# sourceMappingURL=useDivinerModules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDivinerModules.js","sourceRoot":"","sources":["../../../src/contexts/useDivinerModules.ts"],"names":[],"mappings":";;;AAAA,8DAAwE;AACxE,kEAA6D;AAE7D,6CAAyC;AAElC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,OAAO,GAAG,IAAA,uBAAU,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC,2CAA2B,CAAC,CAAC,EAAE,CAAC,CAAA;IACtE,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,gCAAc,CAAC,MAAM,CAAC,CAAC,CAAA;AAC7D,CAAC,CAAA;AAHY,QAAA,iBAAiB,qBAG7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMemoryNodeUpdates.js","sourceRoot":"","sources":["../../../src/contexts/useMemoryNodeUpdates.tsx"],"names":[],"mappings":";;;AAEA,iCAA2C;AAE3C,oCAAkC;AAQ3B,MAAM,oBAAoB,GAAG,CAAC,gBAA2B,EAAwB,EAAE;IACxF,MAAM,IAAI,GAAG,IAAA,eAAO,GAAE,CAAA;IACtB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,GAA2B,CAAA;IAE/D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE;YACR,MAAM,MAAM,GAAG,IAAI,CAAC,EAAsC,CAAA;YAC1D,MAAM,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,IAAI,gBAAgB,EAAE;oBACpB,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,MAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,OAAO,CAAA,CAAC;wBAAE,SAAS,CAAC,IAAI,CAAC,CAAA;iBAC1F;qBAAM;oBACL,SAAS,CAAC,IAAI,CAAC,CAAA;iBAChB;YACH,CAAC,CAAC,CAAA;SACH;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAA;IAE5B,OAAO;QACL,MAAM;KACP,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,oBAAoB,wBAoBhC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useModuleAddresses.js","sourceRoot":"","sources":["../../../src/contexts/useModuleAddresses.ts"],"names":[],"mappings":";;;;AAAA,uDAAqD;AACrD,iCAAgC;AAEhC,oCAA0C;AAEnC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,IAAI,GAAG,IAAA,uBAAe,GAAE,CAAA;IAC9B,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,IAAA,gBAAQ,GAAY,CAAA;IAEtE,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;QAChB,MAAM,QAAQ,GAAG,MAAM,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE,CAAA,CAAA;QACvC,IAAI,OAAO,EAAE,EAAE;YACb,oBAAoB,CAAC,QAAQ,CAAC,CAAA;SAC/B;IACH,CAAC,CAAA,EACD,CAAC,IAAI,CAAC,CACP,CAAA;IAED,OAAO,CAAC,iBAAiB,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA;AAhBY,QAAA,kBAAkB,sBAgB9B"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useModules = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_shared_1 = require("@xylabs/react-shared");
6
- const react_1 = require("react");
7
- const hooks_1 = require("../hooks");
8
- const useModules = (filter) => {
9
- const node = (0, hooks_1.useProvidedNode)(true);
10
- const [modules, setModules] = (0, react_1.useState)();
11
- (0, react_shared_1.useAsyncEffect)(
12
- // eslint-disable-next-line react-hooks/exhaustive-deps
13
- (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
14
- const modules = yield (node === null || node === void 0 ? void 0 : node.resolve(filter));
15
- if (mounted()) {
16
- setModules(modules);
17
- }
18
- }), [filter, node]);
19
- return modules;
20
- };
21
- exports.useModules = useModules;
22
- //# sourceMappingURL=useModules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useModules.js","sourceRoot":"","sources":["../../../src/contexts/useModules.ts"],"names":[],"mappings":";;;;AAAA,uDAAqD;AAErD,iCAAgC;AAEhC,oCAA0C;AAEnC,MAAM,UAAU,GAAG,CAA4B,MAAqB,EAAE,EAAE;IAC7E,MAAM,IAAI,GAAG,IAAA,uBAAe,EAAC,IAAI,CAAC,CAAA;IAClC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,GAAO,CAAA;IAE7C,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;QAChB,MAAM,OAAO,GAAG,MAAM,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAI,MAAM,CAAC,CAAA,CAAA;QAC9C,IAAI,OAAO,EAAE,EAAE;YACb,UAAU,CAAC,OAAO,CAAC,CAAA;SACpB;IACH,CAAC,CAAA,EACD,CAAC,MAAM,EAAE,IAAI,CAAC,CACf,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAhBY,QAAA,UAAU,cAgBtB"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useNodeQueryDiviner = exports.useNodeQueryDivinerRaw = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_shared_1 = require("@xylabs/react-shared");
6
- const diviner_wrapper_1 = require("@xyo-network/diviner-wrapper");
7
- const react_shared_2 = require("@xyo-network/react-shared");
8
- const react_1 = require("react");
9
- const hooks_1 = require("../hooks");
10
- const useMemoryNodeUpdates_1 = require("./useMemoryNodeUpdates");
11
- const useNodeQueryDivinerRaw = (moduleIdentifier, query, refresher) => {
12
- const [result, setResult] = (0, react_1.useState)();
13
- const [error, setError] = (0, react_1.useState)();
14
- const node = (0, hooks_1.useProvidedNode)();
15
- (0, react_shared_1.useAsyncEffect)(
16
- // eslint-disable-next-line react-hooks/exhaustive-deps
17
- () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
18
- if (moduleIdentifier && query && node && refresher) {
19
- try {
20
- const divinerModule = (yield node.downResolver.resolve({ name: [moduleIdentifier] })).pop();
21
- (0, react_shared_2.assertDefinedEx)(divinerModule, `Unable to find moduleIdentifier: ${moduleIdentifier}`);
22
- const diviner = diviner_wrapper_1.DivinerWrapper.wrap((0, react_shared_2.assertDefinedEx)(divinerModule, `Unable to find moduleIdentifier: ${moduleIdentifier}`));
23
- const result = yield diviner.divine([query]);
24
- setResult(result);
25
- setError(undefined);
26
- }
27
- catch (e) {
28
- console.error(e);
29
- setResult(undefined);
30
- setError(e);
31
- }
32
- }
33
- }), [moduleIdentifier, node, query, refresher]);
34
- return [result, error];
35
- };
36
- exports.useNodeQueryDivinerRaw = useNodeQueryDivinerRaw;
37
- const useNodeQueryDiviner = (moduleIdentifier, query, refresher, refreshAddresses) => {
38
- const { module } = (0, useMemoryNodeUpdates_1.useMemoryNodeUpdates)(refreshAddresses);
39
- const [result, error] = (0, exports.useNodeQueryDivinerRaw)(moduleIdentifier, query, refresher !== null && refresher !== void 0 ? refresher : !!module);
40
- return [result, error];
41
- };
42
- exports.useNodeQueryDiviner = useNodeQueryDiviner;
43
- //# sourceMappingURL=useNodeQueryDiviner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useNodeQueryDiviner.js","sourceRoot":"","sources":["../../../src/contexts/useNodeQueryDiviner.tsx"],"names":[],"mappings":";;;;AAAA,uDAAqD;AACrD,kEAA6D;AAE7D,4DAA2D;AAC3D,iCAAgC;AAEhC,oCAA0C;AAC1C,iEAA6D;AAEtD,MAAM,sBAAsB,GAAG,CACpC,gBAAyB,EACzB,KAAkB,EAClB,SAAmB,EAC2B,EAAE;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,GAAe,CAAA;IACnD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAS,CAAA;IAC3C,MAAM,IAAI,GAAG,IAAA,uBAAe,GAAE,CAAA;IAE9B,IAAA,6BAAc;IACZ,uDAAuD;IACvD,GAAS,EAAE;QACT,IAAI,gBAAgB,IAAI,KAAK,IAAI,IAAI,IAAI,SAAS,EAAE;YAClD,IAAI;gBACF,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBAC3F,IAAA,8BAAe,EAAC,aAAa,EAAE,oCAAoC,gBAAgB,EAAE,CAAC,CAAA;gBACtF,MAAM,OAAO,GAAG,gCAAc,CAAC,IAAI,CAAC,IAAA,8BAAe,EAAC,aAAa,EAAE,oCAAoC,gBAAgB,EAAE,CAAC,CAAC,CAAA;gBAE3H,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC5C,SAAS,CAAC,MAAM,CAAC,CAAA;gBACjB,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAChB,SAAS,CAAC,SAAS,CAAC,CAAA;gBACpB,QAAQ,CAAC,CAAU,CAAC,CAAA;aACrB;SACF;IACH,CAAC,CAAA,EACD,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAC3C,CAAA;IAED,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA;AAhCY,QAAA,sBAAsB,0BAgClC;AAEM,MAAM,mBAAmB,GAAG,CACjC,gBAAyB,EACzB,KAAkB,EAClB,SAAmB,EACnB,gBAA2B,EACgB,EAAE;IAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,2CAAoB,EAAC,gBAAgB,CAAC,CAAA;IACzD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAA,8BAAsB,EAAC,gBAAgB,EAAE,KAAK,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IAE9F,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA;AAVY,QAAA,mBAAmB,uBAU/B"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useWitnessModule = void 0;
4
- const witness_1 = require("@xyo-network/witness");
5
- const useModules_1 = require("./useModules");
6
- const useWitnessModule = (filter) => {
7
- const modules = (0, useModules_1.useModules)(filter);
8
- const foundModule = modules === null || modules === void 0 ? void 0 : modules.shift();
9
- return foundModule ? new witness_1.WitnessWrapper(foundModule) : undefined;
10
- };
11
- exports.useWitnessModule = useWitnessModule;
12
- //# sourceMappingURL=useWitnessModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWitnessModule.js","sourceRoot":"","sources":["../../../src/contexts/useWitnessModule.ts"],"names":[],"mappings":";;;AACA,kDAAqD;AAErD,6CAAyC;AAElC,MAAM,gBAAgB,GAAG,CAAC,MAAqB,EAAE,EAAE;IACxD,MAAM,OAAO,GAAG,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAA;IAClC,MAAM,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE,CAAA;IACpC,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,wBAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAClE,CAAC,CAAA;AAJY,QAAA,gBAAgB,oBAI5B"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useWitnessModules = void 0;
4
- const witness_1 = require("@xyo-network/witness");
5
- const useModules_1 = require("./useModules");
6
- const useWitnessModules = () => {
7
- const modules = (0, useModules_1.useModules)({ query: [[witness_1.XyoWitnessObserveQuerySchema]] });
8
- return modules === null || modules === void 0 ? void 0 : modules.map((module) => new witness_1.WitnessWrapper(module));
9
- };
10
- exports.useWitnessModules = useWitnessModules;
11
- //# sourceMappingURL=useWitnessModules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWitnessModules.js","sourceRoot":"","sources":["../../../src/contexts/useWitnessModules.ts"],"names":[],"mappings":";;;AAAA,kDAAmF;AAEnF,6CAAyC;AAElC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,OAAO,GAAG,IAAA,uBAAU,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC,sCAA4B,CAAC,CAAC,EAAE,CAAC,CAAA;IACvE,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,wBAAc,CAAC,MAAM,CAAC,CAAC,CAAA;AAC7D,CAAC,CAAA;AAHY,QAAA,iBAAiB,qBAG7B"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createUseModuleHook = void 0;
4
- const tslib_1 = require("tslib");
5
- /* eslint-disable react-hooks/rules-of-hooks */
6
- const react_shared_1 = require("@xylabs/react-shared");
7
- const react_1 = require("react");
8
- const useNode_1 = require("../useNode");
9
- const createUseModuleHook = (wrapFunc) => {
10
- function use(nameOrAddress, wrap = false) {
11
- const node = (0, useNode_1.useProvidedNode)(true);
12
- const [module, setModule] = (0, react_1.useState)();
13
- (0, react_shared_1.useAsyncEffect)(
14
- // eslint-disable-next-line react-hooks/exhaustive-deps
15
- (mounted) => tslib_1.__awaiter(this, void 0, void 0, function* () {
16
- const module = yield (node === null || node === void 0 ? void 0 : node.resolve(nameOrAddress));
17
- if (mounted()) {
18
- setModule(module);
19
- }
20
- }), [node, nameOrAddress]);
21
- return wrap ? wrapFunc(module, typeof wrap === 'boolean' ? undefined : wrap) : module;
22
- }
23
- return use;
24
- };
25
- exports.createUseModuleHook = createUseModuleHook;
26
- //# sourceMappingURL=createUseModuleHook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createUseModuleHook.js","sourceRoot":"","sources":["../../../../src/hooks/useModule/createUseModuleHook.tsx"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAC/C,uDAAqD;AAGrD,iCAAgC;AAEhC,wCAA4C;AAOrC,MAAM,mBAAmB,GAAG,CAKjC,QAAmB,EACnB,EAAE;IAKF,SAAS,GAAG,CAAC,aAAsB,EAAE,OAA0B,KAAK;QAClE,MAAM,IAAI,GAAG,IAAA,yBAAe,EAAC,IAAI,CAAC,CAAA;QAClC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,GAAW,CAAA;QAC/C,IAAA,6BAAc;QACZ,uDAAuD;QACvD,CAAO,OAAO,EAAE,EAAE;YAChB,MAAM,MAAM,GAAG,MAAM,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAU,aAAa,CAAC,CAAA,CAAA;YAC1D,IAAI,OAAO,EAAE,EAAE;gBACb,SAAS,CAAC,MAAM,CAAC,CAAA;aAClB;QACH,CAAC,CAAA,EACD,CAAC,IAAI,EAAE,aAAa,CAAC,CACtB,CAAA;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACvF,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AA5BY,QAAA,mBAAmB,uBA4B/B"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./createUseModuleHook"), exports);
5
- tslib_1.__exportStar(require("./useModule"), exports);
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/useModule/index.ts"],"names":[],"mappings":";;;AAAA,gEAAqC;AACrC,sDAA2B"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useModule = void 0;
4
- const module_1 = require("@xyo-network/module");
5
- const createUseModuleHook_1 = require("./createUseModuleHook");
6
- exports.useModule = (0, createUseModuleHook_1.createUseModuleHook)(module_1.ModuleWrapper.wrap);
7
- //# sourceMappingURL=useModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../../src/hooks/useModule/useModule.tsx"],"names":[],"mappings":";;;AAAA,gDAA2D;AAE3D,+DAA2D;AAE9C,QAAA,SAAS,GAAG,IAAA,yCAAmB,EAAwB,sBAAa,CAAC,IAAI,CAAC,CAAA"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./useNode"), exports);
5
- tslib_1.__exportStar(require("./useProvidedNode"), exports);
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/useNode/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,4DAAiC"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useNode = void 0;
4
- const node_1 = require("@xyo-network/node");
5
- const useModule_1 = require("../useModule");
6
- exports.useNode = (0, useModule_1.createUseModuleHook)(node_1.NodeWrapper.wrap);
7
- //# sourceMappingURL=useNode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../../src/hooks/useNode/useNode.tsx"],"names":[],"mappings":";;;AAAA,4CAA2D;AAE3D,4CAAkD;AAErC,QAAA,OAAO,GAAG,IAAA,+BAAmB,EAA0B,kBAAW,CAAC,IAAI,CAAC,CAAA"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useProvidedNode = void 0;
4
- const node_1 = require("@xyo-network/node");
5
- const react_1 = require("react");
6
- const contexts_1 = require("../../contexts");
7
- function useProvidedNodeFunc(wrap) {
8
- const { node } = (0, react_1.useContext)(contexts_1.NodeContext);
9
- return wrap ? node_1.NodeWrapper.wrap(node) : node;
10
- }
11
- exports.useProvidedNode = useProvidedNodeFunc;
12
- //# sourceMappingURL=useProvidedNode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useProvidedNode.js","sourceRoot":"","sources":["../../../../src/hooks/useNode/useProvidedNode.tsx"],"names":[],"mappings":";;;AAAA,4CAA2D;AAC3D,iCAAkC;AAElC,6CAA4C;AAI5C,SAAS,mBAAmB,CAAC,IAAc;IACzC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,kBAAU,EAAC,sBAAW,CAAC,CAAA;IAExC,OAAO,IAAI,CAAC,CAAC,CAAC,kBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC7C,CAAC;AAEY,QAAA,eAAe,GAAG,mBAAmB,CAAA"}