@xyo-network/react-node 2.45.0-rc.6 → 2.45.0-rc.8
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/useModule.js +1 -1
- package/dist/cjs/hooks/useModule.js.map +1 -1
- package/dist/cjs/hooks/useNode.js +19 -6
- package/dist/cjs/hooks/useNode.js.map +1 -1
- package/dist/cjs/hooks/useProvidedNode.js +2 -1
- package/dist/cjs/hooks/useProvidedNode.js.map +1 -1
- package/dist/docs.json +257 -225
- package/dist/esm/hooks/useModule.js +1 -1
- package/dist/esm/hooks/useModule.js.map +1 -1
- package/dist/esm/hooks/useNode.js +19 -6
- package/dist/esm/hooks/useNode.js.map +1 -1
- package/dist/esm/hooks/useProvidedNode.js +2 -1
- package/dist/esm/hooks/useProvidedNode.js.map +1 -1
- package/dist/types/hooks/useModule.d.ts.map +1 -1
- package/dist/types/hooks/useNode.d.ts +2 -1
- package/dist/types/hooks/useNode.d.ts.map +1 -1
- package/dist/types/hooks/useProvidedNode.d.ts +2 -1
- package/dist/types/hooks/useProvidedNode.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/components/Node.stories.tsx +1 -1
- package/src/hooks/useModule.tsx +1 -1
- package/src/hooks/useNode.tsx +21 -7
- package/src/hooks/useProvidedNode.tsx +5 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ModuleWrapper } from '@xyo-network/module';
|
|
2
2
|
import { createUseModuleHook, useNode } from './useNode';
|
|
3
|
-
export const useModule = createUseModuleHook(ModuleWrapper.wrap
|
|
3
|
+
export const useModule = createUseModuleHook((module) => ModuleWrapper.wrap(module), useNode);
|
|
4
4
|
//# sourceMappingURL=useModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE3D,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExD,MAAM,CAAC,MAAM,SAAS,GAAG,mBAAmB,CAAwB,
|
|
1
|
+
{"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE3D,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExD,MAAM,CAAC,MAAM,SAAS,GAAG,mBAAmB,CAAwB,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA"}
|
|
@@ -16,20 +16,33 @@ export const createUseModuleHook = (wrapFunc, nodeFunc) => {
|
|
|
16
16
|
async (mounted) => {
|
|
17
17
|
try {
|
|
18
18
|
if (nodeError) {
|
|
19
|
+
console.log(`Setting NodeError [${nodeError.message}]`);
|
|
19
20
|
setError(nodeError);
|
|
20
21
|
setModule(undefined);
|
|
21
22
|
}
|
|
22
23
|
else {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
if (node) {
|
|
25
|
+
const wrappedNode = NodeWrapper.wrap(node);
|
|
26
|
+
const module = await wrappedNode?.resolve(nameOrAddress);
|
|
27
|
+
const finalModule = shouldWrap ? wrapFunc(module, account) : module;
|
|
28
|
+
if (mounted()) {
|
|
29
|
+
console.log(`Setting Module [${finalModule?.address}]`);
|
|
30
|
+
setModule(finalModule);
|
|
31
|
+
setError(undefined);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
console.log('Setting All to undefined');
|
|
36
|
+
setError(undefined);
|
|
37
|
+
setModule(undefined);
|
|
27
38
|
}
|
|
28
39
|
}
|
|
29
40
|
}
|
|
30
41
|
catch (ex) {
|
|
31
42
|
if (mounted()) {
|
|
32
|
-
|
|
43
|
+
const error = ex;
|
|
44
|
+
console.log(`Setting Error [${error.message}]`);
|
|
45
|
+
setError(error);
|
|
33
46
|
setModule(undefined);
|
|
34
47
|
}
|
|
35
48
|
}
|
|
@@ -38,5 +51,5 @@ export const createUseModuleHook = (wrapFunc, nodeFunc) => {
|
|
|
38
51
|
}
|
|
39
52
|
return use;
|
|
40
53
|
};
|
|
41
|
-
export const useNode = createUseModuleHook(NodeWrapper.wrap
|
|
54
|
+
export const useNode = createUseModuleHook((module) => NodeWrapper.wrap(module), useProvidedNode);
|
|
42
55
|
//# sourceMappingURL=useNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/hooks/useNode.tsx"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/hooks/useNode.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,8 @@ function useProvidedNodeFunc(wrap) {
|
|
|
7
7
|
const [error, setError] = useState();
|
|
8
8
|
try {
|
|
9
9
|
if (wrap) {
|
|
10
|
-
const
|
|
10
|
+
const account = typeof wrap === 'boolean' ? undefined : wrap;
|
|
11
|
+
const wrappedNode = wrap ? NodeWrapper.wrap(node, account) : undefined;
|
|
11
12
|
setWrappedNode(wrappedNode);
|
|
12
13
|
setError(undefined);
|
|
13
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProvidedNode.js","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useProvidedNode.js","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAKzC,SAAS,mBAAmB,CAAC,IAAmC;IAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACxC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAe,CAAA;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAE3C,IAAI;QACF,IAAI,IAAI,EAAE;YACR,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;YAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACtE,cAAc,CAAC,WAAW,CAAC,CAAA;YAC3B,QAAQ,CAAC,SAAS,CAAC,CAAA;SACpB;KACF;IAAC,OAAO,EAAE,EAAE;QACX,QAAQ,CAAC,EAAW,CAAC,CAAA;KACtB;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAI3D,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAI3D,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8F,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { Account } from '@xyo-network/account';
|
|
|
2
2
|
import { Module, ModuleWrapper } from '@xyo-network/module';
|
|
3
3
|
import { NodeModule, NodeWrapper } from '@xyo-network/node';
|
|
4
4
|
export type WrapFunc<TModule extends Module = Module, TWrapper extends ModuleWrapper = ModuleWrapper> = (module?: TModule, account?: Account) => TWrapper | undefined;
|
|
5
|
+
export type NodeFunc = () => [NodeModule | undefined, Error | undefined];
|
|
5
6
|
export declare const createUseModuleHook: <TModule extends Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
6
7
|
name?: string | undefined;
|
|
7
8
|
security?: {
|
|
@@ -42,7 +43,7 @@ export declare const createUseModuleHook: <TModule extends Module<import("@xyo-n
|
|
|
42
43
|
storeQueries?: boolean | undefined;
|
|
43
44
|
} & {
|
|
44
45
|
schema: string;
|
|
45
|
-
}>>, TWrapFunc extends WrapFunc<TModule, TWrapper> = WrapFunc<TModule, TWrapper>>(wrapFunc: TWrapFunc, nodeFunc:
|
|
46
|
+
}>>, TWrapFunc extends WrapFunc<TModule, TWrapper> = WrapFunc<TModule, TWrapper>>(wrapFunc: TWrapFunc, nodeFunc: NodeFunc) => {
|
|
46
47
|
(name?: string): [TModule | undefined, Error | undefined];
|
|
47
48
|
(name: string | undefined, wrap: true | Account): [TWrapper | undefined, Error | undefined];
|
|
48
49
|
(wrap: true | Account): [TWrapper | undefined, Error | undefined];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNode.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAK3D,MAAM,MAAM,QAAQ,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAAE,QAAQ,SAAS,aAAa,GAAG,aAAa,IAAI,CACtG,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,OAAO,KACd,QAAQ,GAAG,SAAS,CAAA;AAEzB,
|
|
1
|
+
{"version":3,"file":"useNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNode.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAK3D,MAAM,MAAM,QAAQ,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAAE,QAAQ,SAAS,aAAa,GAAG,aAAa,IAAI,CACtG,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,OAAO,KACd,QAAQ,GAAG,SAAS,CAAA;AAEzB,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAAA;AAExE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iHAMpB,QAAQ;YAEE,MAAM;WACP,MAAM,GAAG,SAAS,QAAQ,IAAI,GAAG,OAAO;WACxC,IAAI,GAAG,OAAO;cACX,MAAM;cACN,MAAM,QAAQ,IAAI,GAAG,OAAO;CAkDnD,CAAA;AAED,eAAO,MAAM,OAAO;YAxDE,MAAM;WACP,MAAM,GAAG,SAAS,QAAQ,IAAI,GAAG,OAAO;WACxC,IAAI,GAAG,OAAO;cACX,MAAM;cACN,MAAM,QAAQ,IAAI,GAAG,OAAO;CAoDsE,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { Account } from '@xyo-network/account';
|
|
1
2
|
import { NodeModule, NodeWrapper } from '@xyo-network/node';
|
|
2
3
|
declare function useProvidedNodeFunc(wrap?: undefined): [NodeModule | undefined, Error | undefined];
|
|
3
4
|
declare function useProvidedNodeFunc(wrap: false): [NodeModule | undefined, Error | undefined];
|
|
4
|
-
declare function useProvidedNodeFunc(wrap: true): [NodeWrapper | undefined, Error | undefined];
|
|
5
|
+
declare function useProvidedNodeFunc(wrap: true | Account): [NodeWrapper | undefined, Error | undefined];
|
|
5
6
|
export declare const useProvidedNode: typeof useProvidedNodeFunc;
|
|
6
7
|
export {};
|
|
7
8
|
//# sourceMappingURL=useProvidedNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProvidedNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAK3D,iBAAS,mBAAmB,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,CAAC,UAAU,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAAA;AAC3F,iBAAS,mBAAmB,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,UAAU,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAAA;AACtF,iBAAS,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,WAAW,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"useProvidedNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAK3D,iBAAS,mBAAmB,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,CAAC,UAAU,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAAA;AAC3F,iBAAS,mBAAmB,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,UAAU,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAAA;AACtF,iBAAS,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,GAAG,CAAC,WAAW,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAAA;AAmBhG,eAAO,MAAM,eAAe,4BAAsB,CAAA"}
|
package/package.json
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@xyo-network/module-model": "^2.51.1",
|
|
22
22
|
"@xyo-network/node": "^2.51.1",
|
|
23
23
|
"@xyo-network/payload-model": "^2.51.1",
|
|
24
|
-
"@xyo-network/react-shared": "^2.45.0-rc.
|
|
24
|
+
"@xyo-network/react-shared": "^2.45.0-rc.8",
|
|
25
25
|
"@xyo-network/witness": "^2.51.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
@@ -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.8",
|
|
87
87
|
"stableVersion": "2.44.1"
|
|
88
88
|
}
|
|
@@ -23,7 +23,7 @@ export default {
|
|
|
23
23
|
} as Meta
|
|
24
24
|
|
|
25
25
|
const Template: ComponentStory<React.FC> = (props) => {
|
|
26
|
-
const [node] = useProvidedNode() as [MemoryNode]
|
|
26
|
+
const [node] = useProvidedNode() as [MemoryNode, Error]
|
|
27
27
|
const [description, setDescription] = useState<string>()
|
|
28
28
|
|
|
29
29
|
useAsyncEffect(
|
package/src/hooks/useModule.tsx
CHANGED
|
@@ -2,4 +2,4 @@ import { Module, ModuleWrapper } from '@xyo-network/module'
|
|
|
2
2
|
|
|
3
3
|
import { createUseModuleHook, useNode } from './useNode'
|
|
4
4
|
|
|
5
|
-
export const useModule = createUseModuleHook<Module, ModuleWrapper>(ModuleWrapper.wrap
|
|
5
|
+
export const useModule = createUseModuleHook<Module, ModuleWrapper>((module) => ModuleWrapper.wrap(module), useNode)
|
package/src/hooks/useNode.tsx
CHANGED
|
@@ -12,13 +12,15 @@ export type WrapFunc<TModule extends Module = Module, TWrapper extends ModuleWra
|
|
|
12
12
|
account?: Account,
|
|
13
13
|
) => TWrapper | undefined
|
|
14
14
|
|
|
15
|
+
export type NodeFunc = () => [NodeModule | undefined, Error | undefined]
|
|
16
|
+
|
|
15
17
|
export const createUseModuleHook = <
|
|
16
18
|
TModule extends Module = Module,
|
|
17
19
|
TWrapper extends ModuleWrapper = ModuleWrapper,
|
|
18
20
|
TWrapFunc extends WrapFunc<TModule, TWrapper> = WrapFunc<TModule, TWrapper>,
|
|
19
21
|
>(
|
|
20
22
|
wrapFunc: TWrapFunc,
|
|
21
|
-
nodeFunc:
|
|
23
|
+
nodeFunc: NodeFunc,
|
|
22
24
|
) => {
|
|
23
25
|
function use(name?: string): [TModule | undefined, Error | undefined]
|
|
24
26
|
function use(name: string | undefined, wrap: true | Account): [TWrapper | undefined, Error | undefined]
|
|
@@ -40,18 +42,30 @@ export const createUseModuleHook = <
|
|
|
40
42
|
async (mounted) => {
|
|
41
43
|
try {
|
|
42
44
|
if (nodeError) {
|
|
45
|
+
console.log(`Setting NodeError [${nodeError.message}]`)
|
|
43
46
|
setError(nodeError)
|
|
44
47
|
setModule(undefined)
|
|
45
48
|
} else {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
if (node) {
|
|
50
|
+
const wrappedNode = NodeWrapper.wrap(node)
|
|
51
|
+
const module = await wrappedNode?.resolve<TModule>(nameOrAddress)
|
|
52
|
+
const finalModule = shouldWrap ? wrapFunc(module, account) : module
|
|
53
|
+
if (mounted()) {
|
|
54
|
+
console.log(`Setting Module [${finalModule?.address}]`)
|
|
55
|
+
setModule(finalModule)
|
|
56
|
+
setError(undefined)
|
|
57
|
+
}
|
|
58
|
+
} else {
|
|
59
|
+
console.log('Setting All to undefined')
|
|
60
|
+
setError(undefined)
|
|
61
|
+
setModule(undefined)
|
|
50
62
|
}
|
|
51
63
|
}
|
|
52
64
|
} catch (ex) {
|
|
53
65
|
if (mounted()) {
|
|
54
|
-
|
|
66
|
+
const error = ex as Error
|
|
67
|
+
console.log(`Setting Error [${error.message}]`)
|
|
68
|
+
setError(error)
|
|
55
69
|
setModule(undefined)
|
|
56
70
|
}
|
|
57
71
|
}
|
|
@@ -64,4 +78,4 @@ export const createUseModuleHook = <
|
|
|
64
78
|
return use
|
|
65
79
|
}
|
|
66
80
|
|
|
67
|
-
export const useNode = createUseModuleHook<NodeModule, NodeWrapper>(NodeWrapper.wrap
|
|
81
|
+
export const useNode = createUseModuleHook<NodeModule, NodeWrapper>((module) => NodeWrapper.wrap(module), useProvidedNode)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Account } from '@xyo-network/account'
|
|
1
2
|
import { NodeModule, NodeWrapper } from '@xyo-network/node'
|
|
2
3
|
import { useContext, useState } from 'react'
|
|
3
4
|
|
|
@@ -5,15 +6,16 @@ import { NodeContext } from '../contexts'
|
|
|
5
6
|
|
|
6
7
|
function useProvidedNodeFunc(wrap?: undefined): [NodeModule | undefined, Error | undefined]
|
|
7
8
|
function useProvidedNodeFunc(wrap: false): [NodeModule | undefined, Error | undefined]
|
|
8
|
-
function useProvidedNodeFunc(wrap: true): [NodeWrapper | undefined, Error | undefined]
|
|
9
|
-
function useProvidedNodeFunc(wrap:
|
|
9
|
+
function useProvidedNodeFunc(wrap: true | Account): [NodeWrapper | undefined, Error | undefined]
|
|
10
|
+
function useProvidedNodeFunc(wrap: boolean | Account | undefined): [NodeModule | NodeWrapper | undefined, Error | undefined] {
|
|
10
11
|
const { node } = useContext(NodeContext)
|
|
11
12
|
const [wrappedNode, setWrappedNode] = useState<NodeWrapper>()
|
|
12
13
|
const [error, setError] = useState<Error>()
|
|
13
14
|
|
|
14
15
|
try {
|
|
15
16
|
if (wrap) {
|
|
16
|
-
const
|
|
17
|
+
const account = typeof wrap === 'boolean' ? undefined : wrap
|
|
18
|
+
const wrappedNode = wrap ? NodeWrapper.wrap(node, account) : undefined
|
|
17
19
|
setWrappedNode(wrappedNode)
|
|
18
20
|
setError(undefined)
|
|
19
21
|
}
|