@xyo-network/react-node 2.43.2 → 2.44.0

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 (68) hide show
  1. package/dist/cjs/components/Node.js +1 -1
  2. package/dist/cjs/components/Node.js.map +1 -1
  3. package/dist/cjs/components/NodeDrawer.js +1 -1
  4. package/dist/cjs/components/NodeDrawer.js.map +1 -1
  5. package/dist/cjs/contexts/MemoryProvider.js +3 -7
  6. package/dist/cjs/contexts/MemoryProvider.js.map +1 -1
  7. package/dist/cjs/contexts/index.js +1 -0
  8. package/dist/cjs/contexts/index.js.map +1 -1
  9. package/dist/cjs/contexts/useArchiveArchivists.js +1 -1
  10. package/dist/cjs/contexts/useArchiveArchivists.js.map +1 -1
  11. package/dist/cjs/contexts/useMemoryNodeUpdates.js +1 -1
  12. package/dist/cjs/contexts/useMemoryNodeUpdates.js.map +1 -1
  13. package/dist/cjs/contexts/useModule.js +32 -0
  14. package/dist/cjs/contexts/useModule.js.map +1 -0
  15. package/dist/cjs/contexts/useModuleAddresses.js +1 -1
  16. package/dist/cjs/contexts/useModuleAddresses.js.map +1 -1
  17. package/dist/cjs/contexts/useModules.js +4 -4
  18. package/dist/cjs/contexts/useModules.js.map +1 -1
  19. package/dist/cjs/contexts/useNode.js +17 -7
  20. package/dist/cjs/contexts/useNode.js.map +1 -1
  21. package/dist/cjs/contexts/useNodeQueryDiviner.js +1 -1
  22. package/dist/cjs/contexts/useNodeQueryDiviner.js.map +1 -1
  23. package/dist/docs.json +628 -492
  24. package/dist/esm/components/Node.js +1 -1
  25. package/dist/esm/components/Node.js.map +1 -1
  26. package/dist/esm/components/NodeDrawer.js +1 -1
  27. package/dist/esm/components/NodeDrawer.js.map +1 -1
  28. package/dist/esm/contexts/MemoryProvider.js +3 -6
  29. package/dist/esm/contexts/MemoryProvider.js.map +1 -1
  30. package/dist/esm/contexts/index.js +1 -0
  31. package/dist/esm/contexts/index.js.map +1 -1
  32. package/dist/esm/contexts/useArchiveArchivists.js +1 -1
  33. package/dist/esm/contexts/useArchiveArchivists.js.map +1 -1
  34. package/dist/esm/contexts/useMemoryNodeUpdates.js +1 -1
  35. package/dist/esm/contexts/useMemoryNodeUpdates.js.map +1 -1
  36. package/dist/esm/contexts/useModule.js +26 -0
  37. package/dist/esm/contexts/useModule.js.map +1 -0
  38. package/dist/esm/contexts/useModuleAddresses.js +1 -1
  39. package/dist/esm/contexts/useModuleAddresses.js.map +1 -1
  40. package/dist/esm/contexts/useModules.js +5 -5
  41. package/dist/esm/contexts/useModules.js.map +1 -1
  42. package/dist/esm/contexts/useNode.js +17 -8
  43. package/dist/esm/contexts/useNode.js.map +1 -1
  44. package/dist/esm/contexts/useNodeQueryDiviner.js +1 -1
  45. package/dist/esm/contexts/useNodeQueryDiviner.js.map +1 -1
  46. package/dist/types/contexts/MemoryProvider.d.ts +1 -0
  47. package/dist/types/contexts/MemoryProvider.d.ts.map +1 -1
  48. package/dist/types/contexts/index.d.ts +1 -0
  49. package/dist/types/contexts/index.d.ts.map +1 -1
  50. package/dist/types/contexts/useModule.d.ts +23 -0
  51. package/dist/types/contexts/useModule.d.ts.map +1 -0
  52. package/dist/types/contexts/useModules.d.ts +12 -2
  53. package/dist/types/contexts/useModules.d.ts.map +1 -1
  54. package/dist/types/contexts/useNode.d.ts +2 -3
  55. package/dist/types/contexts/useNode.d.ts.map +1 -1
  56. package/package.json +10 -10
  57. package/src/components/Node.stories.tsx +1 -1
  58. package/src/components/Node.tsx +1 -1
  59. package/src/components/NodeDrawer.tsx +1 -1
  60. package/src/contexts/MemoryProvider.tsx +4 -6
  61. package/src/contexts/index.ts +1 -0
  62. package/src/contexts/useArchiveArchivists.tsx +1 -1
  63. package/src/contexts/useMemoryNodeUpdates.tsx +1 -1
  64. package/src/contexts/useModule.ts +30 -0
  65. package/src/contexts/useModuleAddresses.ts +1 -1
  66. package/src/contexts/useModules.ts +6 -6
  67. package/src/contexts/useNode.ts +20 -8
  68. package/src/contexts/useNodeQueryDiviner.tsx +1 -1
@@ -5,7 +5,7 @@ import { NodeWrapper } from '@xyo-network/node';
5
5
  import { useState } from 'react';
6
6
  import { useNode } from '../contexts';
7
7
  export const NodeBox = (props) => {
8
- const [node] = useNode(false);
8
+ const node = useNode();
9
9
  const [description, setDescription] = useState();
10
10
  useAsyncEffect(
11
11
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1 +1 @@
1
- {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../src/components/Node.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAgB,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,KAAK,EAAE,EAAE;IACvD,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAU,CAAA;IAExD,cAAc;IACZ,uDAAuD;IACvD,KAAK,IAAI,EAAE;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACzD,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACpE,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAA;IAED,OAAO,CACL,KAAC,OAAO,OAAK,KAAK,YAChB,wBAAM,WAAW,GAAO,GAChB,CACX,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../src/components/Node.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAgB,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,KAAK,EAAE,EAAE;IACvD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAU,CAAA;IAExD,cAAc;IACZ,uDAAuD;IACvD,KAAK,IAAI,EAAE;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACzD,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACpE,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAA;IAED,OAAO,CACL,KAAC,OAAO,OAAK,KAAK,YAChB,wBAAM,WAAW,GAAO,GAChB,CACX,CAAA;AACH,CAAC,CAAA"}
@@ -6,7 +6,7 @@ import { useNode, useNodeDrawer } from '../contexts';
6
6
  import { ModuleDescriptionBox } from './render';
7
7
  export const NodeDrawer = ({ children, ...props }) => {
8
8
  const { open, setOpen } = useNodeDrawer();
9
- const [node] = useNode();
9
+ const node = useNode();
10
10
  return (_jsx(Drawer, { open: open ?? false, anchor: "right", ...props, children: _jsx(ClickAwayListener, { onClickAway: () => setOpen?.(false), children: _jsxs(FlexGrowCol, { role: "presentation", justifyContent: "start", p: 2, rowGap: 2, minWidth: "33vw", children: [_jsx(FlexRow, { alignContent: "start", justifyContent: "start", width: "100%", children: _jsx(IconButton, { onClick: () => setOpen?.(false), children: _jsx(CloseIcon, {}) }) }), _jsx(ModuleDescriptionBox, { module: node }), children] }) }) }));
11
11
  };
12
12
  //# sourceMappingURL=NodeDrawer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeDrawer.js","sourceRoot":"","sources":["../../../src/components/NodeDrawer.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAe,UAAU,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG5D,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAI/C,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC9E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAA;IACzC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAA;IAExB,OAAO,CACL,KAAC,MAAM,IAAC,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,EAAC,OAAO,KAAK,KAAK,YACnD,KAAC,iBAAiB,IAAC,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,YACpD,MAAC,WAAW,IAAC,IAAI,EAAC,cAAc,EAAC,cAAc,EAAC,OAAO,EAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAC,MAAM,aACtF,KAAC,OAAO,IAAC,YAAY,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,YAC/D,KAAC,UAAU,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,YACzC,KAAC,SAAS,KAAG,GACF,GACL,EACV,KAAC,oBAAoB,IAAC,MAAM,EAAE,IAAI,GAAI,EACrC,QAAQ,IACG,GACI,GACb,CACV,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"NodeDrawer.js","sourceRoot":"","sources":["../../../src/components/NodeDrawer.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAe,UAAU,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG5D,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAI/C,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC9E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAA;IACzC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IAEtB,OAAO,CACL,KAAC,MAAM,IAAC,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,EAAC,OAAO,KAAK,KAAK,YACnD,KAAC,iBAAiB,IAAC,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,YACpD,MAAC,WAAW,IAAC,IAAI,EAAC,cAAc,EAAC,cAAc,EAAC,OAAO,EAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAC,MAAM,aACtF,KAAC,OAAO,IAAC,YAAY,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,YAC/D,KAAC,UAAU,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,YACzC,KAAC,SAAS,KAAG,GACF,GACL,EACV,KAAC,oBAAoB,IAAC,MAAM,EAAE,IAAI,GAAI,EACrC,QAAQ,IACG,GACI,GACb,CACV,CAAA;AACH,CAAC,CAAA"}
@@ -1,21 +1,18 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useAsyncEffect } from '@xylabs/react-shared';
3
3
  import { MemoryNode } from '@xyo-network/node';
4
- import { useDataState } from '@xyo-network/react-shared';
5
4
  import { useState } from 'react';
6
5
  import { NodeProvider } from './Provider';
7
- export const MemoryNodeProvider = ({ children, required = false, ...params }) => {
6
+ export const MemoryNodeProvider = ({ children, moduleParams, required = false }) => {
8
7
  const [node, setNode] = useState();
9
- const [config, setConfig] = useDataState(params);
10
- setConfig(params);
11
8
  useAsyncEffect(
12
9
  // eslint-disable-next-line react-hooks/exhaustive-deps
13
10
  async (mounted) => {
14
- const node = await MemoryNode.create(config);
11
+ const node = await MemoryNode.create(moduleParams);
15
12
  if (mounted()) {
16
13
  setNode(node);
17
14
  }
18
- }, [config]);
15
+ }, [moduleParams]);
19
16
  return (_jsx(NodeProvider, { node: node, required: required, children: children }));
20
17
  };
21
18
  //# sourceMappingURL=MemoryProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryProvider.js","sourceRoot":"","sources":["../../../src/contexts/MemoryProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAA;AAEnE,OAAO,EAAE,UAAU,EAAc,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAOzC,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE;IACjH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,EAAc,CAAA;IAC9C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,YAAY,CAA2B,MAAM,CAAC,CAAA;IAC1E,SAAS,CAAC,MAAM,CAAC,CAAA;IAEjB,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;IACH,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAA;IAED,OAAO,CACL,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,YACzC,QAAQ,GACI,CAChB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"MemoryProvider.js","sourceRoot":"","sources":["../../../src/contexts/MemoryProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAA;AAEnE,OAAO,EAAE,UAAU,EAAc,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAQzC,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE,EAAE;IACpH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,EAAc,CAAA;IAE9C,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAClD,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;IACH,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAA;IAED,OAAO,CACL,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,YACzC,QAAQ,GACI,CAChB,CAAA;AACH,CAAC,CAAA"}
@@ -10,6 +10,7 @@ export * from './useArchivistModules';
10
10
  export * from './useDivinerModule';
11
11
  export * from './useDivinerModules';
12
12
  export * from './useMemoryNodeUpdates';
13
+ export * from './useModule';
13
14
  export * from './useModuleAddresses';
14
15
  export * from './useModules';
15
16
  export * from './useNode';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,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,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,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,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
@@ -4,7 +4,7 @@ import { useCallback, useMemo } from 'react';
4
4
  import { useMemoryNodeUpdates } from './useMemoryNodeUpdates';
5
5
  import { useWrappedNode } from './useNode';
6
6
  export const useArchiveArchivistsRaw = (archiveName, refresher) => {
7
- const [node] = useWrappedNode();
7
+ const node = useWrappedNode();
8
8
  const buildReq = useCallback((type) => (archiveName && node) || refresher
9
9
  ? node?.resolveWrapped(ArchivistWrapper, { name: [encodeURIComponent(`${archiveName}[${type}]`)] })
10
10
  : undefined, [archiveName, node, refresher]);
@@ -1 +1 @@
1
- {"version":3,"file":"useArchiveArchivists.js","sourceRoot":"","sources":["../../../src/contexts/useArchiveArchivists.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAO1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,WAAoB,EAAE,SAAmB,EAAoC,EAAE;IACrH,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,EAAc,CAAA;IAE3C,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,IAAgC,EAAE,EAAE,CACnC,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,SAAS;QAChC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,GAAG,WAAW,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;QACnG,CAAC,CAAC,SAAS,EACf,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAC/B,CAAA;IAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1E,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEpF,MAAM,CAAC,qBAAqB,CAAC,GAAG,UAAU,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACtF,MAAM,CAAC,0BAA0B,CAAC,GAAG,UAAU,CAAC,wBAAwB,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAErG,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,0BAA0B,EAAE,CAAC,CAAC,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE;YACjE,OAAO;gBACL,0BAA0B,EAAE,0BAA0B,CAAC,CAAC,CAAqB;gBAC7E,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,CAAqB;aACpE,CAAA;SACF;aAAM;YACL,OAAM;SACP;IACH,CAAC,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC,CAAA;IAEvD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,WAAoB,EAAE,SAAmB,EAAE,gBAA2B,EAAE,EAAE;IAC7G,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IACzD,MAAM,UAAU,GAAG,uBAAuB,CAAC,WAAW,EAAE,SAAS,IAAI,MAAM,CAAC,CAAA;IAE5E,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
1
+ {"version":3,"file":"useArchiveArchivists.js","sourceRoot":"","sources":["../../../src/contexts/useArchiveArchivists.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAO1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,WAAoB,EAAE,SAAmB,EAAoC,EAAE;IACrH,MAAM,IAAI,GAAG,cAAc,EAAc,CAAA;IAEzC,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,IAAgC,EAAE,EAAE,CACnC,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,SAAS;QAChC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,GAAG,WAAW,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;QACnG,CAAC,CAAC,SAAS,EACf,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAC/B,CAAA;IAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1E,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEpF,MAAM,CAAC,qBAAqB,CAAC,GAAG,UAAU,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACtF,MAAM,CAAC,0BAA0B,CAAC,GAAG,UAAU,CAAC,wBAAwB,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAErG,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,0BAA0B,EAAE,CAAC,CAAC,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE;YACjE,OAAO;gBACL,0BAA0B,EAAE,0BAA0B,CAAC,CAAC,CAAqB;gBAC7E,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,CAAqB;aACpE,CAAA;SACF;aAAM;YACL,OAAM;SACP;IACH,CAAC,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC,CAAA;IAEvD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,WAAoB,EAAE,SAAmB,EAAE,gBAA2B,EAAE,EAAE;IAC7G,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IACzD,MAAM,UAAU,GAAG,uBAAuB,CAAC,WAAW,EAAE,SAAS,IAAI,MAAM,CAAC,CAAA;IAE5E,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { useEffect, useState } from 'react';
2
2
  import { useNode } from './useNode';
3
3
  export const useMemoryNodeUpdates = (refreshAddresses) => {
4
- const [node] = useNode();
4
+ const node = useNode();
5
5
  const [module, setModule] = useState();
6
6
  useEffect(() => {
7
7
  if (node) {
@@ -1 +1 @@
1
- {"version":3,"file":"useMemoryNodeUpdates.js","sourceRoot":"","sources":["../../../src/contexts/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,EAAc,CAAA;IACpC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAA2B,CAAA;IAE/D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjC,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/contexts/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,IAAI,GAAG,OAAO,EAAc,CAAA;IAClC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAA2B,CAAA;IAE/D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjC,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"}
@@ -0,0 +1,26 @@
1
+ import { useAsyncEffect } from '@xylabs/react-shared';
2
+ import { ModuleDiscoverQuerySchema } from '@xyo-network/module';
3
+ import { useState } from 'react';
4
+ import { useWrappedNode } from './useNode';
5
+ export const useModule = (addressOrName, query = [[ModuleDiscoverQuerySchema]]) => {
6
+ const node = useWrappedNode();
7
+ const [module, setModule] = useState();
8
+ useAsyncEffect(
9
+ // eslint-disable-next-line react-hooks/exhaustive-deps
10
+ async (mounted) => {
11
+ if (addressOrName) {
12
+ const module = await node?.resolve(addressOrName);
13
+ if (mounted()) {
14
+ setModule(module);
15
+ }
16
+ }
17
+ else {
18
+ const module = (await node?.resolve({ query }))?.pop();
19
+ if (mounted()) {
20
+ setModule(module);
21
+ }
22
+ }
23
+ }, [node, addressOrName, query]);
24
+ return module;
25
+ };
26
+ //# sourceMappingURL=useModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/contexts/useModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAU,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAkC,aAAsB,EAAE,QAAoB,CAAC,CAAC,yBAAyB,CAAC,CAAC,EAAE,EAAE;IACtI,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAW,CAAA;IAE/C,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,aAAa,EAAE;YACjB,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,OAAO,CAAU,aAAa,CAAC,CAAA;YAC1D,IAAI,OAAO,EAAE,EAAE;gBACb,SAAS,CAAC,MAAM,CAAC,CAAA;aAClB;SACF;aAAM;YACL,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,EAAE,OAAO,CAAU,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAA;YAC/D,IAAI,OAAO,EAAE,EAAE;gBACb,SAAS,CAAC,MAAM,CAAC,CAAA;aAClB;SACF;IACH,CAAC,EACD,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAC7B,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
@@ -2,7 +2,7 @@ import { useAsyncEffect } from '@xylabs/react-shared';
2
2
  import { useState } from 'react';
3
3
  import { useNode } from './useNode';
4
4
  export const useModuleAddresses = () => {
5
- const [node] = useNode();
5
+ const node = useNode();
6
6
  const [attachedAddresses, setAttachedAddresses] = useState();
7
7
  useAsyncEffect(
8
8
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1 +1 @@
1
- {"version":3,"file":"useModuleAddresses.js","sourceRoot":"","sources":["../../../src/contexts/useModuleAddresses.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,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAA;IACxB,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,EAAY,CAAA;IAEtE,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,oBAAoB,CAAC,QAAQ,CAAC,CAAA;SAC/B;IACH,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAA;IAED,OAAO,CAAC,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA"}
1
+ {"version":3,"file":"useModuleAddresses.js","sourceRoot":"","sources":["../../../src/contexts/useModuleAddresses.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,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,EAAY,CAAA;IAEtE,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,oBAAoB,CAAC,QAAQ,CAAC,CAAA;SAC/B;IACH,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAA;IAED,OAAO,CAAC,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA"}
@@ -1,17 +1,17 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-shared';
2
2
  import { useState } from 'react';
3
- import { useNode } from './useNode';
4
- export const useModules = (filter, refresher) => {
5
- const [node] = useNode();
3
+ import { useWrappedNode } from './useNode';
4
+ export const useModules = (filter) => {
5
+ const node = useWrappedNode();
6
6
  const [modules, setModules] = useState();
7
7
  useAsyncEffect(
8
8
  // eslint-disable-next-line react-hooks/exhaustive-deps
9
9
  async (mounted) => {
10
- const modules = await node?.downResolver.resolve(filter);
10
+ const modules = await node?.resolve(filter);
11
11
  if (mounted()) {
12
12
  setModules(modules);
13
13
  }
14
- }, [filter, node, refresher]);
14
+ }, [filter, node]);
15
15
  return modules;
16
16
  };
17
17
  //# sourceMappingURL=useModules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useModules.js","sourceRoot":"","sources":["../../../src/contexts/useModules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAqB,EAAE,SAAmB,EAAE,EAAE;IACvE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAc,CAAA;IACpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAY,CAAA;IAElD,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,OAAO,GAAG,MAAM,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACxD,IAAI,OAAO,EAAE,EAAE;YACb,UAAU,CAAC,OAAO,CAAC,CAAA;SACpB;IACH,CAAC,EACD,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAC1B,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"useModules.js","sourceRoot":"","sources":["../../../src/contexts/useModules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE1C,MAAM,CAAC,MAAM,UAAU,GAAG,CAA4B,MAAqB,EAAE,EAAE;IAC7E,MAAM,IAAI,GAAG,cAAc,EAAc,CAAA;IACzC,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,17 +1,26 @@
1
+ import { useAsyncEffect } from '@xylabs/react-shared';
1
2
  import { NodeWrapper } from '@xyo-network/node';
2
- import { useContextEx } from '@xyo-network/react-shared';
3
- import { useEffect, useState } from 'react';
3
+ import { useContext, useEffect, useState } from 'react';
4
4
  import { NodeContext } from './Context';
5
- export const useNode = (required = true) => {
6
- const { node, setNode } = useContextEx(NodeContext, 'Node', required);
7
- return [node, setNode];
5
+ export const useNode = (nameOrAddress) => {
6
+ const { node } = useContext(NodeContext);
7
+ const [resolvedNode, setResolvedNode] = useState();
8
+ useAsyncEffect(
9
+ // eslint-disable-next-line react-hooks/exhaustive-deps
10
+ async (mounted) => {
11
+ const resolvedNode = (node && nameOrAddress ? await NodeWrapper.wrap(node).resolve(nameOrAddress) : node);
12
+ if (mounted()) {
13
+ setResolvedNode(resolvedNode);
14
+ }
15
+ }, [node, nameOrAddress]);
16
+ return resolvedNode;
8
17
  };
9
- export const useWrappedNode = () => {
18
+ export const useWrappedNode = (nameOrAddress) => {
19
+ const node = useNode(nameOrAddress);
10
20
  const [wrappedNode, setWrappedNode] = useState();
11
- const [node] = useNode();
12
21
  useEffect(() => {
13
22
  setWrappedNode(node ? NodeWrapper.wrap(node) : undefined);
14
23
  }, [node]);
15
- return [wrappedNode];
24
+ return wrappedNode;
16
25
  };
17
26
  //# sourceMappingURL=useNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/contexts/useNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAY,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAoC,QAAQ,GAAG,IAAI,EAAqD,EAAE;IAC/H,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAErE,OAAO,CAAC,IAAS,EAAE,OAAO,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAiE,EAAE;IAC/F,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAe,CAAA;IAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAK,CAAA;IAE3B,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC3D,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,OAAO,CAAC,WAAW,CAAC,CAAA;AACtB,CAAC,CAAA"}
1
+ {"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/contexts/useNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAoC,aAAsB,EAAiB,EAAE;IAClG,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACxC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAK,CAAA;IAErD,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAkB,CAAA;QAC1H,IAAI,OAAO,EAAE,EAAE;YACb,eAAe,CAAC,YAAY,CAAC,CAAA;SAC9B;IACH,CAAC,EACD,CAAC,IAAI,EAAE,aAAa,CAAC,CACtB,CAAA;IAED,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAoC,aAAsB,EAA2B,EAAE;IACnH,MAAM,IAAI,GAAG,OAAO,CAAI,aAAa,CAAC,CAAA;IACtC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAe,CAAA;IAE7D,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC3D,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
@@ -7,7 +7,7 @@ import { useNode } from './useNode';
7
7
  export const useNodeQueryDivinerRaw = (moduleIdentifier, query, refresher) => {
8
8
  const [result, setResult] = useState();
9
9
  const [error, setError] = useState();
10
- const [node] = useNode();
10
+ const node = useNode();
11
11
  useAsyncEffect(
12
12
  // eslint-disable-next-line react-hooks/exhaustive-deps
13
13
  async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useNodeQueryDiviner.js","sourceRoot":"","sources":["../../../src/contexts/useNodeQueryDiviner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,gBAAyB,EACzB,KAAkB,EAClB,SAAmB,EAC2B,EAAE;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAe,CAAA;IACnD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAc,CAAA;IAEpC,cAAc;IACZ,uDAAuD;IACvD,KAAK,IAAI,EAAE;QACT,IAAI,gBAAgB,IAAI,KAAK,IAAI,IAAI,IAAI,SAAS,EAAE;YAClD,IAAI;gBACF,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBAC3F,eAAe,CAAC,aAAa,EAAE,oCAAoC,gBAAgB,EAAE,CAAC,CAAA;gBACtF,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,oCAAoC,gBAAgB,EAAE,CAAC,CAAC,CAAA;gBAE3H,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC5C,SAAS,CAAC,MAAM,CAAC,CAAA;gBACjB,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAChB,SAAS,CAAC,SAAS,CAAC,CAAA;gBACpB,QAAQ,CAAC,CAAU,CAAC,CAAA;aACrB;SACF;IACH,CAAC,EACD,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAC3C,CAAA;IAED,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,gBAAyB,EACzB,KAAkB,EAClB,SAAmB,EACnB,gBAA2B,EACgB,EAAE;IAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IACzD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,sBAAsB,CAAC,gBAAgB,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IAE9F,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA"}
1
+ {"version":3,"file":"useNodeQueryDiviner.js","sourceRoot":"","sources":["../../../src/contexts/useNodeQueryDiviner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,gBAAyB,EACzB,KAAkB,EAClB,SAAmB,EAC2B,EAAE;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAe,CAAA;IACnD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,MAAM,IAAI,GAAG,OAAO,EAAc,CAAA;IAElC,cAAc;IACZ,uDAAuD;IACvD,KAAK,IAAI,EAAE;QACT,IAAI,gBAAgB,IAAI,KAAK,IAAI,IAAI,IAAI,SAAS,EAAE;YAClD,IAAI;gBACF,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBAC3F,eAAe,CAAC,aAAa,EAAE,oCAAoC,gBAAgB,EAAE,CAAC,CAAA;gBACtF,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,oCAAoC,gBAAgB,EAAE,CAAC,CAAC,CAAA;gBAE3H,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC5C,SAAS,CAAC,MAAM,CAAC,CAAA;gBACjB,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAChB,SAAS,CAAC,SAAS,CAAC,CAAA;gBACpB,QAAQ,CAAC,CAAU,CAAC,CAAA;aACrB;SACF;IACH,CAAC,EACD,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAC3C,CAAA;IAED,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,gBAAyB,EACzB,KAAkB,EAClB,SAAmB,EACnB,gBAA2B,EACgB,EAAE;IAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IACzD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,sBAAsB,CAAC,gBAAgB,EAAE,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IAE9F,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA"}
@@ -3,6 +3,7 @@ import { WithChildren } from '@xylabs/react-shared';
3
3
  import { ModuleParams } from '@xyo-network/module';
4
4
  import { NodeConfig } from '@xyo-network/node';
5
5
  export type MemoryNodeProviderProps = WithChildren<{
6
+ moduleParams?: ModuleParams<NodeConfig>;
6
7
  required?: boolean;
7
8
  }> & ModuleParams<NodeConfig>;
8
9
  export declare const MemoryNodeProvider: React.FC<MemoryNodeProviderProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../../src/contexts/MemoryProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAM1D,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqBhE,CAAA"}
1
+ {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../../src/contexts/MemoryProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAK1D,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmBhE,CAAA"}
@@ -10,6 +10,7 @@ export * from './useArchivistModules';
10
10
  export * from './useDivinerModule';
11
11
  export * from './useDivinerModules';
12
12
  export * from './useMemoryNodeUpdates';
13
+ export * from './useModule';
13
14
  export * from './useModuleAddresses';
14
15
  export * from './useModules';
15
16
  export * from './useNode';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,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,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,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,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { Module } from '@xyo-network/module';
2
+ export declare const useModule: <TModule extends Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
3
+ name?: string | undefined;
4
+ security?: {
5
+ allowAnonymous?: boolean | undefined;
6
+ allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
7
+ disallowed?: Record<string, string[]> | undefined;
8
+ } | undefined;
9
+ storeQueries?: boolean | undefined;
10
+ } & {
11
+ schema: string;
12
+ }> = Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
13
+ name?: string | undefined;
14
+ security?: {
15
+ allowAnonymous?: boolean | undefined;
16
+ allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
17
+ disallowed?: Record<string, string[]> | undefined;
18
+ } | undefined;
19
+ storeQueries?: boolean | undefined;
20
+ } & {
21
+ schema: string;
22
+ }>>(addressOrName?: string, query?: string[][]) => TModule | undefined;
23
+ //# sourceMappingURL=useModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModule.d.ts","sourceRoot":"","sources":["../../../src/contexts/useModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA6B,MAAM,qBAAqB,CAAA;AAKvE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;oBAAqD,MAAM,UAAS,MAAM,EAAE,EAAE,wBAuBnG,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { Module, ModuleFilter } from '@xyo-network/module';
2
- export declare const useModules: (filter?: ModuleFilter, refresher?: unknown) => Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
2
+ export declare const useModules: <T 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;
@@ -9,5 +9,15 @@ export declare const useModules: (filter?: ModuleFilter, refresher?: unknown) =>
9
9
  storeQueries?: boolean | undefined;
10
10
  } & {
11
11
  schema: string;
12
- }>[] | undefined;
12
+ }> = Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
13
+ name?: string | undefined;
14
+ security?: {
15
+ allowAnonymous?: boolean | undefined;
16
+ allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
17
+ disallowed?: Record<string, string[]> | undefined;
18
+ } | undefined;
19
+ storeQueries?: boolean | undefined;
20
+ } & {
21
+ schema: string;
22
+ }>>(filter?: ModuleFilter) => T[] | undefined;
13
23
  //# sourceMappingURL=useModules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useModules.d.ts","sourceRoot":"","sources":["../../../src/contexts/useModules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAM1D,eAAO,MAAM,UAAU,YAAa,YAAY,cAAc,OAAO;;;;;;;;;;gBAgBpE,CAAA"}
1
+ {"version":3,"file":"useModules.d.ts","sourceRoot":"","sources":["../../../src/contexts/useModules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAM1D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;aAAwC,YAAY,oBAgB1E,CAAA"}
@@ -1,5 +1,4 @@
1
1
  import { NodeModule, NodeWrapper } from '@xyo-network/node';
2
- import { Dispatch } from 'react';
3
- export declare const useNode: <T extends NodeModule = NodeModule>(required?: boolean) => [T | undefined, Dispatch<NodeModule> | undefined];
4
- export declare const useWrappedNode: <T extends NodeModule = NodeModule>() => [NodeWrapper | undefined];
2
+ export declare const useNode: <T extends NodeModule = NodeModule>(nameOrAddress?: string) => T | undefined;
3
+ export declare const useWrappedNode: <T extends NodeModule = NodeModule>(nameOrAddress?: string) => NodeWrapper | undefined;
5
4
  //# sourceMappingURL=useNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNode.d.ts","sourceRoot":"","sources":["../../../src/contexts/useNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,QAAQ,EAAuB,MAAM,OAAO,CAAA;AAIrD,eAAO,MAAM,OAAO,8GAInB,CAAA;AAED,eAAO,MAAM,cAAc,2CAA0C,CAAC,WAAW,GAAG,SAAS,CAS5F,CAAA"}
1
+ {"version":3,"file":"useNode.d.ts","sourceRoot":"","sources":["../../../src/contexts/useNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAK3D,eAAO,MAAM,OAAO,sDAAuD,MAAM,kBAgBhF,CAAA;AAED,eAAO,MAAM,cAAc,sDAAuD,MAAM,KAAG,WAAW,GAAG,SASxG,CAAA"}
package/package.json CHANGED
@@ -13,15 +13,15 @@
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/archivist": "^2.49.4",
17
- "@xyo-network/diviner-model": "^2.49.4",
18
- "@xyo-network/diviner-wrapper": "^2.49.4",
19
- "@xyo-network/module": "^2.49.4",
20
- "@xyo-network/module-model": "^2.49.4",
21
- "@xyo-network/node": "^2.49.4",
22
- "@xyo-network/payload-model": "^2.49.4",
23
- "@xyo-network/react-shared": "^2.43.2",
24
- "@xyo-network/witness": "^2.49.4"
16
+ "@xyo-network/archivist": "^2.49.5",
17
+ "@xyo-network/diviner-model": "^2.49.5",
18
+ "@xyo-network/diviner-wrapper": "^2.49.5",
19
+ "@xyo-network/module": "^2.49.5",
20
+ "@xyo-network/module-model": "^2.49.5",
21
+ "@xyo-network/node": "^2.49.5",
22
+ "@xyo-network/payload-model": "^2.49.5",
23
+ "@xyo-network/react-shared": "^2.44.0",
24
+ "@xyo-network/witness": "^2.49.5"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@storybook/react": "^6.5.16",
@@ -82,5 +82,5 @@
82
82
  },
83
83
  "sideEffects": false,
84
84
  "types": "dist/types/index.d.ts",
85
- "version": "2.43.2"
85
+ "version": "2.44.0"
86
86
  }
@@ -22,7 +22,7 @@ export default {
22
22
  } as Meta
23
23
 
24
24
  const Template: ComponentStory<React.FC> = (props) => {
25
- const [node] = useNode<MemoryNode>(false)
25
+ const node = useNode<MemoryNode>()
26
26
  const [description, setDescription] = useState<string>()
27
27
 
28
28
  useAsyncEffect(
@@ -6,7 +6,7 @@ import { useState } from 'react'
6
6
  import { useNode } from '../contexts'
7
7
 
8
8
  export const NodeBox: React.FC<FlexBoxProps> = (props) => {
9
- const [node] = useNode(false)
9
+ const node = useNode()
10
10
  const [description, setDescription] = useState<string>()
11
11
 
12
12
  useAsyncEffect(
@@ -10,7 +10,7 @@ export interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'>
10
10
 
11
11
  export const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {
12
12
  const { open, setOpen } = useNodeDrawer()
13
- const [node] = useNode()
13
+ const node = useNode()
14
14
 
15
15
  return (
16
16
  <Drawer open={open ?? false} anchor="right" {...props}>
@@ -1,30 +1,28 @@
1
1
  import { useAsyncEffect, WithChildren } from '@xylabs/react-shared'
2
2
  import { ModuleParams } from '@xyo-network/module'
3
3
  import { MemoryNode, NodeConfig } from '@xyo-network/node'
4
- import { useDataState } from '@xyo-network/react-shared'
5
4
  import { useState } from 'react'
6
5
 
7
6
  import { NodeProvider } from './Provider'
8
7
 
9
8
  export type MemoryNodeProviderProps = WithChildren<{
9
+ moduleParams?: ModuleParams<NodeConfig>
10
10
  required?: boolean
11
11
  }> &
12
12
  ModuleParams<NodeConfig>
13
13
 
14
- export const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children, required = false, ...params }) => {
14
+ export const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children, moduleParams, required = false }) => {
15
15
  const [node, setNode] = useState<MemoryNode>()
16
- const [config, setConfig] = useDataState<ModuleParams<NodeConfig>>(params)
17
- setConfig(params)
18
16
 
19
17
  useAsyncEffect(
20
18
  // eslint-disable-next-line react-hooks/exhaustive-deps
21
19
  async (mounted) => {
22
- const node = await MemoryNode.create(config)
20
+ const node = await MemoryNode.create(moduleParams)
23
21
  if (mounted()) {
24
22
  setNode(node)
25
23
  }
26
24
  },
27
- [config],
25
+ [moduleParams],
28
26
  )
29
27
 
30
28
  return (
@@ -10,6 +10,7 @@ export * from './useArchivistModules'
10
10
  export * from './useDivinerModule'
11
11
  export * from './useDivinerModules'
12
12
  export * from './useMemoryNodeUpdates'
13
+ export * from './useModule'
13
14
  export * from './useModuleAddresses'
14
15
  export * from './useModules'
15
16
  export * from './useNode'
@@ -12,7 +12,7 @@ interface UseArchiveArchivists {
12
12
  }
13
13
 
14
14
  export const useArchiveArchivistsRaw = (archiveName?: string, refresher?: unknown): UseArchiveArchivists | undefined => {
15
- const [node] = useWrappedNode<MemoryNode>()
15
+ const node = useWrappedNode<MemoryNode>()
16
16
 
17
17
  const buildReq = useCallback(
18
18
  (type: 'payload' | 'boundwitness') =>
@@ -11,7 +11,7 @@ interface UseMemoryNodeUpdates {
11
11
  }
12
12
 
13
13
  export const useMemoryNodeUpdates = (refreshAddresses?: string[]): UseMemoryNodeUpdates => {
14
- const [node] = useNode<MemoryNode>()
14
+ const node = useNode<MemoryNode>()
15
15
  const [module, setModule] = useState<ModuleAttachedEventArgs>()
16
16
 
17
17
  useEffect(() => {
@@ -0,0 +1,30 @@
1
+ import { useAsyncEffect } from '@xylabs/react-shared'
2
+ import { Module, ModuleDiscoverQuerySchema } from '@xyo-network/module'
3
+ import { useState } from 'react'
4
+
5
+ import { useWrappedNode } from './useNode'
6
+
7
+ export const useModule = <TModule extends Module = Module>(addressOrName?: string, query: string[][] = [[ModuleDiscoverQuerySchema]]) => {
8
+ const node = useWrappedNode()
9
+ const [module, setModule] = useState<TModule>()
10
+
11
+ useAsyncEffect(
12
+ // eslint-disable-next-line react-hooks/exhaustive-deps
13
+ async (mounted) => {
14
+ if (addressOrName) {
15
+ const module = await node?.resolve<TModule>(addressOrName)
16
+ if (mounted()) {
17
+ setModule(module)
18
+ }
19
+ } else {
20
+ const module = (await node?.resolve<TModule>({ query }))?.pop()
21
+ if (mounted()) {
22
+ setModule(module)
23
+ }
24
+ }
25
+ },
26
+ [node, addressOrName, query],
27
+ )
28
+
29
+ return module
30
+ }
@@ -4,7 +4,7 @@ import { useState } from 'react'
4
4
  import { useNode } from './useNode'
5
5
 
6
6
  export const useModuleAddresses = () => {
7
- const [node] = useNode()
7
+ const node = useNode()
8
8
  const [attachedAddresses, setAttachedAddresses] = useState<string[]>()
9
9
 
10
10
  useAsyncEffect(
@@ -3,21 +3,21 @@ import { Module, ModuleFilter } from '@xyo-network/module'
3
3
  import { NodeModule } from '@xyo-network/node'
4
4
  import { useState } from 'react'
5
5
 
6
- import { useNode } from './useNode'
6
+ import { useWrappedNode } from './useNode'
7
7
 
8
- export const useModules = (filter?: ModuleFilter, refresher?: unknown) => {
9
- const [node] = useNode<NodeModule>()
10
- const [modules, setModules] = useState<Module[]>()
8
+ export const useModules = <T extends Module = Module>(filter?: ModuleFilter) => {
9
+ const node = useWrappedNode<NodeModule>()
10
+ const [modules, setModules] = useState<T[]>()
11
11
 
12
12
  useAsyncEffect(
13
13
  // eslint-disable-next-line react-hooks/exhaustive-deps
14
14
  async (mounted) => {
15
- const modules = await node?.downResolver.resolve(filter)
15
+ const modules = await node?.resolve<T>(filter)
16
16
  if (mounted()) {
17
17
  setModules(modules)
18
18
  }
19
19
  },
20
- [filter, node, refresher],
20
+ [filter, node],
21
21
  )
22
22
 
23
23
  return modules