@xyo-network/react-node 2.45.0-rc.17 → 2.45.0-rc.19
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 +1 -9
- 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 +18 -10
- package/dist/cjs/hooks/useModule.js.map +1 -1
- package/dist/cjs/hooks/useModules.js +31 -6
- package/dist/cjs/hooks/useModules.js.map +1 -1
- package/dist/cjs/hooks/useNode.js +41 -7
- 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 +13 -9
- package/dist/cjs/hooks/useProvidedNode.js.map +1 -1
- package/dist/docs.json +516 -1350
- package/dist/esm/hooks/index.js +1 -9
- 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 +19 -11
- package/dist/esm/hooks/useModule.js.map +1 -1
- package/dist/esm/hooks/useModules.js +32 -7
- package/dist/esm/hooks/useModules.js.map +1 -1
- package/dist/esm/hooks/useNode.js +41 -7
- 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 +10 -8
- package/dist/esm/hooks/useProvidedNode.js.map +1 -1
- package/dist/types/hooks/index.d.ts +1 -9
- package/dist/types/hooks/index.d.ts.map +1 -1
- 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 -2
- 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 -6
- package/dist/types/hooks/useProvidedNode.d.ts.map +1 -1
- package/package.json +6 -11
- package/src/components/Node.stories.tsx +1 -1
- package/src/hooks/index.ts +1 -9
- package/src/hooks/useMemoryNodeUpdates.tsx +1 -1
- package/src/hooks/useModule.tsx +20 -11
- package/src/hooks/useModules.ts +32 -10
- package/src/hooks/useNode.tsx +41 -8
- package/src/hooks/{useModuleAddresses.ts → useNodeAttachedAddresses.ts} +6 -6
- package/src/hooks/useProvidedNode.tsx +12 -12
- 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/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/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/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/dist/esm/hooks/index.js
CHANGED
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
export * from './useArchiveArchivists';
|
|
2
|
-
export * from './useArchivistModule';
|
|
3
|
-
export * from './useArchivistModules';
|
|
4
|
-
export * from './useDivinerModule';
|
|
5
|
-
export * from './useDivinerModules';
|
|
6
1
|
export * from './useMemoryNodeUpdates';
|
|
7
2
|
export * from './useModule';
|
|
8
|
-
export * from './useModuleAddresses';
|
|
9
3
|
export * from './useModules';
|
|
10
4
|
export * from './useNode';
|
|
11
|
-
export * from './
|
|
5
|
+
export * from './useNodeAttachedAddresses';
|
|
12
6
|
export * from './useProvidedNode';
|
|
13
|
-
export * from './useWitnessModule';
|
|
14
|
-
export * from './useWitnessModules';
|
|
15
7
|
export * from './useWrappedModule';
|
|
16
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA"}
|
|
@@ -5,7 +5,7 @@ export const useMemoryNodeUpdates = (refreshAddresses) => {
|
|
|
5
5
|
const [module, setModule] = useState();
|
|
6
6
|
useEffect(() => {
|
|
7
7
|
if (node) {
|
|
8
|
-
const onFunc = node.on;
|
|
8
|
+
const onFunc = node.module.on;
|
|
9
9
|
onFunc('moduleAttached', (args) => {
|
|
10
10
|
if (refreshAddresses) {
|
|
11
11
|
if (refreshAddresses.some((address) => address === args?.module.address))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMemoryNodeUpdates.js","sourceRoot":"","sources":["../../../src/hooks/useMemoryNodeUpdates.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,gBAA2B,EAAwB,EAAE;IACxF,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAA;IACxB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAA2B,CAAA;IAE/D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE;YACR,MAAM,MAAM,GAAG,IAAI,CAAC,EAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"useMemoryNodeUpdates.js","sourceRoot":"","sources":["../../../src/hooks/useMemoryNodeUpdates.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,gBAA2B,EAAwB,EAAE;IACxF,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAA;IACxB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAA2B,CAAA;IAE/D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE;YACR,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAsC,CAAA;YACjE,MAAM,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,IAAI,gBAAgB,EAAE;oBACpB,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;wBAAE,SAAS,CAAC,IAAI,CAAC,CAAA;iBAC1F;qBAAM;oBACL,SAAS,CAAC,IAAI,CAAC,CAAA;iBAChB;YACH,CAAC,CAAC,CAAA;SACH;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAA;IAE5B,OAAO;QACL,MAAM;KACP,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,31 +1,39 @@
|
|
|
1
1
|
import { useAsyncEffect } from '@xylabs/react-shared';
|
|
2
|
-
import { NodeWrapper } from '@xyo-network/node';
|
|
3
2
|
import { useState } from 'react';
|
|
4
|
-
import {
|
|
3
|
+
import { useProvidedWrappedNode } from './useProvidedNode';
|
|
5
4
|
export const useModule = (nameOrAddress) => {
|
|
6
|
-
const [node, nodeError] =
|
|
5
|
+
const [node, nodeError] = useProvidedWrappedNode();
|
|
7
6
|
const [module, setModule] = useState();
|
|
8
7
|
const [error, setError] = useState();
|
|
8
|
+
const address = module?.address;
|
|
9
9
|
useAsyncEffect(
|
|
10
10
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
11
11
|
async (mounted) => {
|
|
12
|
+
const detachHandler = (args) => {
|
|
13
|
+
const eventModule = args.module;
|
|
14
|
+
if (eventModule.address === address && mounted()) {
|
|
15
|
+
setModule(undefined);
|
|
16
|
+
setError(undefined);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
12
19
|
try {
|
|
13
20
|
if (nodeError) {
|
|
14
|
-
console.log(`Setting NodeError [${nodeError.message}]`);
|
|
15
21
|
setError(nodeError);
|
|
16
22
|
setModule(undefined);
|
|
17
23
|
}
|
|
18
24
|
else {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const module = nameOrAddress
|
|
22
|
-
? await wrappedNode?.resolve(nameOrAddress)
|
|
23
|
-
: (await wrappedNode.resolve()).pop();
|
|
25
|
+
if (node) {
|
|
26
|
+
const emitter = node.module;
|
|
27
|
+
const module = nameOrAddress ? await node.resolve(nameOrAddress) : (await node.resolve()).pop();
|
|
24
28
|
if (mounted()) {
|
|
25
|
-
|
|
29
|
+
emitter.on('moduleDetached', detachHandler);
|
|
26
30
|
setModule(module);
|
|
27
31
|
setError(undefined);
|
|
28
32
|
}
|
|
33
|
+
return () => {
|
|
34
|
+
//remove the event handler on unmount
|
|
35
|
+
emitter.on('moduleDetached', detachHandler, true);
|
|
36
|
+
};
|
|
29
37
|
}
|
|
30
38
|
else {
|
|
31
39
|
console.log('Setting All to undefined');
|
|
@@ -42,7 +50,7 @@ export const useModule = (nameOrAddress) => {
|
|
|
42
50
|
setModule(undefined);
|
|
43
51
|
}
|
|
44
52
|
}
|
|
45
|
-
}, [nameOrAddress, node, nodeError]);
|
|
53
|
+
}, [nameOrAddress, node, nodeError, address]);
|
|
46
54
|
return [module, error];
|
|
47
55
|
};
|
|
48
56
|
//# sourceMappingURL=useModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAkC,aAAsB,EAA4C,EAAE;IAC7H,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,sBAAsB,EAAE,CAAA;IAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAW,CAAA;IAC/C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAA;IAC/B,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,aAAa,GAAG,CAAC,IAA6B,EAAE,EAAE;YACtD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAA;YAC/B,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,EAAE,EAAE;gBAChD,SAAS,CAAC,SAAS,CAAC,CAAA;gBACpB,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;QACH,CAAC,CAAA;QACD,IAAI;YACF,IAAI,SAAS,EAAE;gBACb,QAAQ,CAAC,SAAS,CAAC,CAAA;gBACnB,SAAS,CAAC,SAAS,CAAC,CAAA;aACrB;iBAAM;gBACL,IAAI,IAAI,EAAE;oBACR,MAAM,OAAO,GAAG,IAAI,CAAC,MAAoC,CAAA;oBACzD,MAAM,MAAM,GAAwB,aAAa,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAU,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,EAAW,CAAC,CAAC,GAAG,EAAE,CAAA;oBACtI,IAAI,OAAO,EAAE,EAAE;wBACb,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAA;wBAC3C,SAAS,CAAC,MAAM,CAAC,CAAA;wBACjB,QAAQ,CAAC,SAAS,CAAC,CAAA;qBACpB;oBACD,OAAO,GAAG,EAAE;wBACV,qCAAqC;wBACrC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;oBACnD,CAAC,CAAA;iBACF;qBAAM;oBACL,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;oBACvC,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACnB,SAAS,CAAC,SAAS,CAAC,CAAA;iBACrB;aACF;SACF;QAAC,OAAO,EAAE,EAAE;YACX,IAAI,OAAO,EAAE,EAAE;gBACb,MAAM,KAAK,GAAG,EAAW,CAAA;gBACzB,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAA;gBAC/C,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACf,SAAS,CAAC,SAAS,CAAC,CAAA;aACrB;SACF;IACH,CAAC,EACD,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAC1C,CAAA;IAED,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA"}
|
|
@@ -1,17 +1,42 @@
|
|
|
1
1
|
import { useAsyncEffect } from '@xylabs/react-shared';
|
|
2
2
|
import { useState } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { useProvidedWrappedNode } from './useProvidedNode';
|
|
4
4
|
export const useModules = (filter) => {
|
|
5
|
-
const [node] =
|
|
5
|
+
const [node, nodeError] = useProvidedWrappedNode();
|
|
6
6
|
const [modules, setModules] = useState();
|
|
7
|
+
const [error, setError] = useState();
|
|
7
8
|
useAsyncEffect(
|
|
8
9
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
9
10
|
async (mounted) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
try {
|
|
12
|
+
if (nodeError) {
|
|
13
|
+
setError(nodeError);
|
|
14
|
+
setModules(undefined);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
if (node) {
|
|
18
|
+
const modules = await node.resolve(filter);
|
|
19
|
+
if (mounted()) {
|
|
20
|
+
setModules(modules);
|
|
21
|
+
setError(undefined);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
console.log('Setting All to undefined');
|
|
26
|
+
setError(undefined);
|
|
27
|
+
setModules(undefined);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
13
30
|
}
|
|
14
|
-
|
|
15
|
-
|
|
31
|
+
catch (ex) {
|
|
32
|
+
if (mounted()) {
|
|
33
|
+
const error = ex;
|
|
34
|
+
console.log(`Setting Error [${error.message}]`);
|
|
35
|
+
setError(error);
|
|
36
|
+
setModules(undefined);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}, [filter, node, nodeError]);
|
|
40
|
+
return [modules, error];
|
|
16
41
|
};
|
|
17
42
|
//# sourceMappingURL=useModules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModules.js","sourceRoot":"","sources":["../../../src/hooks/useModules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useModules.js","sourceRoot":"","sources":["../../../src/hooks/useModules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAkC,MAAqB,EAA8C,EAAE;IAC/H,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,sBAAsB,EAAE,CAAA;IAClD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAa,CAAA;IACnD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAE3C,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI;YACF,IAAI,SAAS,EAAE;gBACb,QAAQ,CAAC,SAAS,CAAC,CAAA;gBACnB,UAAU,CAAC,SAAS,CAAC,CAAA;aACtB;iBAAM;gBACL,IAAI,IAAI,EAAE;oBACR,MAAM,OAAO,GAA0B,MAAM,IAAI,CAAC,OAAO,CAAU,MAAM,CAAC,CAAA;oBAC1E,IAAI,OAAO,EAAE,EAAE;wBACb,UAAU,CAAC,OAAO,CAAC,CAAA;wBACnB,QAAQ,CAAC,SAAS,CAAC,CAAA;qBACpB;iBACF;qBAAM;oBACL,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;oBACvC,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACnB,UAAU,CAAC,SAAS,CAAC,CAAA;iBACtB;aACF;SACF;QAAC,OAAO,EAAE,EAAE;YACX,IAAI,OAAO,EAAE,EAAE;gBACb,MAAM,KAAK,GAAG,EAAW,CAAA;gBACzB,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAA;gBAC/C,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACf,UAAU,CAAC,SAAS,CAAC,CAAA;aACtB;SACF;IACH,CAAC,EACD,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAC1B,CAAA;IAED,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC,CAAA"}
|
|
@@ -1,16 +1,50 @@
|
|
|
1
|
+
import { NodeWrapper } from '@xyo-network/node';
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
1
3
|
import { useModule } from './useModule';
|
|
2
4
|
import { useProvidedNode } from './useProvidedNode';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
5
|
+
//AT: intentionally not exported
|
|
6
|
+
const useNodeModule = (nameOrAddress) => {
|
|
7
|
+
const [providedNode] = useProvidedNode();
|
|
8
|
+
const [node, nodeError] = useModule(nameOrAddress);
|
|
6
9
|
if (nameOrAddress) {
|
|
7
|
-
if (providedNode
|
|
8
|
-
return node;
|
|
10
|
+
if (providedNode) {
|
|
11
|
+
return [node, nodeError];
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return [providedNode, undefined];
|
|
9
15
|
}
|
|
10
16
|
}
|
|
11
17
|
else {
|
|
12
|
-
return providedNode;
|
|
18
|
+
return [providedNode, undefined];
|
|
13
19
|
}
|
|
14
|
-
|
|
20
|
+
};
|
|
21
|
+
export const useNode = (nameOrAddress, account) => {
|
|
22
|
+
const [node, nodeError] = useNodeModule();
|
|
23
|
+
const [wrapper, setWrapper] = useState();
|
|
24
|
+
const [error, setError] = useState();
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (node) {
|
|
27
|
+
if (nodeError) {
|
|
28
|
+
setError(nodeError);
|
|
29
|
+
setWrapper(undefined);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
try {
|
|
33
|
+
const wrapper = NodeWrapper.wrap(node, account);
|
|
34
|
+
setWrapper(wrapper);
|
|
35
|
+
setError(undefined);
|
|
36
|
+
}
|
|
37
|
+
catch (ex) {
|
|
38
|
+
setWrapper(undefined);
|
|
39
|
+
setError(ex);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
setWrapper(undefined);
|
|
45
|
+
setError(undefined);
|
|
46
|
+
}
|
|
47
|
+
}, [node, account, nodeError]);
|
|
48
|
+
return [wrapper, error];
|
|
15
49
|
};
|
|
16
50
|
//# sourceMappingURL=useNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/hooks/useNode.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/hooks/useNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,gCAAgC;AAChC,MAAM,aAAa,GAAG,CAAC,aAAsB,EAA+C,EAAE;IAC5F,MAAM,CAAC,YAAY,CAAC,GAAG,eAAe,EAAE,CAAA;IACxC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;IAElD,IAAI,aAAa,EAAE;QACjB,IAAI,YAAY,EAAE;YAChB,OAAO,CAAC,IAAkB,EAAE,SAAS,CAAC,CAAA;SACvC;aAAM;YACL,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;SACjC;KACF;SAAM;QACL,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;KACjC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,aAAsB,EAAE,OAAyB,EAAgD,EAAE;IACzH,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,aAAa,EAAE,CAAA;IACzC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAe,CAAA;IACrD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE;YACR,IAAI,SAAS,EAAE;gBACb,QAAQ,CAAC,SAAS,CAAC,CAAA;gBACnB,UAAU,CAAC,SAAS,CAAC,CAAA;aACtB;iBAAM;gBACL,IAAI;oBACF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;oBAC/C,UAAU,CAAC,OAAO,CAAC,CAAA;oBACnB,QAAQ,CAAC,SAAS,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,UAAU,CAAC,SAAS,CAAC,CAAA;oBACrB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;SACF;aAAM;YACL,UAAU,CAAC,SAAS,CAAC,CAAA;YACrB,QAAQ,CAAC,SAAS,CAAC,CAAA;SACpB;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;IAE9B,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useAsyncEffect } from '@xylabs/react-shared';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { useNode } from './useNode';
|
|
4
|
+
export const useNodeAttachedAddresses = () => {
|
|
5
|
+
const [node] = useNode();
|
|
6
|
+
const [addresses, setAddresses] = useState();
|
|
7
|
+
useAsyncEffect(
|
|
8
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
9
|
+
async (mounted) => {
|
|
10
|
+
const attached = await node?.attached();
|
|
11
|
+
if (mounted()) {
|
|
12
|
+
setAddresses(attached);
|
|
13
|
+
}
|
|
14
|
+
}, [node]);
|
|
15
|
+
return [addresses, node?.registered()];
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=useNodeAttachedAddresses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNodeAttachedAddresses.js","sourceRoot":"","sources":["../../../src/hooks/useNodeAttachedAddresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAA;IACxB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAY,CAAA;IAEtD,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,EAAE,QAAQ,EAAE,CAAA;QACvC,IAAI,OAAO,EAAE,EAAE;YACb,YAAY,CAAC,QAAQ,CAAC,CAAA;SACvB;IACH,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAA;IAED,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;AACxC,CAAC,CAAA"}
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import { NodeWrapper } from '@xyo-network/node';
|
|
2
2
|
import { useContext, useEffect, useState } from 'react';
|
|
3
3
|
import { NodeContext } from '../contexts';
|
|
4
|
-
|
|
4
|
+
export const useProvidedNode = () => {
|
|
5
5
|
const { node } = useContext(NodeContext);
|
|
6
|
+
return [node];
|
|
7
|
+
};
|
|
8
|
+
export const useProvidedWrappedNode = (account) => {
|
|
9
|
+
const [node] = useProvidedNode();
|
|
6
10
|
const [wrappedNode, setWrappedNode] = useState();
|
|
7
11
|
const [error, setError] = useState();
|
|
8
12
|
useEffect(() => {
|
|
9
13
|
try {
|
|
10
14
|
if (node) {
|
|
11
|
-
|
|
12
|
-
const wrappedNode = wrap ? NodeWrapper.wrap(node, account) : undefined;
|
|
13
|
-
setWrappedNode(wrappedNode);
|
|
15
|
+
setWrappedNode(NodeWrapper.wrap(node, account));
|
|
14
16
|
setError(undefined);
|
|
15
17
|
}
|
|
16
18
|
}
|
|
17
19
|
catch (ex) {
|
|
20
|
+
setWrappedNode(undefined);
|
|
18
21
|
setError(ex);
|
|
19
22
|
}
|
|
20
|
-
}, [node,
|
|
21
|
-
return [
|
|
22
|
-
}
|
|
23
|
-
export const useProvidedNode = useProvidedNodeFunc;
|
|
23
|
+
}, [node, account]);
|
|
24
|
+
return [wrappedNode, error];
|
|
25
|
+
};
|
|
24
26
|
//# sourceMappingURL=useProvidedNode.js.map
|
|
@@ -1 +1 @@
|
|
|
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,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
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,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,GAA6B,EAAE;IAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IAExC,OAAO,CAAC,IAAI,CAAC,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAyB,EAAgD,EAAE;IAChH,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAe,CAAA;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI;YACF,IAAI,IAAI,EAAE;gBACR,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;gBAC/C,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;SACF;QAAC,OAAO,EAAE,EAAE;YACX,cAAc,CAAC,SAAS,CAAC,CAAA;YACzB,QAAQ,CAAC,EAAW,CAAC,CAAA;SACtB;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IAEnB,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC,CAAA"}
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
export * from './useArchiveArchivists';
|
|
2
|
-
export * from './useArchivistModule';
|
|
3
|
-
export * from './useArchivistModules';
|
|
4
|
-
export * from './useDivinerModule';
|
|
5
|
-
export * from './useDivinerModules';
|
|
6
1
|
export * from './useMemoryNodeUpdates';
|
|
7
2
|
export * from './useModule';
|
|
8
|
-
export * from './useModuleAddresses';
|
|
9
3
|
export * from './useModules';
|
|
10
4
|
export * from './useNode';
|
|
11
|
-
export * from './
|
|
5
|
+
export * from './useNodeAttachedAddresses';
|
|
12
6
|
export * from './useProvidedNode';
|
|
13
|
-
export * from './useWitnessModule';
|
|
14
|
-
export * from './useWitnessModules';
|
|
15
7
|
export * from './useWrappedModule';
|
|
16
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAMlD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;oBAAqD,MAAM,
|
|
1
|
+
{"version":3,"file":"useModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAMlD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;oBAAqD,MAAM,6CAmDhF,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Module, ModuleFilter } from '@xyo-network/module';
|
|
2
|
-
export declare const useModules: <
|
|
1
|
+
import { Module, ModuleFilter } from '@xyo-network/module-model';
|
|
2
|
+
export declare const useModules: <TModule extends Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
3
3
|
name?: string | undefined;
|
|
4
4
|
security?: {
|
|
5
5
|
allowAnonymous?: boolean | undefined;
|
|
6
|
-
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
6
|
+
allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
|
|
7
7
|
disallowed?: Record<string, string[]> | undefined;
|
|
8
8
|
} | undefined;
|
|
9
9
|
storeQueries?: boolean | undefined;
|
|
@@ -13,11 +13,11 @@ export declare const useModules: <T extends Module<import("@xyo-network/payload-
|
|
|
13
13
|
name?: string | undefined;
|
|
14
14
|
security?: {
|
|
15
15
|
allowAnonymous?: boolean | undefined;
|
|
16
|
-
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
16
|
+
allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
|
|
17
17
|
disallowed?: Record<string, string[]> | undefined;
|
|
18
18
|
} | undefined;
|
|
19
19
|
storeQueries?: boolean | undefined;
|
|
20
20
|
} & {
|
|
21
21
|
schema: string;
|
|
22
|
-
}>>(filter?: ModuleFilter) =>
|
|
22
|
+
}>>(filter?: ModuleFilter) => [TModule[] | undefined, Error | undefined];
|
|
23
23
|
//# sourceMappingURL=useModules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModules.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useModules.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAKhE,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;aAA8C,YAAY,+CAsChF,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
|
+
import { NodeWrapper } from '@xyo-network/node';
|
|
3
|
+
export declare const useNode: (nameOrAddress?: string, account?: AccountInstance) => [NodeWrapper | undefined, Error | undefined];
|
|
3
4
|
//# sourceMappingURL=useNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAsB3D,eAAO,MAAM,OAAO,mBAAoB,MAAM,YAAY,eAAe,KAAG,CAAC,WAAW,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CA2BtH,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNodeAttachedAddresses.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodeAttachedAddresses.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,wBAAwB,oDAgBpC,CAAA"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
2
|
import { NodeModule, NodeWrapper } from '@xyo-network/node';
|
|
3
|
-
declare
|
|
4
|
-
declare
|
|
5
|
-
declare function useProvidedNodeFunc(wrap: true | Account): [NodeWrapper | undefined, Error | undefined];
|
|
6
|
-
export declare const useProvidedNode: typeof useProvidedNodeFunc;
|
|
7
|
-
export {};
|
|
3
|
+
export declare const useProvidedNode: () => [NodeModule | undefined];
|
|
4
|
+
export declare const useProvidedWrappedNode: (account?: AccountInstance) => [NodeWrapper | undefined, Error | undefined];
|
|
8
5
|
//# 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,
|
|
1
|
+
{"version":3,"file":"useProvidedNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAK3D,eAAO,MAAM,eAAe,QAAO,CAAC,UAAU,GAAG,SAAS,CAIzD,CAAA;AAED,eAAO,MAAM,sBAAsB,aAAc,eAAe,KAAG,CAAC,WAAW,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAkB7G,CAAA"}
|
package/package.json
CHANGED
|
@@ -13,16 +13,11 @@
|
|
|
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/account": "^2.51.
|
|
17
|
-
"@xyo-network/
|
|
18
|
-
"@xyo-network/
|
|
19
|
-
"@xyo-network/
|
|
20
|
-
"@xyo-network/
|
|
21
|
-
"@xyo-network/module-model": "^2.51.2",
|
|
22
|
-
"@xyo-network/node": "^2.51.2",
|
|
23
|
-
"@xyo-network/payload-model": "^2.51.2",
|
|
24
|
-
"@xyo-network/react-shared": "^2.45.0-rc.17",
|
|
25
|
-
"@xyo-network/witness": "^2.51.2"
|
|
16
|
+
"@xyo-network/account-model": "^2.51.4",
|
|
17
|
+
"@xyo-network/module": "^2.51.4",
|
|
18
|
+
"@xyo-network/module-model": "^2.51.4",
|
|
19
|
+
"@xyo-network/node": "^2.51.4",
|
|
20
|
+
"@xyo-network/react-shared": "^2.45.0-rc.19"
|
|
26
21
|
},
|
|
27
22
|
"devDependencies": {
|
|
28
23
|
"@storybook/react": "^6.5.16",
|
|
@@ -83,6 +78,6 @@
|
|
|
83
78
|
},
|
|
84
79
|
"sideEffects": false,
|
|
85
80
|
"types": "dist/types/index.d.ts",
|
|
86
|
-
"version": "2.45.0-rc.
|
|
81
|
+
"version": "2.45.0-rc.19",
|
|
87
82
|
"stableVersion": "2.44.1"
|
|
88
83
|
}
|
|
@@ -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]
|
|
27
27
|
const [description, setDescription] = useState<string>()
|
|
28
28
|
|
|
29
29
|
useAsyncEffect(
|
package/src/hooks/index.ts
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
export * from './useArchiveArchivists'
|
|
2
|
-
export * from './useArchivistModule'
|
|
3
|
-
export * from './useArchivistModules'
|
|
4
|
-
export * from './useDivinerModule'
|
|
5
|
-
export * from './useDivinerModules'
|
|
6
1
|
export * from './useMemoryNodeUpdates'
|
|
7
2
|
export * from './useModule'
|
|
8
|
-
export * from './useModuleAddresses'
|
|
9
3
|
export * from './useModules'
|
|
10
4
|
export * from './useNode'
|
|
11
|
-
export * from './
|
|
5
|
+
export * from './useNodeAttachedAddresses'
|
|
12
6
|
export * from './useProvidedNode'
|
|
13
|
-
export * from './useWitnessModule'
|
|
14
|
-
export * from './useWitnessModules'
|
|
15
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,33 +1,42 @@
|
|
|
1
1
|
import { useAsyncEffect } from '@xylabs/react-shared'
|
|
2
2
|
import { Module } from '@xyo-network/module-model'
|
|
3
|
-
import {
|
|
3
|
+
import { ModuleDetachedEventArgs, ModuleDetachedEventEmitter } from '@xyo-network/node'
|
|
4
4
|
import { useState } from 'react'
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { useProvidedWrappedNode } from './useProvidedNode'
|
|
7
7
|
|
|
8
8
|
export const useModule = <TModule extends Module = Module>(nameOrAddress?: string): [TModule | undefined, Error | undefined] => {
|
|
9
|
-
const [node, nodeError] =
|
|
9
|
+
const [node, nodeError] = useProvidedWrappedNode()
|
|
10
10
|
const [module, setModule] = useState<TModule>()
|
|
11
11
|
const [error, setError] = useState<Error>()
|
|
12
|
+
const address = module?.address
|
|
12
13
|
useAsyncEffect(
|
|
13
14
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14
15
|
async (mounted) => {
|
|
16
|
+
const detachHandler = (args: ModuleDetachedEventArgs) => {
|
|
17
|
+
const eventModule = args.module
|
|
18
|
+
if (eventModule.address === address && mounted()) {
|
|
19
|
+
setModule(undefined)
|
|
20
|
+
setError(undefined)
|
|
21
|
+
}
|
|
22
|
+
}
|
|
15
23
|
try {
|
|
16
24
|
if (nodeError) {
|
|
17
|
-
console.log(`Setting NodeError [${nodeError.message}]`)
|
|
18
25
|
setError(nodeError)
|
|
19
26
|
setModule(undefined)
|
|
20
27
|
} else {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const module: TModule | undefined = nameOrAddress
|
|
24
|
-
? await wrappedNode?.resolve<TModule>(nameOrAddress)
|
|
25
|
-
: (await wrappedNode.resolve<TModule>()).pop()
|
|
28
|
+
if (node) {
|
|
29
|
+
const emitter = node.module as ModuleDetachedEventEmitter
|
|
30
|
+
const module: TModule | undefined = nameOrAddress ? await node.resolve<TModule>(nameOrAddress) : (await node.resolve<TModule>()).pop()
|
|
26
31
|
if (mounted()) {
|
|
27
|
-
|
|
32
|
+
emitter.on('moduleDetached', detachHandler)
|
|
28
33
|
setModule(module)
|
|
29
34
|
setError(undefined)
|
|
30
35
|
}
|
|
36
|
+
return () => {
|
|
37
|
+
//remove the event handler on unmount
|
|
38
|
+
emitter.on('moduleDetached', detachHandler, true)
|
|
39
|
+
}
|
|
31
40
|
} else {
|
|
32
41
|
console.log('Setting All to undefined')
|
|
33
42
|
setError(undefined)
|
|
@@ -43,7 +52,7 @@ export const useModule = <TModule extends Module = Module>(nameOrAddress?: strin
|
|
|
43
52
|
}
|
|
44
53
|
}
|
|
45
54
|
},
|
|
46
|
-
[nameOrAddress, node, nodeError],
|
|
55
|
+
[nameOrAddress, node, nodeError, address],
|
|
47
56
|
)
|
|
48
57
|
|
|
49
58
|
return [module, error]
|
package/src/hooks/useModules.ts
CHANGED
|
@@ -1,23 +1,45 @@
|
|
|
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
|
+
console.log('Setting All to undefined')
|
|
28
|
+
setError(undefined)
|
|
29
|
+
setModules(undefined)
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
} catch (ex) {
|
|
33
|
+
if (mounted()) {
|
|
34
|
+
const error = ex as Error
|
|
35
|
+
console.log(`Setting Error [${error.message}]`)
|
|
36
|
+
setError(error)
|
|
37
|
+
setModules(undefined)
|
|
38
|
+
}
|
|
17
39
|
}
|
|
18
40
|
},
|
|
19
|
-
[filter, node],
|
|
41
|
+
[filter, node, nodeError],
|
|
20
42
|
)
|
|
21
43
|
|
|
22
|
-
return modules
|
|
44
|
+
return [modules, error]
|
|
23
45
|
}
|