@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.
- package/dist/cjs/components/Node.js +2 -2
- package/dist/cjs/components/Node.js.map +1 -1
- package/dist/cjs/components/NodeDrawer.js +2 -1
- package/dist/cjs/components/NodeDrawer.js.map +1 -1
- package/dist/cjs/contexts/MemoryProvider.js +3 -3
- package/dist/cjs/contexts/MemoryProvider.js.map +1 -1
- package/dist/cjs/contexts/Node/Context.js.map +1 -0
- package/dist/cjs/contexts/Node/Provider.js +13 -0
- package/dist/cjs/contexts/Node/Provider.js.map +1 -0
- package/dist/cjs/contexts/{State.js.map → Node/State.js.map} +1 -1
- package/dist/cjs/contexts/Node/index.js +7 -0
- package/dist/cjs/contexts/Node/index.js.map +1 -0
- package/dist/cjs/contexts/index.js +1 -5
- package/dist/cjs/contexts/index.js.map +1 -1
- package/dist/cjs/contexts/useArchiveArchivists.js +2 -2
- package/dist/cjs/contexts/useArchiveArchivists.js.map +1 -1
- package/dist/cjs/contexts/useMemoryNodeUpdates.js +4 -3
- package/dist/cjs/contexts/useMemoryNodeUpdates.js.map +1 -1
- package/dist/cjs/contexts/useModuleAddresses.js +2 -2
- package/dist/cjs/contexts/useModuleAddresses.js.map +1 -1
- package/dist/cjs/contexts/useModules.js +2 -2
- package/dist/cjs/contexts/useModules.js.map +1 -1
- package/dist/cjs/contexts/useNodeQueryDiviner.js +2 -2
- package/dist/cjs/contexts/useNodeQueryDiviner.js.map +1 -1
- package/dist/cjs/hooks/index.js +6 -0
- package/dist/cjs/hooks/index.js.map +1 -0
- package/dist/cjs/hooks/useModule/createUseModuleHook.js +26 -0
- package/dist/cjs/hooks/useModule/createUseModuleHook.js.map +1 -0
- package/dist/cjs/hooks/useModule/index.js +6 -0
- package/dist/cjs/hooks/useModule/index.js.map +1 -0
- package/dist/cjs/hooks/useModule/useModule.js +7 -0
- package/dist/cjs/hooks/useModule/useModule.js.map +1 -0
- package/dist/cjs/hooks/useNode/index.js +6 -0
- package/dist/cjs/hooks/useNode/index.js.map +1 -0
- package/dist/cjs/hooks/useNode/useNode.js +7 -0
- package/dist/cjs/hooks/useNode/useNode.js.map +1 -0
- package/dist/cjs/hooks/useNode/useProvidedNode.js +12 -0
- package/dist/cjs/hooks/useNode/useProvidedNode.js.map +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +1377 -723
- package/dist/esm/components/Node.js +2 -2
- package/dist/esm/components/Node.js.map +1 -1
- package/dist/esm/components/NodeDrawer.js +3 -2
- package/dist/esm/components/NodeDrawer.js.map +1 -1
- package/dist/esm/contexts/MemoryProvider.js +3 -3
- package/dist/esm/contexts/MemoryProvider.js.map +1 -1
- package/dist/esm/contexts/Node/Context.js.map +1 -0
- package/dist/esm/contexts/Node/Provider.js +9 -0
- package/dist/esm/contexts/Node/Provider.js.map +1 -0
- package/dist/esm/contexts/{State.js.map → Node/State.js.map} +1 -1
- package/dist/esm/contexts/Node/index.js +4 -0
- package/dist/esm/contexts/Node/index.js.map +1 -0
- package/dist/esm/contexts/index.js +1 -5
- package/dist/esm/contexts/index.js.map +1 -1
- package/dist/esm/contexts/useArchiveArchivists.js +2 -2
- package/dist/esm/contexts/useArchiveArchivists.js.map +1 -1
- package/dist/esm/contexts/useMemoryNodeUpdates.js +3 -2
- package/dist/esm/contexts/useMemoryNodeUpdates.js.map +1 -1
- package/dist/esm/contexts/useModuleAddresses.js +2 -2
- package/dist/esm/contexts/useModuleAddresses.js.map +1 -1
- package/dist/esm/contexts/useModules.js +2 -2
- package/dist/esm/contexts/useModules.js.map +1 -1
- package/dist/esm/contexts/useNodeQueryDiviner.js +2 -2
- package/dist/esm/contexts/useNodeQueryDiviner.js.map +1 -1
- package/dist/esm/hooks/index.js +3 -0
- package/dist/esm/hooks/index.js.map +1 -0
- package/dist/esm/hooks/useModule/createUseModuleHook.js +21 -0
- package/dist/esm/hooks/useModule/createUseModuleHook.js.map +1 -0
- package/dist/esm/hooks/useModule/index.js +3 -0
- package/dist/esm/hooks/useModule/index.js.map +1 -0
- package/dist/esm/hooks/useModule/useModule.js +4 -0
- package/dist/esm/hooks/useModule/useModule.js.map +1 -0
- package/dist/esm/hooks/useNode/index.js +3 -0
- package/dist/esm/hooks/useNode/index.js.map +1 -0
- package/dist/esm/hooks/useNode/useNode.js +4 -0
- package/dist/esm/hooks/useNode/useNode.js.map +1 -0
- package/dist/esm/hooks/useNode/useProvidedNode.js +9 -0
- package/dist/esm/hooks/useNode/useProvidedNode.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/types/components/NodeDrawer.d.ts.map +1 -1
- package/dist/types/contexts/MemoryProvider.d.ts.map +1 -1
- package/dist/types/contexts/Node/Context.d.ts.map +1 -0
- package/dist/types/contexts/Node/Provider.d.ts +8 -0
- package/dist/types/contexts/Node/Provider.d.ts.map +1 -0
- package/dist/types/contexts/{State.d.ts → Node/State.d.ts} +0 -2
- package/dist/types/contexts/Node/State.d.ts.map +1 -0
- package/dist/types/contexts/Node/index.d.ts +4 -0
- package/dist/types/contexts/Node/index.d.ts.map +1 -0
- package/dist/types/contexts/index.d.ts +1 -5
- package/dist/types/contexts/index.d.ts.map +1 -1
- package/dist/types/contexts/useArchiveArchivists.d.ts.map +1 -1
- package/dist/types/contexts/useMemoryNodeUpdates.d.ts.map +1 -1
- package/dist/types/contexts/useModules.d.ts.map +1 -1
- package/dist/types/contexts/useNodeQueryDiviner.d.ts.map +1 -1
- package/dist/types/hooks/index.d.ts +3 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/useModule/createUseModuleHook.d.ts +50 -0
- package/dist/types/hooks/useModule/createUseModuleHook.d.ts.map +1 -0
- package/dist/types/hooks/useModule/index.d.ts +3 -0
- package/dist/types/hooks/useModule/index.d.ts.map +1 -0
- package/dist/types/hooks/useModule/useModule.d.ts +48 -0
- package/dist/types/hooks/useModule/useModule.d.ts.map +1 -0
- package/dist/types/hooks/useNode/index.d.ts +3 -0
- package/dist/types/hooks/useNode/index.d.ts.map +1 -0
- package/dist/types/hooks/useNode/useNode.d.ts +8 -0
- package/dist/types/hooks/useNode/useNode.d.ts.map +1 -0
- package/dist/types/hooks/useNode/useProvidedNode.d.ts +6 -0
- package/dist/types/hooks/useNode/useProvidedNode.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +14 -12
- package/src/components/Node.stories.tsx +4 -3
- package/src/components/Node.tsx +2 -2
- package/src/components/NodeDrawer.stories.tsx +1 -1
- package/src/components/NodeDrawer.tsx +3 -2
- package/src/contexts/MemoryProvider.tsx +3 -7
- package/src/contexts/Node/Provider.tsx +16 -0
- package/src/contexts/{State.ts → Node/State.ts} +0 -2
- package/src/contexts/Node/index.ts +3 -0
- package/src/contexts/index.ts +1 -5
- package/src/contexts/useArchiveArchivists.tsx +2 -3
- package/src/contexts/useMemoryNodeUpdates.tsx +5 -4
- package/src/contexts/useModuleAddresses.ts +2 -2
- package/src/contexts/useModules.ts +2 -3
- package/src/contexts/useNodeQueryDiviner.tsx +2 -3
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useModule/createUseModuleHook.tsx +42 -0
- package/src/hooks/useModule/index.ts +2 -0
- package/src/hooks/useModule/useModule.tsx +5 -0
- package/src/hooks/useNode/index.ts +2 -0
- package/src/hooks/useNode/useNode.tsx +5 -0
- package/src/hooks/useNode/useProvidedNode.tsx +14 -0
- package/src/index.ts +1 -0
- package/dist/cjs/contexts/Context.js.map +0 -1
- package/dist/cjs/contexts/Provider.js +0 -17
- package/dist/cjs/contexts/Provider.js.map +0 -1
- package/dist/cjs/contexts/useModule.js +0 -32
- package/dist/cjs/contexts/useModule.js.map +0 -1
- package/dist/cjs/contexts/useNode.js +0 -32
- package/dist/cjs/contexts/useNode.js.map +0 -1
- package/dist/esm/contexts/Context.js.map +0 -1
- package/dist/esm/contexts/Provider.js +0 -13
- package/dist/esm/contexts/Provider.js.map +0 -1
- package/dist/esm/contexts/useModule.js +0 -26
- package/dist/esm/contexts/useModule.js.map +0 -1
- package/dist/esm/contexts/useNode.js +0 -26
- package/dist/esm/contexts/useNode.js.map +0 -1
- package/dist/types/contexts/Context.d.ts.map +0 -1
- package/dist/types/contexts/Provider.d.ts +0 -13
- package/dist/types/contexts/Provider.d.ts.map +0 -1
- package/dist/types/contexts/State.d.ts.map +0 -1
- package/dist/types/contexts/useModule.d.ts +0 -23
- package/dist/types/contexts/useModule.d.ts.map +0 -1
- package/dist/types/contexts/useNode.d.ts +0 -5
- package/dist/types/contexts/useNode.d.ts.map +0 -1
- package/src/contexts/Provider.tsx +0 -26
- package/src/contexts/useModule.ts +0 -30
- package/src/contexts/useNode.ts +0 -35
- /package/dist/cjs/contexts/{Context.js → Node/Context.js} +0 -0
- /package/dist/cjs/contexts/{State.js → Node/State.js} +0 -0
- /package/dist/esm/contexts/{Context.js → Node/Context.js} +0 -0
- /package/dist/esm/contexts/{State.js → Node/State.js} +0 -0
- /package/dist/types/contexts/{Context.d.ts → Node/Context.d.ts} +0 -0
- /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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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/
|
|
17
|
-
"@xyo-network/
|
|
18
|
-
"@xyo-network/diviner-
|
|
19
|
-
"@xyo-network/
|
|
20
|
-
"@xyo-network/module
|
|
21
|
-
"@xyo-network/
|
|
22
|
-
"@xyo-network/
|
|
23
|
-
"@xyo-network/
|
|
24
|
-
"@xyo-network/
|
|
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.
|
|
29
|
-
"@xylabs/tsconfig-react": "^2.
|
|
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.
|
|
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
|
|
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 =
|
|
26
|
+
const node = useProvidedNode() as MemoryNode
|
|
26
27
|
const [description, setDescription] = useState<string>()
|
|
27
28
|
|
|
28
29
|
useAsyncEffect(
|
package/src/components/Node.tsx
CHANGED
|
@@ -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 {
|
|
6
|
+
import { useProvidedNode } from '../hooks'
|
|
7
7
|
|
|
8
8
|
export const NodeBox: React.FC<FlexBoxProps> = (props) => {
|
|
9
|
-
const node =
|
|
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 {
|
|
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 =
|
|
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 './
|
|
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
|
|
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
|
+
}
|
package/src/contexts/index.ts
CHANGED
|
@@ -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 =
|
|
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 {
|
|
2
|
+
import { ModuleAttachedEventArgs, ModuleAttachedEventEmitter } from '@xyo-network/node'
|
|
3
3
|
import { useEffect, useState } from 'react'
|
|
4
4
|
|
|
5
|
-
import { useNode } from '
|
|
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
|
|
14
|
+
const node = useNode()
|
|
15
15
|
const [module, setModule] = useState<ModuleAttachedEventArgs>()
|
|
16
16
|
|
|
17
17
|
useEffect(() => {
|
|
18
18
|
if (node) {
|
|
19
|
-
node.on
|
|
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 {
|
|
4
|
+
import { useProvidedNode } from '../hooks'
|
|
5
5
|
|
|
6
6
|
export const useModuleAddresses = () => {
|
|
7
|
-
const node =
|
|
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 {
|
|
5
|
+
import { useProvidedNode } from '../hooks'
|
|
7
6
|
|
|
8
7
|
export const useModules = <T extends Module = Module>(filter?: ModuleFilter) => {
|
|
9
|
-
const node =
|
|
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 =
|
|
17
|
+
const node = useProvidedNode()
|
|
19
18
|
|
|
20
19
|
useAsyncEffect(
|
|
21
20
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -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,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 +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
|