@xyo-network/react-node 2.45.0-rc.3 → 2.45.0-rc.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/dist/cjs/hooks/index.js +2 -10
  2. package/dist/cjs/hooks/index.js.map +1 -1
  3. package/dist/cjs/hooks/useMemoryNodeUpdates.js +1 -1
  4. package/dist/cjs/hooks/useMemoryNodeUpdates.js.map +1 -1
  5. package/dist/cjs/hooks/useModule.js +71 -4
  6. package/dist/cjs/hooks/useModule.js.map +1 -1
  7. package/dist/cjs/hooks/useModules.js +29 -6
  8. package/dist/cjs/hooks/useModules.js.map +1 -1
  9. package/dist/cjs/hooks/useNode.js +48 -5
  10. package/dist/cjs/hooks/useNode.js.map +1 -1
  11. package/dist/cjs/hooks/{useModuleAddresses.js → useNodeAttachedAddresses.js} +9 -9
  12. package/dist/cjs/hooks/useNodeAttachedAddresses.js.map +1 -0
  13. package/dist/cjs/hooks/useProvidedNode.js +32 -5
  14. package/dist/cjs/hooks/useProvidedNode.js.map +1 -1
  15. package/dist/cjs/hooks/useWrappedModule.js +49 -0
  16. package/dist/cjs/hooks/useWrappedModule.js.map +1 -0
  17. package/dist/docs.json +738 -2020
  18. package/dist/esm/hooks/index.js +2 -10
  19. package/dist/esm/hooks/index.js.map +1 -1
  20. package/dist/esm/hooks/useMemoryNodeUpdates.js +1 -1
  21. package/dist/esm/hooks/useMemoryNodeUpdates.js.map +1 -1
  22. package/dist/esm/hooks/useModule.js +69 -4
  23. package/dist/esm/hooks/useModule.js.map +1 -1
  24. package/dist/esm/hooks/useModules.js +30 -7
  25. package/dist/esm/hooks/useModules.js.map +1 -1
  26. package/dist/esm/hooks/useNode.js +47 -5
  27. package/dist/esm/hooks/useNode.js.map +1 -1
  28. package/dist/esm/hooks/useNodeAttachedAddresses.js +17 -0
  29. package/dist/esm/hooks/useNodeAttachedAddresses.js.map +1 -0
  30. package/dist/esm/hooks/useProvidedNode.js +30 -5
  31. package/dist/esm/hooks/useProvidedNode.js.map +1 -1
  32. package/dist/esm/hooks/useWrappedModule.js +45 -0
  33. package/dist/esm/hooks/useWrappedModule.js.map +1 -0
  34. package/dist/types/hooks/index.d.ts +2 -10
  35. package/dist/types/hooks/index.d.ts.map +1 -1
  36. package/dist/types/hooks/useModule.d.ts +23 -47
  37. package/dist/types/hooks/useModule.d.ts.map +1 -1
  38. package/dist/types/hooks/useModules.d.ts +5 -5
  39. package/dist/types/hooks/useModules.d.ts.map +1 -1
  40. package/dist/types/hooks/useNode.d.ts +3 -7
  41. package/dist/types/hooks/useNode.d.ts.map +1 -1
  42. package/dist/types/hooks/useNodeAttachedAddresses.d.ts +2 -0
  43. package/dist/types/hooks/useNodeAttachedAddresses.d.ts.map +1 -0
  44. package/dist/types/hooks/useProvidedNode.d.ts +3 -4
  45. package/dist/types/hooks/useProvidedNode.d.ts.map +1 -1
  46. package/dist/types/hooks/useWrappedModule.d.ts +39 -0
  47. package/dist/types/hooks/useWrappedModule.d.ts.map +1 -0
  48. package/package.json +16 -16
  49. package/src/components/Node.stories.tsx +35 -9
  50. package/src/hooks/index.ts +2 -10
  51. package/src/hooks/useMemoryNodeUpdates.tsx +1 -1
  52. package/src/hooks/useModule.tsx +77 -4
  53. package/src/hooks/useModules.ts +30 -10
  54. package/src/hooks/useNode.tsx +47 -5
  55. package/src/hooks/{useModuleAddresses.ts → useNodeAttachedAddresses.ts} +6 -6
  56. package/src/hooks/useProvidedNode.tsx +33 -6
  57. package/src/hooks/useWrappedModule.tsx +61 -0
  58. package/dist/cjs/hooks/createUseModuleHook.js +0 -41
  59. package/dist/cjs/hooks/createUseModuleHook.js.map +0 -1
  60. package/dist/cjs/hooks/useArchiveArchivists.js +0 -38
  61. package/dist/cjs/hooks/useArchiveArchivists.js.map +0 -1
  62. package/dist/cjs/hooks/useArchivistModule.js +0 -12
  63. package/dist/cjs/hooks/useArchivistModule.js.map +0 -1
  64. package/dist/cjs/hooks/useArchivistModules.js +0 -11
  65. package/dist/cjs/hooks/useArchivistModules.js.map +0 -1
  66. package/dist/cjs/hooks/useDivinerModule.js +0 -12
  67. package/dist/cjs/hooks/useDivinerModule.js.map +0 -1
  68. package/dist/cjs/hooks/useDivinerModules.js +0 -12
  69. package/dist/cjs/hooks/useDivinerModules.js.map +0 -1
  70. package/dist/cjs/hooks/useModuleAddresses.js.map +0 -1
  71. package/dist/cjs/hooks/useNodeQueryDiviner.js +0 -43
  72. package/dist/cjs/hooks/useNodeQueryDiviner.js.map +0 -1
  73. package/dist/cjs/hooks/useWitnessModule.js +0 -12
  74. package/dist/cjs/hooks/useWitnessModule.js.map +0 -1
  75. package/dist/cjs/hooks/useWitnessModules.js +0 -11
  76. package/dist/cjs/hooks/useWitnessModules.js.map +0 -1
  77. package/dist/esm/hooks/createUseModuleHook.js +0 -36
  78. package/dist/esm/hooks/createUseModuleHook.js.map +0 -1
  79. package/dist/esm/hooks/useArchiveArchivists.js +0 -33
  80. package/dist/esm/hooks/useArchiveArchivists.js.map +0 -1
  81. package/dist/esm/hooks/useArchivistModule.js +0 -8
  82. package/dist/esm/hooks/useArchivistModule.js.map +0 -1
  83. package/dist/esm/hooks/useArchivistModules.js +0 -7
  84. package/dist/esm/hooks/useArchivistModules.js.map +0 -1
  85. package/dist/esm/hooks/useDivinerModule.js +0 -8
  86. package/dist/esm/hooks/useDivinerModule.js.map +0 -1
  87. package/dist/esm/hooks/useDivinerModules.js +0 -8
  88. package/dist/esm/hooks/useDivinerModules.js.map +0 -1
  89. package/dist/esm/hooks/useModuleAddresses.js +0 -17
  90. package/dist/esm/hooks/useModuleAddresses.js.map +0 -1
  91. package/dist/esm/hooks/useNodeQueryDiviner.js +0 -37
  92. package/dist/esm/hooks/useNodeQueryDiviner.js.map +0 -1
  93. package/dist/esm/hooks/useWitnessModule.js +0 -8
  94. package/dist/esm/hooks/useWitnessModule.js.map +0 -1
  95. package/dist/esm/hooks/useWitnessModules.js +0 -7
  96. package/dist/esm/hooks/useWitnessModules.js.map +0 -1
  97. package/dist/types/hooks/createUseModuleHook.d.ts +0 -51
  98. package/dist/types/hooks/createUseModuleHook.d.ts.map +0 -1
  99. package/dist/types/hooks/useArchiveArchivists.d.ts +0 -9
  100. package/dist/types/hooks/useArchiveArchivists.d.ts.map +0 -1
  101. package/dist/types/hooks/useArchivistModule.d.ts +0 -4
  102. package/dist/types/hooks/useArchivistModule.d.ts.map +0 -1
  103. package/dist/types/hooks/useArchivistModules.d.ts +0 -3
  104. package/dist/types/hooks/useArchivistModules.d.ts.map +0 -1
  105. package/dist/types/hooks/useDivinerModule.d.ts +0 -4
  106. package/dist/types/hooks/useDivinerModule.d.ts.map +0 -1
  107. package/dist/types/hooks/useDivinerModules.d.ts +0 -3
  108. package/dist/types/hooks/useDivinerModules.d.ts.map +0 -1
  109. package/dist/types/hooks/useModuleAddresses.d.ts +0 -2
  110. package/dist/types/hooks/useModuleAddresses.d.ts.map +0 -1
  111. package/dist/types/hooks/useNodeQueryDiviner.d.ts +0 -6
  112. package/dist/types/hooks/useNodeQueryDiviner.d.ts.map +0 -1
  113. package/dist/types/hooks/useWitnessModule.d.ts +0 -4
  114. package/dist/types/hooks/useWitnessModule.d.ts.map +0 -1
  115. package/dist/types/hooks/useWitnessModules.d.ts +0 -3
  116. package/dist/types/hooks/useWitnessModules.d.ts.map +0 -1
  117. package/src/hooks/createUseModuleHook.tsx +0 -56
  118. package/src/hooks/useArchiveArchivists.tsx +0 -49
  119. package/src/hooks/useArchivistModule.ts +0 -10
  120. package/src/hooks/useArchivistModules.ts +0 -8
  121. package/src/hooks/useDivinerModule.ts +0 -10
  122. package/src/hooks/useDivinerModules.ts +0 -9
  123. package/src/hooks/useNodeQueryDiviner.tsx +0 -54
  124. package/src/hooks/useWitnessModule.ts +0 -10
  125. package/src/hooks/useWitnessModules.ts +0 -8
@@ -1,16 +1,8 @@
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 './useNodeQueryDiviner';
5
+ export * from './useNodeAttachedAddresses';
13
6
  export * from './useProvidedNode';
14
- export * from './useWitnessModule';
15
- export * from './useWitnessModules';
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,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
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;YAC1D,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
+ {"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,5 +1,70 @@
1
- import { ModuleWrapper } from '@xyo-network/module';
2
- import { createUseModuleHook } from './createUseModuleHook';
3
- import { useNode } from './useNode';
4
- export const useModule = createUseModuleHook(ModuleWrapper.wrap, useNode);
1
+ import { useAsyncEffect } from '@xylabs/react-shared';
2
+ import { useMemo, useState } from 'react';
3
+ import { useProvidedWrappedNode } from './useProvidedNode';
4
+ export const useModule = (nameOrAddressOrFilter, account) => {
5
+ const nameOrAddress = useMemo(() => (typeof nameOrAddressOrFilter === 'string' ? nameOrAddressOrFilter : undefined), [nameOrAddressOrFilter]);
6
+ const filter = useMemo(() => (typeof nameOrAddressOrFilter === 'object' ? nameOrAddressOrFilter : undefined), [nameOrAddressOrFilter]);
7
+ const [node, nodeError] = useProvidedWrappedNode(account);
8
+ const [module, setModule] = useState();
9
+ const [error, setError] = useState();
10
+ const address = module?.address;
11
+ useAsyncEffect(
12
+ // eslint-disable-next-line react-hooks/exhaustive-deps
13
+ async (mounted) => {
14
+ try {
15
+ if (nodeError) {
16
+ setError(nodeError);
17
+ setModule(undefined);
18
+ }
19
+ else {
20
+ if (node) {
21
+ const attachEmitter = node.module;
22
+ const detachEmitter = node.module;
23
+ const attachHandler = (args) => {
24
+ const eventModule = args.module;
25
+ if (nameOrAddress && (eventModule.address === nameOrAddress || eventModule?.config.name === nameOrAddress) && mounted()) {
26
+ setModule(eventModule);
27
+ setError(undefined);
28
+ }
29
+ };
30
+ const detachHandler = (args) => {
31
+ const eventModule = args.module;
32
+ if (eventModule.address === address && mounted()) {
33
+ setModule(undefined);
34
+ setError(undefined);
35
+ }
36
+ };
37
+ const module = nameOrAddress
38
+ ? await node.resolve(nameOrAddress)
39
+ : (await node.resolve(filter)).pop();
40
+ if (mounted()) {
41
+ attachEmitter.on('moduleAttached', attachHandler, true);
42
+ detachEmitter.on('moduleDetached', detachHandler, true);
43
+ detachEmitter.on('moduleDetached', detachHandler);
44
+ attachEmitter.on('moduleAttached', attachHandler);
45
+ setModule(module);
46
+ setError(undefined);
47
+ }
48
+ return () => {
49
+ //remove the event handler on unmount
50
+ attachEmitter.on('moduleAttached', attachHandler, true);
51
+ detachEmitter.on('moduleDetached', detachHandler, true);
52
+ };
53
+ }
54
+ else {
55
+ setError(undefined);
56
+ setModule(undefined);
57
+ }
58
+ }
59
+ }
60
+ catch (ex) {
61
+ if (mounted()) {
62
+ const error = ex;
63
+ setError(error);
64
+ setModule(undefined);
65
+ }
66
+ }
67
+ }, [nameOrAddress, node, nodeError, address, filter]);
68
+ return [module, error];
69
+ };
5
70
  //# 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,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,MAAM,SAAS,GAAG,mBAAmB,CAAwB,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +1,40 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-shared';
2
2
  import { useState } from 'react';
3
- import { useProvidedNode } from './useProvidedNode';
3
+ import { useProvidedWrappedNode } from './useProvidedNode';
4
4
  export const useModules = (filter) => {
5
- const [node] = useProvidedNode(true);
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
- const modules = await node?.resolve(filter);
11
- if (mounted()) {
12
- setModules(modules);
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
+ setError(undefined);
26
+ setModules(undefined);
27
+ }
28
+ }
13
29
  }
14
- }, [filter, node]);
15
- return modules;
30
+ catch (ex) {
31
+ if (mounted()) {
32
+ const error = ex;
33
+ setError(error);
34
+ setModules(undefined);
35
+ }
36
+ }
37
+ }, [filter, node, nodeError]);
38
+ return [modules, error];
16
39
  };
17
40
  //# 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,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,CAAC,MAAM,UAAU,GAAG,CAA4B,MAAqB,EAAE,EAAE;IAC7E,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAO,CAAA;IAE7C,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,OAAO,GAAG,MAAM,IAAI,EAAE,OAAO,CAAI,MAAM,CAAC,CAAA;QAC9C,IAAI,OAAO,EAAE,EAAE;YACb,UAAU,CAAC,OAAO,CAAC,CAAA;SACpB;IACH,CAAC,EACD,CAAC,MAAM,EAAE,IAAI,CAAC,CACf,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
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,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,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,8 +1,50 @@
1
1
  import { NodeWrapper } from '@xyo-network/node';
2
- import { createUseModuleHook } from './createUseModuleHook';
2
+ import { useEffect, useState } from 'react';
3
+ import { useModule } from './useModule';
3
4
  import { useProvidedNode } from './useProvidedNode';
4
- export const useNode = createUseModuleHook(NodeWrapper.wrap, (_nameOrAddress, _wrap) => [
5
- useProvidedNode(true).pop(),
6
- undefined,
7
- ]);
5
+ //AT: intentionally not exported
6
+ const useNodeModule = (nameOrAddress) => {
7
+ const [providedNode] = useProvidedNode();
8
+ const [node, nodeError] = useModule(nameOrAddress);
9
+ if (nameOrAddress) {
10
+ if (providedNode) {
11
+ return [node, nodeError];
12
+ }
13
+ else {
14
+ return [providedNode, undefined];
15
+ }
16
+ }
17
+ else {
18
+ return [providedNode, undefined];
19
+ }
20
+ };
21
+ export const useNode = (nameOrAddress, account) => {
22
+ const [node, nodeError] = useNodeModule(nameOrAddress);
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];
49
+ };
8
50
  //# sourceMappingURL=useNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/hooks/useNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,CAAC,MAAM,OAAO,GAAG,mBAAmB,CAA0B,WAAW,CAAC,IAAI,EAAE,CAAC,cAAuB,EAAE,KAAY,EAAE,EAAE,CAAC;IAC/H,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE;IAC3B,SAAS;CACV,CAAC,CAAA"}
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,CAAC,aAAa,CAAC,CAAA;IACtD,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,9 +1,34 @@
1
1
  import { NodeWrapper } from '@xyo-network/node';
2
- import { useContext } from 'react';
2
+ import { useAccount } from '@xyo-network/react-wallet';
3
+ import { useContext, useEffect, useMemo, useState } from 'react';
3
4
  import { NodeContext } from '../contexts';
4
- function useProvidedNodeFunc(wrap) {
5
+ export const useProvidedNode = () => {
5
6
  const { node } = useContext(NodeContext);
6
- return [wrap ? NodeWrapper.wrap(node) : node];
7
- }
8
- export const useProvidedNode = useProvidedNodeFunc;
7
+ return [node];
8
+ };
9
+ export const useProvidedWrappedNode = (account) => {
10
+ const [providedAccount] = useAccount();
11
+ const [node] = useProvidedNode();
12
+ const [wrappedNode, setWrappedNode] = useState();
13
+ const [error, setError] = useState();
14
+ const accountToUse = useMemo(() => account ?? providedAccount, [account, providedAccount]);
15
+ if (!accountToUse) {
16
+ const error = Error('useProvidedWrappedNode requires either an Account context or account parameter');
17
+ console.error(error.message);
18
+ setError(error);
19
+ }
20
+ useEffect(() => {
21
+ try {
22
+ if (node && accountToUse) {
23
+ setWrappedNode(NodeWrapper.wrap(node, account));
24
+ setError(undefined);
25
+ }
26
+ }
27
+ catch (ex) {
28
+ setWrappedNode(undefined);
29
+ setError(ex);
30
+ }
31
+ }, [node, account, accountToUse]);
32
+ return [wrappedNode, error];
33
+ };
9
34
  //# sourceMappingURL=useProvidedNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useProvidedNode.js","sourceRoot":"","sources":["../../../src/hooks/useProvidedNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIzC,SAAS,mBAAmB,CAAC,IAAc;IACzC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IAExC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,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,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhE,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,eAAe,CAAC,GAAG,UAAU,EAAE,CAAA;IACtC,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,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;IAE1F,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,KAAK,GAAG,KAAK,CAAC,gFAAgF,CAAC,CAAA;QACrG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,QAAQ,CAAC,KAAK,CAAC,CAAA;KAChB;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI;YACF,IAAI,IAAI,IAAI,YAAY,EAAE;gBACxB,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,EAAE,YAAY,CAAC,CAAC,CAAA;IAEjC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC,CAAA"}
@@ -0,0 +1,45 @@
1
+ import { useRenderSpinCheck } from '@xylabs/react-render-spin-check';
2
+ import { ModuleWrapper } from '@xyo-network/module';
3
+ import { useAccount } from '@xyo-network/react-wallet';
4
+ import { useEffect, useMemo, useState } from 'react';
5
+ import { useModule } from './useModule';
6
+ export const WrappedModuleHookFactory = (wrapperObject, name) => {
7
+ const useHook = (nameOrAddress, account, spinCheck) => {
8
+ const spinCheckBounceNoCheck = useMemo(() => {
9
+ return { name: name ?? 'WrappedModuleHookFactory-NoCheck' };
10
+ }, []);
11
+ useRenderSpinCheck(spinCheck ? { name: name ?? 'WrappedModuleHookFactory' } : spinCheckBounceNoCheck);
12
+ const [providedAccount] = useAccount();
13
+ const [module, moduleError] = useModule(nameOrAddress ?? {
14
+ query: [wrapperObject.requiredQueries],
15
+ });
16
+ const [wrapper, setWrapper] = useState();
17
+ const [error, setError] = useState();
18
+ const accountToUse = useMemo(() => account ?? providedAccount, [account, providedAccount]);
19
+ if (!accountToUse) {
20
+ const error = Error('Module hooks require either an Account context or account parameter');
21
+ console.error(error.message);
22
+ setError(error);
23
+ }
24
+ useEffect(() => {
25
+ if (module && accountToUse) {
26
+ try {
27
+ const wrapper = wrapperObject.wrap(module, accountToUse);
28
+ setWrapper(wrapper);
29
+ }
30
+ catch (ex) {
31
+ setWrapper(undefined);
32
+ setError(ex);
33
+ }
34
+ }
35
+ else {
36
+ setWrapper(undefined);
37
+ setError(moduleError);
38
+ }
39
+ }, [module, account, moduleError, accountToUse]);
40
+ return [wrapper, error];
41
+ };
42
+ return useHook;
43
+ };
44
+ export const useWrappedModule = WrappedModuleHookFactory(ModuleWrapper);
45
+ //# sourceMappingURL=useWrappedModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWrappedModule.js","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAOvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,aAA4C,EAC5C,IAAa,EACb,EAAE;IACF,MAAM,OAAO,GAAG,CAAC,aAAsB,EAAE,OAAyB,EAAE,SAAmB,EAAmD,EAAE;QAC1I,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;YAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,kCAAkC,EAAE,CAAA;QAC7D,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,0BAA0B,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;QACrG,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,EAAE,CAAA;QACtC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CACrC,aAAa,IAAI;YACf,KAAK,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;SACvC,CACF,CAAA;QAED,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAkB,CAAA;QACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;QAE3C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;QAE1F,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,qEAAqE,CAAC,CAAA;YAC1F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5B,QAAQ,CAAC,KAAK,CAAC,CAAA;SAChB;QAED,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,MAAM,IAAI,YAAY,EAAE;gBAC1B,IAAI;oBACF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAmB,CAAA;oBAC1E,UAAU,CAAC,OAAO,CAAC,CAAA;iBACpB;gBAAC,OAAO,EAAE,EAAE;oBACX,UAAU,CAAC,SAAS,CAAC,CAAA;oBACrB,QAAQ,CAAC,EAAW,CAAC,CAAA;iBACtB;aACF;iBAAM;gBACL,UAAU,CAAC,SAAS,CAAC,CAAA;gBACrB,QAAQ,CAAC,WAAW,CAAC,CAAA;aACtB;QACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;QAEhD,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAA"}
@@ -1,16 +1,8 @@
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 './useNodeQueryDiviner';
5
+ export * from './useNodeAttachedAddresses';
13
6
  export * from './useProvidedNode';
14
- export * from './useWitnessModule';
15
- export * from './useWitnessModules';
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,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
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,48 +1,24 @@
1
- import { Module, ModuleWrapper } from '@xyo-network/module';
2
- export declare const useModule: {
3
- (name?: string | undefined): [Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
4
- name?: string | undefined;
5
- security?: {
6
- allowAnonymous?: boolean | undefined;
7
- allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
8
- disallowed?: Record<string, string[]> | undefined;
9
- } | undefined;
10
- storeQueries?: boolean | undefined;
11
- } & {
12
- schema: string;
13
- }> | undefined, Error | undefined];
14
- (name: string | undefined, wrap: true | import("@xyo-network/account").Account): [ModuleWrapper<Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
15
- name?: string | undefined;
16
- security?: {
17
- allowAnonymous?: boolean | undefined;
18
- allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
19
- disallowed?: Record<string, string[]> | undefined;
20
- } | undefined;
21
- storeQueries?: boolean | undefined;
22
- } & {
23
- schema: string;
24
- }>> | undefined, Error | undefined];
25
- (address: string): [Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
26
- name?: string | undefined;
27
- security?: {
28
- allowAnonymous?: boolean | undefined;
29
- allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
30
- disallowed?: Record<string, string[]> | undefined;
31
- } | undefined;
32
- storeQueries?: boolean | undefined;
33
- } & {
34
- schema: string;
35
- }> | undefined, Error | undefined];
36
- (address: string, wrap: true | import("@xyo-network/account").Account): [ModuleWrapper<Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
37
- name?: string | undefined;
38
- security?: {
39
- allowAnonymous?: boolean | undefined;
40
- allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
41
- disallowed?: Record<string, string[]> | undefined;
42
- } | undefined;
43
- storeQueries?: boolean | undefined;
44
- } & {
45
- schema: string;
46
- }>> | undefined, Error | undefined];
47
- };
1
+ import { AccountInstance } from '@xyo-network/account-model';
2
+ import { Module, ModuleFilter } from '@xyo-network/module-model';
3
+ export declare const useModule: <TModule extends Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
4
+ name?: string | undefined;
5
+ security?: {
6
+ allowAnonymous?: boolean | undefined;
7
+ allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
8
+ disallowed?: Record<string, string[]> | undefined;
9
+ } | undefined;
10
+ storeQueries?: boolean | undefined;
11
+ } & {
12
+ schema: string;
13
+ }> = Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
14
+ name?: string | undefined;
15
+ security?: {
16
+ allowAnonymous?: boolean | undefined;
17
+ allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
18
+ disallowed?: Record<string, string[]> | undefined;
19
+ } | undefined;
20
+ storeQueries?: boolean | undefined;
21
+ } & {
22
+ schema: string;
23
+ }>>(nameOrAddressOrFilter?: string | ModuleFilter, account?: AccountInstance) => [TModule | undefined, Error | undefined];
48
24
  //# sourceMappingURL=useModule.d.ts.map
@@ -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;AAK3D,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0E,CAAA"}
1
+ {"version":3,"file":"useModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModule.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAMhE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;4BACI,MAAM,GAAG,YAAY,YACnC,eAAe,6CAoE1B,CAAA"}
@@ -1,9 +1,9 @@
1
- import { Module, ModuleFilter } from '@xyo-network/module';
2
- export declare const useModules: <T extends Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
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) => T[] | undefined;
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,qBAAqB,CAAA;AAK1D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;aAAwC,YAAY,oBAgB1E,CAAA"}
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,+CAoChF,CAAA"}
@@ -1,8 +1,4 @@
1
- import { NodeModule, NodeWrapper } from '@xyo-network/node';
2
- export declare const useNode: {
3
- (name?: string | undefined): [NodeModule | undefined, Error | undefined];
4
- (name: string | undefined, wrap: true | import("@xyo-network/account").Account): [NodeWrapper | undefined, Error | undefined];
5
- (address: string): [NodeModule | undefined, Error | undefined];
6
- (address: string, wrap: true | import("@xyo-network/account").Account): [NodeWrapper | undefined, Error | undefined];
7
- };
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];
8
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,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAK3D,eAAO,MAAM,OAAO;;;;;CAGlB,CAAA"}
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,2 @@
1
+ export declare const useNodeAttachedAddresses: () => (string[] | Promise<string[]> | undefined)[];
2
+ //# sourceMappingURL=useNodeAttachedAddresses.d.ts.map
@@ -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,6 +1,5 @@
1
+ import { AccountInstance } from '@xyo-network/account-model';
1
2
  import { NodeModule, NodeWrapper } from '@xyo-network/node';
2
- declare function useProvidedNodeFunc(wrap?: false): [NodeModule | undefined];
3
- declare function useProvidedNodeFunc(wrap: true): [NodeWrapper | undefined];
4
- export declare const useProvidedNode: typeof useProvidedNodeFunc;
5
- export {};
3
+ export declare const useProvidedNode: () => [NodeModule | undefined];
4
+ export declare const useProvidedWrappedNode: (account?: AccountInstance) => [NodeWrapper | undefined, Error | undefined];
6
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,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAK3D,iBAAS,mBAAmB,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;AACpE,iBAAS,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,CAAA;AAOnE,eAAO,MAAM,eAAe,4BAAsB,CAAA"}
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;AAM3D,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,CA2B7G,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { AccountInstance } from '@xyo-network/account-model';
2
+ import { ModuleWrapper } from '@xyo-network/module';
3
+ export interface WrapperStatic<TModuleWrapper extends ModuleWrapper = ModuleWrapper> {
4
+ requiredQueries: string[];
5
+ wrap: (module?: TModuleWrapper['module'], account?: AccountInstance) => TModuleWrapper;
6
+ }
7
+ export declare const WrappedModuleHookFactory: <TModuleWrapper extends ModuleWrapper<import("@xyo-network/module").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
8
+ name?: string | undefined;
9
+ security?: {
10
+ allowAnonymous?: boolean | undefined;
11
+ allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
12
+ disallowed?: Record<string, string[]> | undefined;
13
+ } | undefined;
14
+ storeQueries?: boolean | undefined;
15
+ } & {
16
+ schema: string;
17
+ }>> = ModuleWrapper<import("@xyo-network/module").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
18
+ name?: string | undefined;
19
+ security?: {
20
+ allowAnonymous?: boolean | undefined;
21
+ allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
22
+ disallowed?: Record<string, string[]> | undefined;
23
+ } | undefined;
24
+ storeQueries?: boolean | undefined;
25
+ } & {
26
+ schema: string;
27
+ }>>>(wrapperObject: WrapperStatic<TModuleWrapper>, name?: string) => (nameOrAddress?: string, account?: AccountInstance, spinCheck?: boolean) => [TModuleWrapper | undefined, Error | undefined];
28
+ export declare const useWrappedModule: (nameOrAddress?: string, account?: AccountInstance, spinCheck?: boolean) => [ModuleWrapper<import("@xyo-network/module").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
29
+ name?: string | undefined;
30
+ security?: {
31
+ allowAnonymous?: boolean | undefined;
32
+ allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
33
+ disallowed?: Record<string, string[]> | undefined;
34
+ } | undefined;
35
+ storeQueries?: boolean | undefined;
36
+ } & {
37
+ schema: string;
38
+ }>> | undefined, Error | undefined];
39
+ //# sourceMappingURL=useWrappedModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWrappedModule.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWrappedModule.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAMnD,MAAM,WAAW,aAAa,CAAC,cAAc,SAAS,aAAa,GAAG,aAAa;IACjF,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,cAAc,CAAA;CACvF;AAED,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;0DAE5B,MAAM,sBAEoB,MAAM,YAAY,eAAe,cAAc,OAAO,oDAyCxF,CAAA;AAED,eAAO,MAAM,gBAAgB,mBA3CM,MAAM,YAAY,eAAe,cAAc,OAAO;;;;;;;;;;mCA2ClB,CAAA"}