@xyo-network/react-node 2.45.0-rc.3 → 2.45.0-rc.30
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/hooks/index.js +2 -10
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useMemoryNodeUpdates.js +1 -1
- package/dist/cjs/hooks/useMemoryNodeUpdates.js.map +1 -1
- package/dist/cjs/hooks/useModule.js +71 -4
- package/dist/cjs/hooks/useModule.js.map +1 -1
- package/dist/cjs/hooks/useModules.js +29 -6
- package/dist/cjs/hooks/useModules.js.map +1 -1
- package/dist/cjs/hooks/useNode.js +48 -5
- package/dist/cjs/hooks/useNode.js.map +1 -1
- package/dist/cjs/hooks/{useModuleAddresses.js → useNodeAttachedAddresses.js} +9 -9
- package/dist/cjs/hooks/useNodeAttachedAddresses.js.map +1 -0
- package/dist/cjs/hooks/useProvidedNode.js +32 -5
- package/dist/cjs/hooks/useProvidedNode.js.map +1 -1
- package/dist/cjs/hooks/useWrappedModule.js +49 -0
- package/dist/cjs/hooks/useWrappedModule.js.map +1 -0
- package/dist/docs.json +738 -2020
- package/dist/esm/hooks/index.js +2 -10
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useMemoryNodeUpdates.js +1 -1
- package/dist/esm/hooks/useMemoryNodeUpdates.js.map +1 -1
- package/dist/esm/hooks/useModule.js +69 -4
- package/dist/esm/hooks/useModule.js.map +1 -1
- package/dist/esm/hooks/useModules.js +30 -7
- package/dist/esm/hooks/useModules.js.map +1 -1
- package/dist/esm/hooks/useNode.js +47 -5
- package/dist/esm/hooks/useNode.js.map +1 -1
- package/dist/esm/hooks/useNodeAttachedAddresses.js +17 -0
- package/dist/esm/hooks/useNodeAttachedAddresses.js.map +1 -0
- package/dist/esm/hooks/useProvidedNode.js +30 -5
- package/dist/esm/hooks/useProvidedNode.js.map +1 -1
- package/dist/esm/hooks/useWrappedModule.js +45 -0
- package/dist/esm/hooks/useWrappedModule.js.map +1 -0
- package/dist/types/hooks/index.d.ts +2 -10
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/useModule.d.ts +23 -47
- package/dist/types/hooks/useModule.d.ts.map +1 -1
- package/dist/types/hooks/useModules.d.ts +5 -5
- package/dist/types/hooks/useModules.d.ts.map +1 -1
- package/dist/types/hooks/useNode.d.ts +3 -7
- package/dist/types/hooks/useNode.d.ts.map +1 -1
- package/dist/types/hooks/useNodeAttachedAddresses.d.ts +2 -0
- package/dist/types/hooks/useNodeAttachedAddresses.d.ts.map +1 -0
- package/dist/types/hooks/useProvidedNode.d.ts +3 -4
- package/dist/types/hooks/useProvidedNode.d.ts.map +1 -1
- package/dist/types/hooks/useWrappedModule.d.ts +39 -0
- package/dist/types/hooks/useWrappedModule.d.ts.map +1 -0
- package/package.json +16 -16
- package/src/components/Node.stories.tsx +35 -9
- package/src/hooks/index.ts +2 -10
- package/src/hooks/useMemoryNodeUpdates.tsx +1 -1
- package/src/hooks/useModule.tsx +77 -4
- package/src/hooks/useModules.ts +30 -10
- package/src/hooks/useNode.tsx +47 -5
- package/src/hooks/{useModuleAddresses.ts → useNodeAttachedAddresses.ts} +6 -6
- package/src/hooks/useProvidedNode.tsx +33 -6
- package/src/hooks/useWrappedModule.tsx +61 -0
- package/dist/cjs/hooks/createUseModuleHook.js +0 -41
- package/dist/cjs/hooks/createUseModuleHook.js.map +0 -1
- package/dist/cjs/hooks/useArchiveArchivists.js +0 -38
- package/dist/cjs/hooks/useArchiveArchivists.js.map +0 -1
- package/dist/cjs/hooks/useArchivistModule.js +0 -12
- package/dist/cjs/hooks/useArchivistModule.js.map +0 -1
- package/dist/cjs/hooks/useArchivistModules.js +0 -11
- package/dist/cjs/hooks/useArchivistModules.js.map +0 -1
- package/dist/cjs/hooks/useDivinerModule.js +0 -12
- package/dist/cjs/hooks/useDivinerModule.js.map +0 -1
- package/dist/cjs/hooks/useDivinerModules.js +0 -12
- package/dist/cjs/hooks/useDivinerModules.js.map +0 -1
- package/dist/cjs/hooks/useModuleAddresses.js.map +0 -1
- package/dist/cjs/hooks/useNodeQueryDiviner.js +0 -43
- package/dist/cjs/hooks/useNodeQueryDiviner.js.map +0 -1
- package/dist/cjs/hooks/useWitnessModule.js +0 -12
- package/dist/cjs/hooks/useWitnessModule.js.map +0 -1
- package/dist/cjs/hooks/useWitnessModules.js +0 -11
- package/dist/cjs/hooks/useWitnessModules.js.map +0 -1
- package/dist/esm/hooks/createUseModuleHook.js +0 -36
- package/dist/esm/hooks/createUseModuleHook.js.map +0 -1
- package/dist/esm/hooks/useArchiveArchivists.js +0 -33
- package/dist/esm/hooks/useArchiveArchivists.js.map +0 -1
- package/dist/esm/hooks/useArchivistModule.js +0 -8
- package/dist/esm/hooks/useArchivistModule.js.map +0 -1
- package/dist/esm/hooks/useArchivistModules.js +0 -7
- package/dist/esm/hooks/useArchivistModules.js.map +0 -1
- package/dist/esm/hooks/useDivinerModule.js +0 -8
- package/dist/esm/hooks/useDivinerModule.js.map +0 -1
- package/dist/esm/hooks/useDivinerModules.js +0 -8
- package/dist/esm/hooks/useDivinerModules.js.map +0 -1
- package/dist/esm/hooks/useModuleAddresses.js +0 -17
- package/dist/esm/hooks/useModuleAddresses.js.map +0 -1
- package/dist/esm/hooks/useNodeQueryDiviner.js +0 -37
- package/dist/esm/hooks/useNodeQueryDiviner.js.map +0 -1
- package/dist/esm/hooks/useWitnessModule.js +0 -8
- package/dist/esm/hooks/useWitnessModule.js.map +0 -1
- package/dist/esm/hooks/useWitnessModules.js +0 -7
- package/dist/esm/hooks/useWitnessModules.js.map +0 -1
- package/dist/types/hooks/createUseModuleHook.d.ts +0 -51
- package/dist/types/hooks/createUseModuleHook.d.ts.map +0 -1
- package/dist/types/hooks/useArchiveArchivists.d.ts +0 -9
- package/dist/types/hooks/useArchiveArchivists.d.ts.map +0 -1
- package/dist/types/hooks/useArchivistModule.d.ts +0 -4
- package/dist/types/hooks/useArchivistModule.d.ts.map +0 -1
- package/dist/types/hooks/useArchivistModules.d.ts +0 -3
- package/dist/types/hooks/useArchivistModules.d.ts.map +0 -1
- package/dist/types/hooks/useDivinerModule.d.ts +0 -4
- package/dist/types/hooks/useDivinerModule.d.ts.map +0 -1
- package/dist/types/hooks/useDivinerModules.d.ts +0 -3
- package/dist/types/hooks/useDivinerModules.d.ts.map +0 -1
- package/dist/types/hooks/useModuleAddresses.d.ts +0 -2
- package/dist/types/hooks/useModuleAddresses.d.ts.map +0 -1
- package/dist/types/hooks/useNodeQueryDiviner.d.ts +0 -6
- package/dist/types/hooks/useNodeQueryDiviner.d.ts.map +0 -1
- package/dist/types/hooks/useWitnessModule.d.ts +0 -4
- package/dist/types/hooks/useWitnessModule.d.ts.map +0 -1
- package/dist/types/hooks/useWitnessModules.d.ts +0 -3
- package/dist/types/hooks/useWitnessModules.d.ts.map +0 -1
- package/src/hooks/createUseModuleHook.tsx +0 -56
- package/src/hooks/useArchiveArchivists.tsx +0 -49
- package/src/hooks/useArchivistModule.ts +0 -10
- package/src/hooks/useArchivistModules.ts +0 -8
- package/src/hooks/useDivinerModule.ts +0 -10
- package/src/hooks/useDivinerModules.ts +0 -9
- package/src/hooks/useNodeQueryDiviner.tsx +0 -54
- package/src/hooks/useWitnessModule.ts +0 -10
- package/src/hooks/useWitnessModules.ts +0 -8
package/package.json
CHANGED
|
@@ -10,24 +10,24 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@mui/lab": "^5.0.0-alpha.
|
|
14
|
-
"@xylabs/react-flexbox": "^2.16.
|
|
15
|
-
"@xylabs/react-
|
|
16
|
-
"@
|
|
17
|
-
"@xyo-network/
|
|
18
|
-
"@xyo-network/
|
|
19
|
-
"@xyo-network/
|
|
20
|
-
"@xyo-network/
|
|
21
|
-
"@xyo-network/
|
|
22
|
-
"@xyo-network/
|
|
23
|
-
"@xyo-network/payload-model": "^2.51.1",
|
|
24
|
-
"@xyo-network/react-shared": "^2.45.0-rc.3",
|
|
25
|
-
"@xyo-network/witness": "^2.51.1"
|
|
13
|
+
"@mui/lab": "^5.0.0-alpha.122",
|
|
14
|
+
"@xylabs/react-flexbox": "^2.16.11",
|
|
15
|
+
"@xylabs/react-render-spin-check": "^2.16.11",
|
|
16
|
+
"@xylabs/react-shared": "^2.16.11",
|
|
17
|
+
"@xyo-network/account-model": "^2.51.7",
|
|
18
|
+
"@xyo-network/module": "^2.51.7",
|
|
19
|
+
"@xyo-network/module-model": "^2.51.7",
|
|
20
|
+
"@xyo-network/node": "^2.51.7",
|
|
21
|
+
"@xyo-network/react-shared": "^2.45.0-rc.30",
|
|
22
|
+
"@xyo-network/react-wallet": "^2.45.0-rc.30"
|
|
26
23
|
},
|
|
27
24
|
"devDependencies": {
|
|
28
25
|
"@storybook/react": "^6.5.16",
|
|
29
|
-
"@xylabs/ts-scripts-yarn3": "^2.16.
|
|
30
|
-
"@xylabs/tsconfig-react": "^2.16.
|
|
26
|
+
"@xylabs/ts-scripts-yarn3": "^2.16.1",
|
|
27
|
+
"@xylabs/tsconfig-react": "^2.16.1",
|
|
28
|
+
"@xyo-network/account": "^2.51.7",
|
|
29
|
+
"@xyo-network/react-storybook": "^2.45.0-rc.30",
|
|
30
|
+
"@xyo-network/react-wallet": "^2.45.0-rc.30",
|
|
31
31
|
"require-from-string": "^2.0.2",
|
|
32
32
|
"typescript": "^4.9.5"
|
|
33
33
|
},
|
|
@@ -83,6 +83,6 @@
|
|
|
83
83
|
},
|
|
84
84
|
"sideEffects": false,
|
|
85
85
|
"types": "dist/types/index.d.ts",
|
|
86
|
-
"version": "2.45.0-rc.
|
|
86
|
+
"version": "2.45.0-rc.30",
|
|
87
87
|
"stableVersion": "2.44.1"
|
|
88
88
|
}
|
|
@@ -1,22 +1,46 @@
|
|
|
1
1
|
import { ComponentStory, DecoratorFn, Meta } from '@storybook/react'
|
|
2
|
-
import { useAsyncEffect } from '@xylabs/react-shared'
|
|
2
|
+
import { useAsyncEffect, WithChildren } from '@xylabs/react-shared'
|
|
3
|
+
import { HDWallet } from '@xyo-network/account'
|
|
3
4
|
import { AbstractModule } from '@xyo-network/module'
|
|
4
5
|
import { MemoryNode, NodeConfigSchema, NodeWrapper } from '@xyo-network/node'
|
|
5
|
-
import {
|
|
6
|
+
import { DefaultSeedPhrase } from '@xyo-network/react-storybook'
|
|
7
|
+
import { WalletProvider } from '@xyo-network/react-wallet'
|
|
8
|
+
import { useEffect, useState } from 'react'
|
|
6
9
|
|
|
7
10
|
import { MemoryNodeProvider } from '../contexts'
|
|
8
|
-
import { useProvidedNode } from '../hooks'
|
|
11
|
+
import { useModule, useProvidedNode } from '../hooks'
|
|
12
|
+
|
|
13
|
+
const randomWallet = HDWallet.fromMnemonic(DefaultSeedPhrase)
|
|
9
14
|
|
|
10
15
|
class TestModule extends AbstractModule {}
|
|
16
|
+
const TestModuleName = 'TestModule'
|
|
17
|
+
const TestModuleAccount = randomWallet.deriveAccount('0')
|
|
18
|
+
|
|
19
|
+
const account = randomWallet.deriveAccount('0')
|
|
11
20
|
|
|
12
21
|
const MemoryNodeDecorator: DecoratorFn = (Story, args) => {
|
|
13
22
|
return (
|
|
14
|
-
<
|
|
15
|
-
<
|
|
16
|
-
|
|
23
|
+
<WalletProvider defaultWallet={randomWallet}>
|
|
24
|
+
<MemoryNodeProvider config={{ schema: NodeConfigSchema }}>
|
|
25
|
+
<Story {...args} />
|
|
26
|
+
</MemoryNodeProvider>
|
|
27
|
+
</WalletProvider>
|
|
17
28
|
)
|
|
18
29
|
}
|
|
19
30
|
|
|
31
|
+
const UseModuleTest: React.FC<WithChildren> = ({ children }) => {
|
|
32
|
+
const [testModule] = useModule(TestModuleName, account)
|
|
33
|
+
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
if (testModule) {
|
|
36
|
+
// Should be called but isn't
|
|
37
|
+
console.log('*****test module*****', testModule)
|
|
38
|
+
}
|
|
39
|
+
}, [testModule])
|
|
40
|
+
|
|
41
|
+
return <>{children}</>
|
|
42
|
+
}
|
|
43
|
+
|
|
20
44
|
// eslint-disable-next-line import/no-default-export
|
|
21
45
|
export default {
|
|
22
46
|
title: 'modules/node/NodeBox',
|
|
@@ -31,9 +55,9 @@ const Template: ComponentStory<React.FC> = (props) => {
|
|
|
31
55
|
async (mounted) => {
|
|
32
56
|
if (node) {
|
|
33
57
|
try {
|
|
34
|
-
const mod = await TestModule.create({ config: { schema: 'network.xyo.test.module' } })
|
|
58
|
+
const mod = await TestModule.create({ account: TestModuleAccount, config: { name: TestModuleName, schema: 'network.xyo.test.module' } })
|
|
35
59
|
node?.register(mod)
|
|
36
|
-
await node?.attach(mod.address)
|
|
60
|
+
await node?.attach(mod.address, true)
|
|
37
61
|
const wrapper = NodeWrapper.wrap(node)
|
|
38
62
|
const description = await wrapper?.describe()
|
|
39
63
|
if (mounted()) {
|
|
@@ -49,7 +73,9 @@ const Template: ComponentStory<React.FC> = (props) => {
|
|
|
49
73
|
|
|
50
74
|
return (
|
|
51
75
|
<div {...props}>
|
|
52
|
-
<
|
|
76
|
+
<UseModuleTest>
|
|
77
|
+
<pre>{description}</pre>
|
|
78
|
+
</UseModuleTest>
|
|
53
79
|
</div>
|
|
54
80
|
)
|
|
55
81
|
}
|
package/src/hooks/index.ts
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
export * from './createUseModuleHook'
|
|
2
|
-
export * from './useArchiveArchivists'
|
|
3
|
-
export * from './useArchivistModule'
|
|
4
|
-
export * from './useArchivistModules'
|
|
5
|
-
export * from './useDivinerModule'
|
|
6
|
-
export * from './useDivinerModules'
|
|
7
1
|
export * from './useMemoryNodeUpdates'
|
|
8
2
|
export * from './useModule'
|
|
9
|
-
export * from './useModuleAddresses'
|
|
10
3
|
export * from './useModules'
|
|
11
4
|
export * from './useNode'
|
|
12
|
-
export * from './
|
|
5
|
+
export * from './useNodeAttachedAddresses'
|
|
13
6
|
export * from './useProvidedNode'
|
|
14
|
-
export * from './
|
|
15
|
-
export * from './useWitnessModules'
|
|
7
|
+
export * from './useWrappedModule'
|
|
@@ -16,7 +16,7 @@ export const useMemoryNodeUpdates = (refreshAddresses?: string[]): UseMemoryNode
|
|
|
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)
|
package/src/hooks/useModule.tsx
CHANGED
|
@@ -1,6 +1,79 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useAsyncEffect } from '@xylabs/react-shared'
|
|
2
|
+
import { AccountInstance } from '@xyo-network/account-model'
|
|
3
|
+
import { Module, ModuleFilter } from '@xyo-network/module-model'
|
|
4
|
+
import { ModuleAttachedEventArgs, ModuleAttachedEventEmitter, ModuleDetachedEventArgs, ModuleDetachedEventEmitter } from '@xyo-network/node'
|
|
5
|
+
import { useMemo, useState } from 'react'
|
|
2
6
|
|
|
3
|
-
import {
|
|
4
|
-
import { useNode } from './useNode'
|
|
7
|
+
import { useProvidedWrappedNode } from './useProvidedNode'
|
|
5
8
|
|
|
6
|
-
export const useModule =
|
|
9
|
+
export const useModule = <TModule extends Module = Module>(
|
|
10
|
+
nameOrAddressOrFilter?: string | ModuleFilter,
|
|
11
|
+
account?: AccountInstance,
|
|
12
|
+
): [TModule | undefined, Error | undefined] => {
|
|
13
|
+
const nameOrAddress = useMemo(() => (typeof nameOrAddressOrFilter === 'string' ? nameOrAddressOrFilter : undefined), [nameOrAddressOrFilter])
|
|
14
|
+
const filter = useMemo(() => (typeof nameOrAddressOrFilter === 'object' ? nameOrAddressOrFilter : undefined), [nameOrAddressOrFilter])
|
|
15
|
+
const [node, nodeError] = useProvidedWrappedNode(account)
|
|
16
|
+
const [module, setModule] = useState<TModule>()
|
|
17
|
+
const [error, setError] = useState<Error>()
|
|
18
|
+
|
|
19
|
+
const address = module?.address
|
|
20
|
+
|
|
21
|
+
useAsyncEffect(
|
|
22
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
23
|
+
async (mounted) => {
|
|
24
|
+
try {
|
|
25
|
+
if (nodeError) {
|
|
26
|
+
setError(nodeError)
|
|
27
|
+
setModule(undefined)
|
|
28
|
+
} else {
|
|
29
|
+
if (node) {
|
|
30
|
+
const attachEmitter = node.module as ModuleAttachedEventEmitter
|
|
31
|
+
const detachEmitter = node.module as ModuleDetachedEventEmitter
|
|
32
|
+
const attachHandler = (args: ModuleAttachedEventArgs) => {
|
|
33
|
+
const eventModule = args.module
|
|
34
|
+
if ((eventModule.address === nameOrAddress || eventModule?.config.name === nameOrAddress) && mounted()) {
|
|
35
|
+
setModule(eventModule as TModule)
|
|
36
|
+
setError(undefined)
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const detachHandler = (args: ModuleDetachedEventArgs) => {
|
|
40
|
+
const eventModule = args.module
|
|
41
|
+
if (eventModule.address === address && mounted()) {
|
|
42
|
+
setModule(undefined)
|
|
43
|
+
setError(undefined)
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const module: TModule | undefined = nameOrAddress
|
|
47
|
+
? await node.resolve<TModule>(nameOrAddress)
|
|
48
|
+
: (await node.resolve<TModule>(filter)).pop()
|
|
49
|
+
if (mounted()) {
|
|
50
|
+
attachEmitter.on('moduleAttached', attachHandler, true)
|
|
51
|
+
detachEmitter.on('moduleDetached', detachHandler, true)
|
|
52
|
+
detachEmitter.on('moduleDetached', detachHandler)
|
|
53
|
+
attachEmitter.on('moduleAttached', attachHandler)
|
|
54
|
+
setModule(module)
|
|
55
|
+
setError(undefined)
|
|
56
|
+
}
|
|
57
|
+
return () => {
|
|
58
|
+
//remove the event handler on unmount
|
|
59
|
+
attachEmitter.on('moduleAttached', attachHandler, true)
|
|
60
|
+
detachEmitter.on('moduleDetached', detachHandler, true)
|
|
61
|
+
}
|
|
62
|
+
} else {
|
|
63
|
+
setError(undefined)
|
|
64
|
+
setModule(undefined)
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
} catch (ex) {
|
|
68
|
+
if (mounted()) {
|
|
69
|
+
const error = ex as Error
|
|
70
|
+
setError(error)
|
|
71
|
+
setModule(undefined)
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
[nameOrAddress, node, nodeError, address, filter],
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
return [module, error]
|
|
79
|
+
}
|
package/src/hooks/useModules.ts
CHANGED
|
@@ -1,23 +1,43 @@
|
|
|
1
1
|
import { useAsyncEffect } from '@xylabs/react-shared'
|
|
2
|
-
import { Module, ModuleFilter } from '@xyo-network/module'
|
|
2
|
+
import { Module, ModuleFilter } from '@xyo-network/module-model'
|
|
3
3
|
import { useState } from 'react'
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { useProvidedWrappedNode } from './useProvidedNode'
|
|
6
6
|
|
|
7
|
-
export const useModules = <
|
|
8
|
-
const [node] =
|
|
9
|
-
const [modules, setModules] = useState<
|
|
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>()
|
|
10
11
|
|
|
11
12
|
useAsyncEffect(
|
|
12
13
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13
14
|
async (mounted) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
+
setError(undefined)
|
|
28
|
+
setModules(undefined)
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
} catch (ex) {
|
|
32
|
+
if (mounted()) {
|
|
33
|
+
const error = ex as Error
|
|
34
|
+
setError(error)
|
|
35
|
+
setModules(undefined)
|
|
36
|
+
}
|
|
17
37
|
}
|
|
18
38
|
},
|
|
19
|
-
[filter, node],
|
|
39
|
+
[filter, node, nodeError],
|
|
20
40
|
)
|
|
21
41
|
|
|
22
|
-
return modules
|
|
42
|
+
return [modules, error]
|
|
23
43
|
}
|
package/src/hooks/useNode.tsx
CHANGED
|
@@ -1,9 +1,51 @@
|
|
|
1
|
+
import { AccountInstance } from '@xyo-network/account-model'
|
|
1
2
|
import { NodeModule, NodeWrapper } from '@xyo-network/node'
|
|
3
|
+
import { useEffect, useState } from 'react'
|
|
2
4
|
|
|
3
|
-
import {
|
|
5
|
+
import { useModule } from './useModule'
|
|
4
6
|
import { useProvidedNode } from './useProvidedNode'
|
|
5
7
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
])
|
|
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(nameOrAddress)
|
|
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 {
|
|
4
|
+
import { useNode } from './useNode'
|
|
5
5
|
|
|
6
|
-
export const
|
|
7
|
-
const [node] =
|
|
8
|
-
const [
|
|
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
|
-
|
|
15
|
+
setAddresses(attached)
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
[node],
|
|
19
19
|
)
|
|
20
20
|
|
|
21
|
-
return [
|
|
21
|
+
return [addresses, node?.registered()]
|
|
22
22
|
}
|
|
@@ -1,14 +1,41 @@
|
|
|
1
|
+
import { AccountInstance } from '@xyo-network/account-model'
|
|
1
2
|
import { NodeModule, NodeWrapper } from '@xyo-network/node'
|
|
2
|
-
import {
|
|
3
|
+
import { useAccount } from '@xyo-network/react-wallet'
|
|
4
|
+
import { useContext, useEffect, useMemo, useState } from 'react'
|
|
3
5
|
|
|
4
6
|
import { NodeContext } from '../contexts'
|
|
5
7
|
|
|
6
|
-
|
|
7
|
-
function useProvidedNodeFunc(wrap: true): [NodeWrapper | undefined]
|
|
8
|
-
function useProvidedNodeFunc(wrap?: boolean): [NodeModule | undefined] {
|
|
8
|
+
export const useProvidedNode = (): [NodeModule | undefined] => {
|
|
9
9
|
const { node } = useContext(NodeContext)
|
|
10
10
|
|
|
11
|
-
return [
|
|
11
|
+
return [node]
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export const
|
|
14
|
+
export const useProvidedWrappedNode = (account?: AccountInstance): [NodeWrapper | undefined, Error | undefined] => {
|
|
15
|
+
const [providedAccount] = useAccount()
|
|
16
|
+
const [node] = useProvidedNode()
|
|
17
|
+
const [wrappedNode, setWrappedNode] = useState<NodeWrapper>()
|
|
18
|
+
const [error, setError] = useState<Error>()
|
|
19
|
+
|
|
20
|
+
const accountToUse = useMemo(() => account ?? providedAccount, [account, providedAccount])
|
|
21
|
+
|
|
22
|
+
if (!accountToUse) {
|
|
23
|
+
const error = Error('useProvidedWrappedNode requires either an Account context or account parameter')
|
|
24
|
+
console.error(error.message)
|
|
25
|
+
setError(error)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
try {
|
|
30
|
+
if (node && accountToUse) {
|
|
31
|
+
setWrappedNode(NodeWrapper.wrap(node, account))
|
|
32
|
+
setError(undefined)
|
|
33
|
+
}
|
|
34
|
+
} catch (ex) {
|
|
35
|
+
setWrappedNode(undefined)
|
|
36
|
+
setError(ex as Error)
|
|
37
|
+
}
|
|
38
|
+
}, [node, account, accountToUse])
|
|
39
|
+
|
|
40
|
+
return [wrappedNode, error]
|
|
41
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { useRenderSpinCheck } from '@xylabs/react-render-spin-check'
|
|
2
|
+
import { AccountInstance } from '@xyo-network/account-model'
|
|
3
|
+
import { ModuleWrapper } from '@xyo-network/module'
|
|
4
|
+
import { useAccount } from '@xyo-network/react-wallet'
|
|
5
|
+
import { useEffect, useMemo, useState } from 'react'
|
|
6
|
+
|
|
7
|
+
import { useModule } from './useModule'
|
|
8
|
+
|
|
9
|
+
export interface WrapperStatic<TModuleWrapper extends ModuleWrapper = ModuleWrapper> {
|
|
10
|
+
requiredQueries: string[]
|
|
11
|
+
wrap: (module?: TModuleWrapper['module'], account?: AccountInstance) => TModuleWrapper
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const WrappedModuleHookFactory = <TModuleWrapper extends ModuleWrapper = ModuleWrapper>(
|
|
15
|
+
wrapperObject: WrapperStatic<TModuleWrapper>,
|
|
16
|
+
name?: string,
|
|
17
|
+
) => {
|
|
18
|
+
const useHook = (nameOrAddress?: string, account?: AccountInstance, spinCheck?: boolean): [TModuleWrapper | undefined, Error | undefined] => {
|
|
19
|
+
const spinCheckBounceNoCheck = useMemo(() => {
|
|
20
|
+
return { name: name ?? 'WrappedModuleHookFactory-NoCheck' }
|
|
21
|
+
}, [])
|
|
22
|
+
useRenderSpinCheck(spinCheck ? { name: name ?? 'WrappedModuleHookFactory' } : spinCheckBounceNoCheck)
|
|
23
|
+
const [providedAccount] = useAccount()
|
|
24
|
+
const [module, moduleError] = useModule<TModuleWrapper['module']>(
|
|
25
|
+
nameOrAddress ?? {
|
|
26
|
+
query: [wrapperObject.requiredQueries],
|
|
27
|
+
},
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
const [wrapper, setWrapper] = useState<TModuleWrapper>()
|
|
31
|
+
const [error, setError] = useState<Error>()
|
|
32
|
+
|
|
33
|
+
const accountToUse = useMemo(() => account ?? providedAccount, [account, providedAccount])
|
|
34
|
+
|
|
35
|
+
if (!accountToUse) {
|
|
36
|
+
const error = Error('Module hooks require either an Account context or account parameter')
|
|
37
|
+
console.error(error.message)
|
|
38
|
+
setError(error)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
if (module && accountToUse) {
|
|
43
|
+
try {
|
|
44
|
+
const wrapper = wrapperObject.wrap(module, accountToUse) as TModuleWrapper
|
|
45
|
+
setWrapper(wrapper)
|
|
46
|
+
} catch (ex) {
|
|
47
|
+
setWrapper(undefined)
|
|
48
|
+
setError(ex as Error)
|
|
49
|
+
}
|
|
50
|
+
} else {
|
|
51
|
+
setWrapper(undefined)
|
|
52
|
+
setError(moduleError)
|
|
53
|
+
}
|
|
54
|
+
}, [module, account, moduleError, accountToUse])
|
|
55
|
+
|
|
56
|
+
return [wrapper, error]
|
|
57
|
+
}
|
|
58
|
+
return useHook
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export const useWrappedModule = WrappedModuleHookFactory(ModuleWrapper)
|
|
@@ -1,41 +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 createUseModuleHook = (wrapFunc, useNodeHook) => {
|
|
9
|
-
function use(nameOrAddress, wrap = false) {
|
|
10
|
-
const [node, nodeError] = useNodeHook(nameOrAddress, true);
|
|
11
|
-
const [module, setModule] = (0, react_1.useState)();
|
|
12
|
-
const [error, setError] = (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
|
-
try {
|
|
17
|
-
if (nodeError) {
|
|
18
|
-
setError(nodeError);
|
|
19
|
-
setModule(undefined);
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
const module = yield (node === null || node === void 0 ? void 0 : node.resolve(nameOrAddress));
|
|
23
|
-
const finalModule = wrap ? wrapFunc(module, typeof wrap === 'boolean' ? undefined : wrap) : module;
|
|
24
|
-
if (mounted()) {
|
|
25
|
-
setModule(finalModule);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
catch (ex) {
|
|
30
|
-
if (mounted()) {
|
|
31
|
-
setError(ex);
|
|
32
|
-
setModule(undefined);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}), [wrap, node, nameOrAddress, nodeError]);
|
|
36
|
-
return [module, error];
|
|
37
|
-
}
|
|
38
|
-
return use;
|
|
39
|
-
};
|
|
40
|
-
exports.createUseModuleHook = createUseModuleHook;
|
|
41
|
-
//# sourceMappingURL=createUseModuleHook.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createUseModuleHook.js","sourceRoot":"","sources":["../../../src/hooks/createUseModuleHook.tsx"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAC/C,uDAAqD;AAIrD,iCAAgC;AAOzB,MAAM,mBAAmB,GAAG,CAKjC,QAAmB,EACnB,WAA4G,EAC5G,EAAE;IAKF,SAAS,GAAG,CAAC,aAAsB,EAAE,OAA0B,KAAK;QAClE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;QAC1D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,GAAsB,CAAA;QAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAS,CAAA;QAC3C,IAAA,6BAAc;QACZ,uDAAuD;QACvD,CAAO,OAAO,EAAE,EAAE;YAChB,IAAI;gBACF,IAAI,SAAS,EAAE;oBACb,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACnB,SAAS,CAAC,SAAS,CAAC,CAAA;iBACrB;qBAAM;oBACL,MAAM,MAAM,GAAG,MAAM,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAU,aAAa,CAAC,CAAA,CAAA;oBAC1D,MAAM,WAAW,GAAG,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;oBAClG,IAAI,OAAO,EAAE,EAAE;wBACb,SAAS,CAAC,WAAW,CAAC,CAAA;qBACvB;iBACF;aACF;YAAC,OAAO,EAAE,EAAE;gBACX,IAAI,OAAO,EAAE,EAAE;oBACb,QAAQ,CAAC,EAAW,CAAC,CAAA;oBACrB,SAAS,CAAC,SAAS,CAAC,CAAA;iBACrB;aACF;QACH,CAAC,CAAA,EACD,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CACvC,CAAA;QAED,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACxB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AA3CY,QAAA,mBAAmB,uBA2C/B"}
|
|
@@ -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 useMemoryNodeUpdates_1 = require("./useMemoryNodeUpdates");
|
|
8
|
-
const useProvidedNode_1 = require("./useProvidedNode");
|
|
9
|
-
const useArchiveArchivistsRaw = (archiveName, refresher) => {
|
|
10
|
-
const [node] = (0, useProvidedNode_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/hooks/useArchiveArchivists.tsx"],"names":[],"mappings":";;;AAAA,sDAAyD;AACzD,4DAAsD;AACtD,iCAA4C;AAE5C,iEAA6D;AAC7D,uDAAmD;AAO5C,MAAM,uBAAuB,GAAG,CAAC,WAAoB,EAAE,SAAmB,EAAoC,EAAE;IACrH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAA;IAEpC,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/hooks/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/hooks/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/hooks/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/hooks/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"}
|