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

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 (166) hide show
  1. package/dist/cjs/components/Node.js +2 -2
  2. package/dist/cjs/components/Node.js.map +1 -1
  3. package/dist/cjs/components/NodeDrawer.js +2 -1
  4. package/dist/cjs/components/NodeDrawer.js.map +1 -1
  5. package/dist/cjs/contexts/MemoryProvider.js +3 -3
  6. package/dist/cjs/contexts/MemoryProvider.js.map +1 -1
  7. package/dist/cjs/contexts/Node/Context.js.map +1 -0
  8. package/dist/cjs/contexts/Node/Provider.js +13 -0
  9. package/dist/cjs/contexts/Node/Provider.js.map +1 -0
  10. package/dist/cjs/contexts/{State.js.map → Node/State.js.map} +1 -1
  11. package/dist/cjs/contexts/Node/index.js +7 -0
  12. package/dist/cjs/contexts/Node/index.js.map +1 -0
  13. package/dist/cjs/contexts/index.js +1 -5
  14. package/dist/cjs/contexts/index.js.map +1 -1
  15. package/dist/cjs/contexts/useArchiveArchivists.js +2 -2
  16. package/dist/cjs/contexts/useArchiveArchivists.js.map +1 -1
  17. package/dist/cjs/contexts/useMemoryNodeUpdates.js +4 -3
  18. package/dist/cjs/contexts/useMemoryNodeUpdates.js.map +1 -1
  19. package/dist/cjs/contexts/useModuleAddresses.js +2 -2
  20. package/dist/cjs/contexts/useModuleAddresses.js.map +1 -1
  21. package/dist/cjs/contexts/useModules.js +2 -2
  22. package/dist/cjs/contexts/useModules.js.map +1 -1
  23. package/dist/cjs/contexts/useNodeQueryDiviner.js +2 -2
  24. package/dist/cjs/contexts/useNodeQueryDiviner.js.map +1 -1
  25. package/dist/cjs/hooks/index.js +6 -0
  26. package/dist/cjs/hooks/index.js.map +1 -0
  27. package/dist/cjs/hooks/useModule/createUseModuleHook.js +26 -0
  28. package/dist/cjs/hooks/useModule/createUseModuleHook.js.map +1 -0
  29. package/dist/cjs/hooks/useModule/index.js +6 -0
  30. package/dist/cjs/hooks/useModule/index.js.map +1 -0
  31. package/dist/cjs/hooks/useModule/useModule.js +7 -0
  32. package/dist/cjs/hooks/useModule/useModule.js.map +1 -0
  33. package/dist/cjs/hooks/useNode/index.js +6 -0
  34. package/dist/cjs/hooks/useNode/index.js.map +1 -0
  35. package/dist/cjs/hooks/useNode/useNode.js +7 -0
  36. package/dist/cjs/hooks/useNode/useNode.js.map +1 -0
  37. package/dist/cjs/hooks/useNode/useProvidedNode.js +12 -0
  38. package/dist/cjs/hooks/useNode/useProvidedNode.js.map +1 -0
  39. package/dist/cjs/index.js +1 -0
  40. package/dist/cjs/index.js.map +1 -1
  41. package/dist/docs.json +1377 -723
  42. package/dist/esm/components/Node.js +2 -2
  43. package/dist/esm/components/Node.js.map +1 -1
  44. package/dist/esm/components/NodeDrawer.js +3 -2
  45. package/dist/esm/components/NodeDrawer.js.map +1 -1
  46. package/dist/esm/contexts/MemoryProvider.js +3 -3
  47. package/dist/esm/contexts/MemoryProvider.js.map +1 -1
  48. package/dist/esm/contexts/Node/Context.js.map +1 -0
  49. package/dist/esm/contexts/Node/Provider.js +9 -0
  50. package/dist/esm/contexts/Node/Provider.js.map +1 -0
  51. package/dist/esm/contexts/{State.js.map → Node/State.js.map} +1 -1
  52. package/dist/esm/contexts/Node/index.js +4 -0
  53. package/dist/esm/contexts/Node/index.js.map +1 -0
  54. package/dist/esm/contexts/index.js +1 -5
  55. package/dist/esm/contexts/index.js.map +1 -1
  56. package/dist/esm/contexts/useArchiveArchivists.js +2 -2
  57. package/dist/esm/contexts/useArchiveArchivists.js.map +1 -1
  58. package/dist/esm/contexts/useMemoryNodeUpdates.js +3 -2
  59. package/dist/esm/contexts/useMemoryNodeUpdates.js.map +1 -1
  60. package/dist/esm/contexts/useModuleAddresses.js +2 -2
  61. package/dist/esm/contexts/useModuleAddresses.js.map +1 -1
  62. package/dist/esm/contexts/useModules.js +2 -2
  63. package/dist/esm/contexts/useModules.js.map +1 -1
  64. package/dist/esm/contexts/useNodeQueryDiviner.js +2 -2
  65. package/dist/esm/contexts/useNodeQueryDiviner.js.map +1 -1
  66. package/dist/esm/hooks/index.js +3 -0
  67. package/dist/esm/hooks/index.js.map +1 -0
  68. package/dist/esm/hooks/useModule/createUseModuleHook.js +21 -0
  69. package/dist/esm/hooks/useModule/createUseModuleHook.js.map +1 -0
  70. package/dist/esm/hooks/useModule/index.js +3 -0
  71. package/dist/esm/hooks/useModule/index.js.map +1 -0
  72. package/dist/esm/hooks/useModule/useModule.js +4 -0
  73. package/dist/esm/hooks/useModule/useModule.js.map +1 -0
  74. package/dist/esm/hooks/useNode/index.js +3 -0
  75. package/dist/esm/hooks/useNode/index.js.map +1 -0
  76. package/dist/esm/hooks/useNode/useNode.js +4 -0
  77. package/dist/esm/hooks/useNode/useNode.js.map +1 -0
  78. package/dist/esm/hooks/useNode/useProvidedNode.js +9 -0
  79. package/dist/esm/hooks/useNode/useProvidedNode.js.map +1 -0
  80. package/dist/esm/index.js +1 -0
  81. package/dist/esm/index.js.map +1 -1
  82. package/dist/types/components/NodeDrawer.d.ts.map +1 -1
  83. package/dist/types/contexts/MemoryProvider.d.ts.map +1 -1
  84. package/dist/types/contexts/Node/Context.d.ts.map +1 -0
  85. package/dist/types/contexts/Node/Provider.d.ts +8 -0
  86. package/dist/types/contexts/Node/Provider.d.ts.map +1 -0
  87. package/dist/types/contexts/{State.d.ts → Node/State.d.ts} +0 -2
  88. package/dist/types/contexts/Node/State.d.ts.map +1 -0
  89. package/dist/types/contexts/Node/index.d.ts +4 -0
  90. package/dist/types/contexts/Node/index.d.ts.map +1 -0
  91. package/dist/types/contexts/index.d.ts +1 -5
  92. package/dist/types/contexts/index.d.ts.map +1 -1
  93. package/dist/types/contexts/useArchiveArchivists.d.ts.map +1 -1
  94. package/dist/types/contexts/useMemoryNodeUpdates.d.ts.map +1 -1
  95. package/dist/types/contexts/useModules.d.ts.map +1 -1
  96. package/dist/types/contexts/useNodeQueryDiviner.d.ts.map +1 -1
  97. package/dist/types/hooks/index.d.ts +3 -0
  98. package/dist/types/hooks/index.d.ts.map +1 -0
  99. package/dist/types/hooks/useModule/createUseModuleHook.d.ts +50 -0
  100. package/dist/types/hooks/useModule/createUseModuleHook.d.ts.map +1 -0
  101. package/dist/types/hooks/useModule/index.d.ts +3 -0
  102. package/dist/types/hooks/useModule/index.d.ts.map +1 -0
  103. package/dist/types/hooks/useModule/useModule.d.ts +48 -0
  104. package/dist/types/hooks/useModule/useModule.d.ts.map +1 -0
  105. package/dist/types/hooks/useNode/index.d.ts +3 -0
  106. package/dist/types/hooks/useNode/index.d.ts.map +1 -0
  107. package/dist/types/hooks/useNode/useNode.d.ts +8 -0
  108. package/dist/types/hooks/useNode/useNode.d.ts.map +1 -0
  109. package/dist/types/hooks/useNode/useProvidedNode.d.ts +6 -0
  110. package/dist/types/hooks/useNode/useProvidedNode.d.ts.map +1 -0
  111. package/dist/types/index.d.ts +1 -0
  112. package/dist/types/index.d.ts.map +1 -1
  113. package/package.json +14 -12
  114. package/src/components/Node.stories.tsx +4 -3
  115. package/src/components/Node.tsx +2 -2
  116. package/src/components/NodeDrawer.stories.tsx +1 -1
  117. package/src/components/NodeDrawer.tsx +3 -2
  118. package/src/contexts/MemoryProvider.tsx +3 -7
  119. package/src/contexts/Node/Provider.tsx +16 -0
  120. package/src/contexts/{State.ts → Node/State.ts} +0 -2
  121. package/src/contexts/Node/index.ts +3 -0
  122. package/src/contexts/index.ts +1 -5
  123. package/src/contexts/useArchiveArchivists.tsx +2 -3
  124. package/src/contexts/useMemoryNodeUpdates.tsx +5 -4
  125. package/src/contexts/useModuleAddresses.ts +2 -2
  126. package/src/contexts/useModules.ts +2 -3
  127. package/src/contexts/useNodeQueryDiviner.tsx +2 -3
  128. package/src/hooks/index.ts +2 -0
  129. package/src/hooks/useModule/createUseModuleHook.tsx +42 -0
  130. package/src/hooks/useModule/index.ts +2 -0
  131. package/src/hooks/useModule/useModule.tsx +5 -0
  132. package/src/hooks/useNode/index.ts +2 -0
  133. package/src/hooks/useNode/useNode.tsx +5 -0
  134. package/src/hooks/useNode/useProvidedNode.tsx +14 -0
  135. package/src/index.ts +1 -0
  136. package/dist/cjs/contexts/Context.js.map +0 -1
  137. package/dist/cjs/contexts/Provider.js +0 -17
  138. package/dist/cjs/contexts/Provider.js.map +0 -1
  139. package/dist/cjs/contexts/useModule.js +0 -32
  140. package/dist/cjs/contexts/useModule.js.map +0 -1
  141. package/dist/cjs/contexts/useNode.js +0 -32
  142. package/dist/cjs/contexts/useNode.js.map +0 -1
  143. package/dist/esm/contexts/Context.js.map +0 -1
  144. package/dist/esm/contexts/Provider.js +0 -13
  145. package/dist/esm/contexts/Provider.js.map +0 -1
  146. package/dist/esm/contexts/useModule.js +0 -26
  147. package/dist/esm/contexts/useModule.js.map +0 -1
  148. package/dist/esm/contexts/useNode.js +0 -26
  149. package/dist/esm/contexts/useNode.js.map +0 -1
  150. package/dist/types/contexts/Context.d.ts.map +0 -1
  151. package/dist/types/contexts/Provider.d.ts +0 -13
  152. package/dist/types/contexts/Provider.d.ts.map +0 -1
  153. package/dist/types/contexts/State.d.ts.map +0 -1
  154. package/dist/types/contexts/useModule.d.ts +0 -23
  155. package/dist/types/contexts/useModule.d.ts.map +0 -1
  156. package/dist/types/contexts/useNode.d.ts +0 -5
  157. package/dist/types/contexts/useNode.d.ts.map +0 -1
  158. package/src/contexts/Provider.tsx +0 -26
  159. package/src/contexts/useModule.ts +0 -30
  160. package/src/contexts/useNode.ts +0 -35
  161. /package/dist/cjs/contexts/{Context.js → Node/Context.js} +0 -0
  162. /package/dist/cjs/contexts/{State.js → Node/State.js} +0 -0
  163. /package/dist/esm/contexts/{Context.js → Node/Context.js} +0 -0
  164. /package/dist/esm/contexts/{State.js → Node/State.js} +0 -0
  165. /package/dist/types/contexts/{Context.d.ts → Node/Context.d.ts} +0 -0
  166. /package/src/contexts/{Context.ts → Node/Context.ts} +0 -0
@@ -0,0 +1,8 @@
1
+ import { NodeModule, NodeWrapper } from '@xyo-network/node';
2
+ export declare const useNode: {
3
+ (name?: string | undefined): NodeModule | undefined;
4
+ (name: string | undefined, wrap: true | import("@xyo-network/account").Account): NodeWrapper | undefined;
5
+ (address: string): NodeModule | undefined;
6
+ (address: string, wrap: true | import("@xyo-network/account").Account): NodeWrapper | undefined;
7
+ };
8
+ //# sourceMappingURL=useNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNode/useNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAI3D,eAAO,MAAM,OAAO;;;;;CAAiE,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { NodeModule, NodeWrapper } from '@xyo-network/node';
2
+ declare function useProvidedNodeFunc(wrap?: false): NodeModule | undefined;
3
+ declare function useProvidedNodeFunc(wrap: true): NodeWrapper | undefined;
4
+ export declare const useProvidedNode: typeof useProvidedNodeFunc;
5
+ export {};
6
+ //# sourceMappingURL=useProvidedNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProvidedNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNode/useProvidedNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAK3D,iBAAS,mBAAmB,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS,CAAA;AAClE,iBAAS,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,SAAS,CAAA;AAOjE,eAAO,MAAM,eAAe,4BAAsB,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export * from './components';
2
2
  export * from './contexts';
3
+ export * from './hooks';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
package/package.json CHANGED
@@ -13,20 +13,21 @@
13
13
  "@mui/lab": "^5.0.0-alpha.121",
14
14
  "@xylabs/react-flexbox": "^2.16.8",
15
15
  "@xylabs/react-shared": "^2.16.8",
16
- "@xyo-network/archivist": "^2.50.2",
17
- "@xyo-network/diviner-model": "^2.50.2",
18
- "@xyo-network/diviner-wrapper": "^2.50.2",
19
- "@xyo-network/module": "^2.50.2",
20
- "@xyo-network/module-model": "^2.50.2",
21
- "@xyo-network/node": "^2.50.2",
22
- "@xyo-network/payload-model": "^2.50.2",
23
- "@xyo-network/react-shared": "^2.44.1",
24
- "@xyo-network/witness": "^2.50.2"
16
+ "@xyo-network/account": "^2.51.1",
17
+ "@xyo-network/archivist": "^2.51.1",
18
+ "@xyo-network/diviner-model": "^2.51.1",
19
+ "@xyo-network/diviner-wrapper": "^2.51.1",
20
+ "@xyo-network/module": "^2.51.1",
21
+ "@xyo-network/module-model": "^2.51.1",
22
+ "@xyo-network/node": "^2.51.1",
23
+ "@xyo-network/payload-model": "^2.51.1",
24
+ "@xyo-network/react-shared": "^2.45.0-rc.2",
25
+ "@xyo-network/witness": "^2.51.1"
25
26
  },
26
27
  "devDependencies": {
27
28
  "@storybook/react": "^6.5.16",
28
- "@xylabs/ts-scripts-yarn3": "^2.15.0",
29
- "@xylabs/tsconfig-react": "^2.15.0",
29
+ "@xylabs/ts-scripts-yarn3": "^2.16.0",
30
+ "@xylabs/tsconfig-react": "^2.16.0",
30
31
  "require-from-string": "^2.0.2",
31
32
  "typescript": "^4.9.5"
32
33
  },
@@ -82,5 +83,6 @@
82
83
  },
83
84
  "sideEffects": false,
84
85
  "types": "dist/types/index.d.ts",
85
- "version": "2.44.1"
86
+ "version": "2.45.0-rc.2",
87
+ "stableVersion": "2.44.1"
86
88
  }
@@ -4,7 +4,8 @@ import { AbstractModule } from '@xyo-network/module'
4
4
  import { MemoryNode, NodeConfigSchema, NodeWrapper } from '@xyo-network/node'
5
5
  import { useState } from 'react'
6
6
 
7
- import { MemoryNodeProvider, useNode } from '../contexts'
7
+ import { MemoryNodeProvider } from '../contexts'
8
+ import { useProvidedNode } from '../hooks'
8
9
 
9
10
  class TestModule extends AbstractModule {}
10
11
 
@@ -18,11 +19,11 @@ const MemoryNodeDecorator: DecoratorFn = (Story, args) => {
18
19
 
19
20
  // eslint-disable-next-line import/no-default-export
20
21
  export default {
21
- title: 'node/NodeBox',
22
+ title: 'modules/node/NodeBox',
22
23
  } as Meta
23
24
 
24
25
  const Template: ComponentStory<React.FC> = (props) => {
25
- const node = useNode<MemoryNode>()
26
+ const node = useProvidedNode() as MemoryNode
26
27
  const [description, setDescription] = useState<string>()
27
28
 
28
29
  useAsyncEffect(
@@ -3,10 +3,10 @@ import { useAsyncEffect } from '@xylabs/react-shared'
3
3
  import { NodeWrapper } from '@xyo-network/node'
4
4
  import { useState } from 'react'
5
5
 
6
- import { useNode } from '../contexts'
6
+ import { useProvidedNode } from '../hooks'
7
7
 
8
8
  export const NodeBox: React.FC<FlexBoxProps> = (props) => {
9
- const node = useNode()
9
+ const node = useProvidedNode()
10
10
  const [description, setDescription] = useState<string>()
11
11
 
12
12
  useAsyncEffect(
@@ -17,7 +17,7 @@ const ProviderDecorator: DecoratorFn = (Story, args) => (
17
17
  const StorybookEntry = {
18
18
  component: NodeDrawer,
19
19
  decorators: [ProviderDecorator],
20
- title: 'node/NodeDrawer',
20
+ title: 'modules/node/NodeDrawer',
21
21
  } as ComponentMeta<typeof NodeDrawer>
22
22
 
23
23
  const Template: ComponentStory<typeof NodeDrawer> = (args) => {
@@ -3,14 +3,15 @@ import { ClickAwayListener, Drawer, DrawerProps, IconButton } from '@mui/materia
3
3
  import { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'
4
4
  import { WithChildren } from '@xylabs/react-shared'
5
5
 
6
- import { useNode, useNodeDrawer } from '../contexts'
6
+ import { useNodeDrawer } from '../contexts'
7
+ import { useProvidedNode } from '../hooks'
7
8
  import { ModuleDescriptionBox } from './render'
8
9
 
9
10
  export interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {}
10
11
 
11
12
  export const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {
12
13
  const { open, setOpen } = useNodeDrawer()
13
- const node = useNode()
14
+ const node = useProvidedNode()
14
15
 
15
16
  return (
16
17
  <Drawer open={open ?? false} anchor="right" {...props}>
@@ -3,7 +3,7 @@ import { ModuleParams } from '@xyo-network/module'
3
3
  import { MemoryNode, NodeConfig } from '@xyo-network/node'
4
4
  import { useState } from 'react'
5
5
 
6
- import { NodeProvider } from './Provider'
6
+ import { NodeProvider } from './Node'
7
7
 
8
8
  export type MemoryNodeProviderProps = WithChildren<{
9
9
  moduleParams?: ModuleParams<NodeConfig>
@@ -11,7 +11,7 @@ export type MemoryNodeProviderProps = WithChildren<{
11
11
  }> &
12
12
  ModuleParams<NodeConfig>
13
13
 
14
- export const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children, moduleParams, required = false }) => {
14
+ export const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children, moduleParams }) => {
15
15
  const [node, setNode] = useState<MemoryNode>()
16
16
 
17
17
  useAsyncEffect(
@@ -25,9 +25,5 @@ export const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children
25
25
  [moduleParams],
26
26
  )
27
27
 
28
- return (
29
- <NodeProvider node={node} required={required}>
30
- {children}
31
- </NodeProvider>
32
- )
28
+ return <NodeProvider node={node}>{children}</NodeProvider>
33
29
  }
@@ -0,0 +1,16 @@
1
+ import { WithChildren } from '@xylabs/react-shared'
2
+ import { NodeModule } from '@xyo-network/node'
3
+ import { useMemo } from 'react'
4
+
5
+ import { NodeContext } from './Context'
6
+
7
+ export interface NodeProviderProps {
8
+ node?: NodeModule
9
+ }
10
+
11
+ export const NodeProvider: React.FC<WithChildren<NodeProviderProps>> = ({ node, children }) => {
12
+ //save a reference to it
13
+ const memoNode = useMemo(() => node, [node])
14
+
15
+ return <NodeContext.Provider value={{ node: memoNode, provided: true }}>{children}</NodeContext.Provider>
16
+ }
@@ -1,7 +1,5 @@
1
1
  import { NodeModule } from '@xyo-network/node'
2
- import { Dispatch } from 'react'
3
2
 
4
3
  export interface NodeContextState {
5
4
  node?: NodeModule
6
- setNode?: Dispatch<NodeModule>
7
5
  }
@@ -0,0 +1,3 @@
1
+ export * from './Context'
2
+ export * from './Provider'
3
+ export * from './State'
@@ -1,19 +1,15 @@
1
- export * from './Context'
2
1
  export * from './MemoryProvider'
3
2
  export * from './ModuleRepository'
3
+ export * from './Node'
4
4
  export * from './NodeDrawerContext'
5
- export * from './Provider'
6
- export * from './State'
7
5
  export * from './useArchiveArchivists'
8
6
  export * from './useArchivistModule'
9
7
  export * from './useArchivistModules'
10
8
  export * from './useDivinerModule'
11
9
  export * from './useDivinerModules'
12
10
  export * from './useMemoryNodeUpdates'
13
- export * from './useModule'
14
11
  export * from './useModuleAddresses'
15
12
  export * from './useModules'
16
- export * from './useNode'
17
13
  export * from './useNodeQueryDiviner'
18
14
  export * from './useWitnessModule'
19
15
  export * from './useWitnessModules'
@@ -1,10 +1,9 @@
1
1
  import { ArchivistWrapper } from '@xyo-network/archivist'
2
- import { MemoryNode } from '@xyo-network/node'
3
2
  import { usePromise } from '@xyo-network/react-shared'
4
3
  import { useCallback, useMemo } from 'react'
5
4
 
5
+ import { useProvidedNode } from '../hooks'
6
6
  import { useMemoryNodeUpdates } from './useMemoryNodeUpdates'
7
- import { useWrappedNode } from './useNode'
8
7
 
9
8
  interface UseArchiveArchivists {
10
9
  archiveBoundWitnessWrapper: ArchivistWrapper
@@ -12,7 +11,7 @@ interface UseArchiveArchivists {
12
11
  }
13
12
 
14
13
  export const useArchiveArchivistsRaw = (archiveName?: string, refresher?: unknown): UseArchiveArchivists | undefined => {
15
- const node = useWrappedNode<MemoryNode>()
14
+ const node = useProvidedNode(true)
16
15
 
17
16
  const buildReq = useCallback(
18
17
  (type: 'payload' | 'boundwitness') =>
@@ -1,8 +1,8 @@
1
1
  import { ModuleResolver } from '@xyo-network/module-model'
2
- import { MemoryNode, ModuleAttachedEventArgs } from '@xyo-network/node'
2
+ import { ModuleAttachedEventArgs, ModuleAttachedEventEmitter } from '@xyo-network/node'
3
3
  import { useEffect, useState } from 'react'
4
4
 
5
- import { useNode } from './useNode'
5
+ import { useNode } from '../hooks'
6
6
 
7
7
  interface UseMemoryNodeUpdates {
8
8
  module?: ModuleAttachedEventArgs
@@ -11,12 +11,13 @@ interface UseMemoryNodeUpdates {
11
11
  }
12
12
 
13
13
  export const useMemoryNodeUpdates = (refreshAddresses?: string[]): UseMemoryNodeUpdates => {
14
- const node = useNode<MemoryNode>()
14
+ const node = useNode()
15
15
  const [module, setModule] = useState<ModuleAttachedEventArgs>()
16
16
 
17
17
  useEffect(() => {
18
18
  if (node) {
19
- node.on('moduleAttached', (args) => {
19
+ const onFunc = node.on as ModuleAttachedEventEmitter['on']
20
+ onFunc('moduleAttached', (args) => {
20
21
  if (refreshAddresses) {
21
22
  if (refreshAddresses.some((address) => address === args?.module.address)) setModule(args)
22
23
  } else {
@@ -1,10 +1,10 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-shared'
2
2
  import { useState } from 'react'
3
3
 
4
- import { useNode } from './useNode'
4
+ import { useProvidedNode } from '../hooks'
5
5
 
6
6
  export const useModuleAddresses = () => {
7
- const node = useNode()
7
+ const node = useProvidedNode()
8
8
  const [attachedAddresses, setAttachedAddresses] = useState<string[]>()
9
9
 
10
10
  useAsyncEffect(
@@ -1,12 +1,11 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-shared'
2
2
  import { Module, ModuleFilter } from '@xyo-network/module'
3
- import { NodeModule } from '@xyo-network/node'
4
3
  import { useState } from 'react'
5
4
 
6
- import { useWrappedNode } from './useNode'
5
+ import { useProvidedNode } from '../hooks'
7
6
 
8
7
  export const useModules = <T extends Module = Module>(filter?: ModuleFilter) => {
9
- const node = useWrappedNode<NodeModule>()
8
+ const node = useProvidedNode(true)
10
9
  const [modules, setModules] = useState<T[]>()
11
10
 
12
11
  useAsyncEffect(
@@ -1,12 +1,11 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-shared'
2
2
  import { DivinerWrapper } from '@xyo-network/diviner-wrapper'
3
- import { MemoryNode } from '@xyo-network/node'
4
3
  import { XyoPayload, XyoPayloads } from '@xyo-network/payload-model'
5
4
  import { assertDefinedEx } from '@xyo-network/react-shared'
6
5
  import { useState } from 'react'
7
6
 
7
+ import { useProvidedNode } from '../hooks'
8
8
  import { useMemoryNodeUpdates } from './useMemoryNodeUpdates'
9
- import { useNode } from './useNode'
10
9
 
11
10
  export const useNodeQueryDivinerRaw = (
12
11
  moduleIdentifier?: string,
@@ -15,7 +14,7 @@ export const useNodeQueryDivinerRaw = (
15
14
  ): [XyoPayloads | undefined, Error | undefined] => {
16
15
  const [result, setResult] = useState<XyoPayloads>()
17
16
  const [error, setError] = useState<Error>()
18
- const node = useNode<MemoryNode>()
17
+ const node = useProvidedNode()
19
18
 
20
19
  useAsyncEffect(
21
20
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -0,0 +1,2 @@
1
+ export * from './useModule'
2
+ export * from './useNode'
@@ -0,0 +1,42 @@
1
+ /* eslint-disable react-hooks/rules-of-hooks */
2
+ import { useAsyncEffect } from '@xylabs/react-shared'
3
+ import { Account } from '@xyo-network/account'
4
+ import { Module, ModuleWrapper } from '@xyo-network/module'
5
+ import { useState } from 'react'
6
+
7
+ import { useProvidedNode } from '../useNode'
8
+
9
+ export type WrapFunc<TModule extends Module = Module, TWrapper extends ModuleWrapper = ModuleWrapper> = (
10
+ module?: TModule,
11
+ account?: Account,
12
+ ) => TWrapper
13
+
14
+ export const createUseModuleHook = <
15
+ TModule extends Module = Module,
16
+ TWrapper extends ModuleWrapper = ModuleWrapper,
17
+ TWrapFunc extends WrapFunc<TModule, TWrapper> = WrapFunc<TModule, TWrapper>,
18
+ >(
19
+ wrapFunc: TWrapFunc,
20
+ ) => {
21
+ function use(name?: string): TModule | undefined
22
+ function use(name: string | undefined, wrap: true | Account): TWrapper | undefined
23
+ function use(address: string): TModule | undefined
24
+ function use(address: string, wrap: true | Account): TWrapper | undefined
25
+ function use(nameOrAddress?: string, wrap: boolean | Account = false): TWrapper | TModule | undefined {
26
+ const node = useProvidedNode(true)
27
+ const [module, setModule] = useState<TModule>()
28
+ useAsyncEffect(
29
+ // eslint-disable-next-line react-hooks/exhaustive-deps
30
+ async (mounted) => {
31
+ const module = await node?.resolve<TModule>(nameOrAddress)
32
+ if (mounted()) {
33
+ setModule(module)
34
+ }
35
+ },
36
+ [node, nameOrAddress],
37
+ )
38
+
39
+ return wrap ? wrapFunc(module, typeof wrap === 'boolean' ? undefined : wrap) : module
40
+ }
41
+ return use
42
+ }
@@ -0,0 +1,2 @@
1
+ export * from './createUseModuleHook'
2
+ export * from './useModule'
@@ -0,0 +1,5 @@
1
+ import { Module, ModuleWrapper } from '@xyo-network/module'
2
+
3
+ import { createUseModuleHook } from './createUseModuleHook'
4
+
5
+ export const useModule = createUseModuleHook<Module, ModuleWrapper>(ModuleWrapper.wrap)
@@ -0,0 +1,2 @@
1
+ export * from './useNode'
2
+ export * from './useProvidedNode'
@@ -0,0 +1,5 @@
1
+ import { NodeModule, NodeWrapper } from '@xyo-network/node'
2
+
3
+ import { createUseModuleHook } from '../useModule'
4
+
5
+ export const useNode = createUseModuleHook<NodeModule, NodeWrapper>(NodeWrapper.wrap)
@@ -0,0 +1,14 @@
1
+ import { NodeModule, NodeWrapper } from '@xyo-network/node'
2
+ import { useContext } from 'react'
3
+
4
+ import { NodeContext } from '../../contexts'
5
+
6
+ function useProvidedNodeFunc(wrap?: false): NodeModule | undefined
7
+ function useProvidedNodeFunc(wrap: true): NodeWrapper | undefined
8
+ function useProvidedNodeFunc(wrap?: boolean): NodeModule | undefined {
9
+ const { node } = useContext(NodeContext)
10
+
11
+ return wrap ? NodeWrapper.wrap(node) : node
12
+ }
13
+
14
+ export const useProvidedNode = useProvidedNodeFunc
package/src/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './components'
2
2
  export * from './contexts'
3
+ export * from './hooks'
@@ -1 +0,0 @@
1
- {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../src/contexts/Context.ts"],"names":[],"mappings":";;;AAAA,4DAA2D;AAI9C,QAAA,WAAW,GAAG,IAAA,8BAAe,GAAoB,CAAA"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XyoNodeProvider = exports.NodeProvider = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const Context_1 = require("./Context");
7
- const NodeProvider = ({ node: nodeProp, required = false, children }) => {
8
- const [node, setNode] = (0, react_1.useState)();
9
- (0, react_1.useEffect)(() => {
10
- setNode(nodeProp);
11
- }, [nodeProp]);
12
- return !required || node ? (0, jsx_runtime_1.jsx)(Context_1.NodeContext.Provider, Object.assign({ value: { node, provided: true, setNode } }, { children: children })) : null;
13
- };
14
- exports.NodeProvider = NodeProvider;
15
- /** @deprecated use NodeProvider instead */
16
- exports.XyoNodeProvider = exports.NodeProvider;
17
- //# sourceMappingURL=Provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";;;;AAEA,iCAA2C;AAE3C,uCAAuC;AAUhC,MAAM,YAAY,GAA8C,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IACxH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,GAAc,CAAA;IAE9C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,uBAAC,qBAAW,CAAC,QAAQ,kBAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAG,QAAQ,IAAwB,CAAC,CAAC,CAAC,IAAI,CAAA;AACrI,CAAC,CAAA;AARY,QAAA,YAAY,gBAQxB;AAED,2CAA2C;AAC9B,QAAA,eAAe,GAAG,oBAAY,CAAA"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useModule = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_shared_1 = require("@xylabs/react-shared");
6
- const module_1 = require("@xyo-network/module");
7
- const react_1 = require("react");
8
- const useNode_1 = require("./useNode");
9
- const useModule = (addressOrName, query = [[module_1.ModuleDiscoverQuerySchema]]) => {
10
- const node = (0, useNode_1.useWrappedNode)();
11
- const [module, setModule] = (0, react_1.useState)();
12
- (0, react_shared_1.useAsyncEffect)(
13
- // eslint-disable-next-line react-hooks/exhaustive-deps
14
- (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
15
- var _a;
16
- if (addressOrName) {
17
- const module = yield (node === null || node === void 0 ? void 0 : node.resolve(addressOrName));
18
- if (mounted()) {
19
- setModule(module);
20
- }
21
- }
22
- else {
23
- const module = (_a = (yield (node === null || node === void 0 ? void 0 : node.resolve({ query })))) === null || _a === void 0 ? void 0 : _a.pop();
24
- if (mounted()) {
25
- setModule(module);
26
- }
27
- }
28
- }), [node, addressOrName, query]);
29
- return module;
30
- };
31
- exports.useModule = useModule;
32
- //# sourceMappingURL=useModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/contexts/useModule.ts"],"names":[],"mappings":";;;;AAAA,uDAAqD;AACrD,gDAAuE;AACvE,iCAAgC;AAEhC,uCAA0C;AAEnC,MAAM,SAAS,GAAG,CAAkC,aAAsB,EAAE,QAAoB,CAAC,CAAC,kCAAyB,CAAC,CAAC,EAAE,EAAE;IACtI,MAAM,IAAI,GAAG,IAAA,wBAAc,GAAE,CAAA;IAC7B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,GAAW,CAAA;IAE/C,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;;QAChB,IAAI,aAAa,EAAE;YACjB,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;SACF;aAAM;YACL,MAAM,MAAM,GAAG,MAAA,CAAC,MAAM,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAU,EAAE,KAAK,EAAE,CAAC,CAAA,CAAC,0CAAE,GAAG,EAAE,CAAA;YAC/D,IAAI,OAAO,EAAE,EAAE;gBACb,SAAS,CAAC,MAAM,CAAC,CAAA;aAClB;SACF;IACH,CAAC,CAAA,EACD,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAC7B,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAvBY,QAAA,SAAS,aAuBrB"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useWrappedNode = exports.useNode = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_shared_1 = require("@xylabs/react-shared");
6
- const node_1 = require("@xyo-network/node");
7
- const react_1 = require("react");
8
- const Context_1 = require("./Context");
9
- const useNode = (nameOrAddress) => {
10
- const { node } = (0, react_1.useContext)(Context_1.NodeContext);
11
- const [resolvedNode, setResolvedNode] = (0, react_1.useState)();
12
- (0, react_shared_1.useAsyncEffect)(
13
- // eslint-disable-next-line react-hooks/exhaustive-deps
14
- (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
15
- const resolvedNode = (node && nameOrAddress ? yield node_1.NodeWrapper.wrap(node).resolve(nameOrAddress) : node);
16
- if (mounted()) {
17
- setResolvedNode(resolvedNode);
18
- }
19
- }), [node, nameOrAddress]);
20
- return resolvedNode;
21
- };
22
- exports.useNode = useNode;
23
- const useWrappedNode = (nameOrAddress, account) => {
24
- const node = (0, exports.useNode)(nameOrAddress);
25
- const [wrappedNode, setWrappedNode] = (0, react_1.useState)();
26
- (0, react_1.useEffect)(() => {
27
- setWrappedNode(node ? node_1.NodeWrapper.wrap(node, account) : undefined);
28
- }, [node]);
29
- return wrappedNode;
30
- };
31
- exports.useWrappedNode = useWrappedNode;
32
- //# sourceMappingURL=useNode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/contexts/useNode.ts"],"names":[],"mappings":";;;;AAAA,uDAAqD;AAErD,4CAA2D;AAC3D,iCAAuD;AAEvD,uCAAuC;AAEhC,MAAM,OAAO,GAAG,CAAoC,aAAsB,EAAiB,EAAE;IAClG,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,kBAAU,EAAC,qBAAW,CAAC,CAAA;IACxC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,GAAK,CAAA;IAErD,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;QAChB,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,kBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAkB,CAAA;QAC1H,IAAI,OAAO,EAAE,EAAE;YACb,eAAe,CAAC,YAAY,CAAC,CAAA;SAC9B;IACH,CAAC,CAAA,EACD,CAAC,IAAI,EAAE,aAAa,CAAC,CACtB,CAAA;IAED,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAhBY,QAAA,OAAO,WAgBnB;AAEM,MAAM,cAAc,GAAG,CAAoC,aAAsB,EAAE,OAAiB,EAA2B,EAAE;IACtI,MAAM,IAAI,GAAG,IAAA,eAAO,EAAI,aAAa,CAAC,CAAA;IACtC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,GAAe,CAAA;IAE7D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACpE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AATY,QAAA,cAAc,kBAS1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../src/contexts/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAI3D,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,EAAoB,CAAA"}
@@ -1,13 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useState } from 'react';
3
- import { NodeContext } from './Context';
4
- export const NodeProvider = ({ node: nodeProp, required = false, children }) => {
5
- const [node, setNode] = useState();
6
- useEffect(() => {
7
- setNode(nodeProp);
8
- }, [nodeProp]);
9
- return !required || node ? _jsx(NodeContext.Provider, { value: { node, provided: true, setNode }, children: children }) : null;
10
- };
11
- /** @deprecated use NodeProvider instead */
12
- export const XyoNodeProvider = NodeProvider;
13
- //# sourceMappingURL=Provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAUvC,MAAM,CAAC,MAAM,YAAY,GAA8C,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IACxH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,EAAc,CAAA;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAG,QAAQ,GAAwB,CAAC,CAAC,CAAC,IAAI,CAAA;AACrI,CAAC,CAAA;AAED,2CAA2C;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAA"}
@@ -1,26 +0,0 @@
1
- import { useAsyncEffect } from '@xylabs/react-shared';
2
- import { ModuleDiscoverQuerySchema } from '@xyo-network/module';
3
- import { useState } from 'react';
4
- import { useWrappedNode } from './useNode';
5
- export const useModule = (addressOrName, query = [[ModuleDiscoverQuerySchema]]) => {
6
- const node = useWrappedNode();
7
- const [module, setModule] = useState();
8
- useAsyncEffect(
9
- // eslint-disable-next-line react-hooks/exhaustive-deps
10
- async (mounted) => {
11
- if (addressOrName) {
12
- const module = await node?.resolve(addressOrName);
13
- if (mounted()) {
14
- setModule(module);
15
- }
16
- }
17
- else {
18
- const module = (await node?.resolve({ query }))?.pop();
19
- if (mounted()) {
20
- setModule(module);
21
- }
22
- }
23
- }, [node, addressOrName, query]);
24
- return module;
25
- };
26
- //# sourceMappingURL=useModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/contexts/useModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAU,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAkC,aAAsB,EAAE,QAAoB,CAAC,CAAC,yBAAyB,CAAC,CAAC,EAAE,EAAE;IACtI,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAW,CAAA;IAE/C,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,aAAa,EAAE;YACjB,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,OAAO,CAAU,aAAa,CAAC,CAAA;YAC1D,IAAI,OAAO,EAAE,EAAE;gBACb,SAAS,CAAC,MAAM,CAAC,CAAA;aAClB;SACF;aAAM;YACL,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,EAAE,OAAO,CAAU,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAA;YAC/D,IAAI,OAAO,EAAE,EAAE;gBACb,SAAS,CAAC,MAAM,CAAC,CAAA;aAClB;SACF;IACH,CAAC,EACD,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAC7B,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
@@ -1,26 +0,0 @@
1
- import { useAsyncEffect } from '@xylabs/react-shared';
2
- import { NodeWrapper } from '@xyo-network/node';
3
- import { useContext, useEffect, useState } from 'react';
4
- import { NodeContext } from './Context';
5
- export const useNode = (nameOrAddress) => {
6
- const { node } = useContext(NodeContext);
7
- const [resolvedNode, setResolvedNode] = useState();
8
- useAsyncEffect(
9
- // eslint-disable-next-line react-hooks/exhaustive-deps
10
- async (mounted) => {
11
- const resolvedNode = (node && nameOrAddress ? await NodeWrapper.wrap(node).resolve(nameOrAddress) : node);
12
- if (mounted()) {
13
- setResolvedNode(resolvedNode);
14
- }
15
- }, [node, nameOrAddress]);
16
- return resolvedNode;
17
- };
18
- export const useWrappedNode = (nameOrAddress, account) => {
19
- const node = useNode(nameOrAddress);
20
- const [wrappedNode, setWrappedNode] = useState();
21
- useEffect(() => {
22
- setWrappedNode(node ? NodeWrapper.wrap(node, account) : undefined);
23
- }, [node]);
24
- return wrappedNode;
25
- };
26
- //# sourceMappingURL=useNode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/contexts/useNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAoC,aAAsB,EAAiB,EAAE;IAClG,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACxC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAK,CAAA;IAErD,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAkB,CAAA;QAC1H,IAAI,OAAO,EAAE,EAAE;YACb,eAAe,CAAC,YAAY,CAAC,CAAA;SAC9B;IACH,CAAC,EACD,CAAC,IAAI,EAAE,aAAa,CAAC,CACtB,CAAA;IAED,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAoC,aAAsB,EAAE,OAAiB,EAA2B,EAAE;IACtI,MAAM,IAAI,GAAG,OAAO,CAAI,aAAa,CAAC,CAAA;IACtC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAe,CAAA;IAE7D,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACpE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/contexts/Context.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,eAAO,MAAM,WAAW,gGAAsC,CAAA"}
@@ -1,13 +0,0 @@
1
- /// <reference types="react" />
2
- import { WithChildren } from '@xylabs/react-shared';
3
- import { NodeModule } from '@xyo-network/node';
4
- export interface NodeProviderProps {
5
- node?: NodeModule;
6
- required?: boolean;
7
- }
8
- /** @deprecated use NodeProviderProps instead */
9
- export type XyoNodeProviderProps = NodeProviderProps;
10
- export declare const NodeProvider: React.FC<WithChildren<NodeProviderProps>>;
11
- /** @deprecated use NodeProvider instead */
12
- export declare const XyoNodeProvider: import("react").FC<WithChildren<NodeProviderProps>>;
13
- //# sourceMappingURL=Provider.d.ts.map