@xyo-network/react-node 2.75.7 → 2.76.1
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/browser/components/render/ModuleDescriptionBox.d.cts +1 -1
- package/dist/browser/components/render/ModuleDescriptionBox.d.cts.map +1 -1
- package/dist/browser/components/render/ModuleDescriptionBox.d.mts +1 -1
- package/dist/browser/components/render/ModuleDescriptionBox.d.mts.map +1 -1
- package/dist/browser/components/render/ModuleDescriptionBox.d.ts +1 -1
- package/dist/browser/components/render/ModuleDescriptionBox.d.ts.map +1 -1
- package/dist/browser/components/render/RenderModule.d.cts +1 -1
- package/dist/browser/components/render/RenderModule.d.cts.map +1 -1
- package/dist/browser/components/render/RenderModule.d.mts +1 -1
- package/dist/browser/components/render/RenderModule.d.mts.map +1 -1
- package/dist/browser/components/render/RenderModule.d.ts +1 -1
- package/dist/browser/components/render/RenderModule.d.ts.map +1 -1
- package/dist/browser/hooks/index.d.cts +1 -0
- package/dist/browser/hooks/index.d.cts.map +1 -1
- package/dist/browser/hooks/index.d.mts +1 -0
- package/dist/browser/hooks/index.d.mts.map +1 -1
- package/dist/browser/hooks/index.d.ts +1 -0
- package/dist/browser/hooks/index.d.ts.map +1 -1
- package/dist/browser/hooks/useWeakModuleFilterOptions.d.cts +18 -0
- package/dist/browser/hooks/useWeakModuleFilterOptions.d.cts.map +1 -0
- package/dist/browser/hooks/useWeakModuleFilterOptions.d.mts +18 -0
- package/dist/browser/hooks/useWeakModuleFilterOptions.d.mts.map +1 -0
- package/dist/browser/hooks/useWeakModuleFilterOptions.d.ts +18 -0
- package/dist/browser/hooks/useWeakModuleFilterOptions.d.ts.map +1 -0
- package/dist/browser/hooks/useWeakModuleFromNode.d.cts +2 -2
- package/dist/browser/hooks/useWeakModuleFromNode.d.cts.map +1 -1
- package/dist/browser/hooks/useWeakModuleFromNode.d.mts +2 -2
- package/dist/browser/hooks/useWeakModuleFromNode.d.mts.map +1 -1
- package/dist/browser/hooks/useWeakModuleFromNode.d.ts +2 -2
- package/dist/browser/hooks/useWeakModuleFromNode.d.ts.map +1 -1
- package/dist/browser/hooks/useWeakNodeFromNode.d.cts +2 -2
- package/dist/browser/hooks/useWeakNodeFromNode.d.cts.map +1 -1
- package/dist/browser/hooks/useWeakNodeFromNode.d.mts +2 -2
- package/dist/browser/hooks/useWeakNodeFromNode.d.mts.map +1 -1
- package/dist/browser/hooks/useWeakNodeFromNode.d.ts +2 -2
- package/dist/browser/hooks/useWeakNodeFromNode.d.ts.map +1 -1
- package/dist/browser/index.cjs +93 -84
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +90 -81
- package/dist/browser/index.js.map +1 -1
- package/dist/neutral/components/Node.d.cts +9 -0
- package/dist/neutral/components/Node.d.cts.map +1 -0
- package/dist/neutral/components/Node.d.mts +9 -0
- package/dist/neutral/components/Node.d.mts.map +1 -0
- package/dist/neutral/components/Node.d.ts +9 -0
- package/dist/neutral/components/Node.d.ts.map +1 -0
- package/dist/neutral/components/NodeDescriptionBox.d.cts +8 -0
- package/dist/neutral/components/NodeDescriptionBox.d.cts.map +1 -0
- package/dist/neutral/components/NodeDescriptionBox.d.mts +8 -0
- package/dist/neutral/components/NodeDescriptionBox.d.mts.map +1 -0
- package/dist/neutral/components/NodeDescriptionBox.d.ts +8 -0
- package/dist/neutral/components/NodeDescriptionBox.d.ts.map +1 -0
- package/dist/neutral/components/NodeDrawer.d.cts +7 -0
- package/dist/neutral/components/NodeDrawer.d.cts.map +1 -0
- package/dist/neutral/components/NodeDrawer.d.mts +7 -0
- package/dist/neutral/components/NodeDrawer.d.mts.map +1 -0
- package/dist/neutral/components/NodeDrawer.d.ts +7 -0
- package/dist/neutral/components/NodeDrawer.d.ts.map +1 -0
- package/dist/neutral/components/NodeModulesBox.d.cts +8 -0
- package/dist/neutral/components/NodeModulesBox.d.cts.map +1 -0
- package/dist/neutral/components/NodeModulesBox.d.mts +8 -0
- package/dist/neutral/components/NodeModulesBox.d.mts.map +1 -0
- package/dist/neutral/components/NodeModulesBox.d.ts +8 -0
- package/dist/neutral/components/NodeModulesBox.d.ts.map +1 -0
- package/dist/neutral/components/TestModule.d.cts +14 -0
- package/dist/neutral/components/TestModule.d.cts.map +1 -0
- package/dist/neutral/components/TestModule.d.mts +14 -0
- package/dist/neutral/components/TestModule.d.mts.map +1 -0
- package/dist/neutral/components/TestModule.d.ts +14 -0
- package/dist/neutral/components/TestModule.d.ts.map +1 -0
- package/dist/neutral/components/index.d.cts +3 -0
- package/dist/neutral/components/index.d.cts.map +1 -0
- package/dist/neutral/components/index.d.mts +3 -0
- package/dist/neutral/components/index.d.mts.map +1 -0
- package/dist/neutral/components/index.d.ts +3 -0
- package/dist/neutral/components/index.d.ts.map +1 -0
- package/dist/neutral/components/render/ModuleDescriptionBox.d.cts +8 -0
- package/dist/neutral/components/render/ModuleDescriptionBox.d.cts.map +1 -0
- package/dist/neutral/components/render/ModuleDescriptionBox.d.mts +8 -0
- package/dist/neutral/components/render/ModuleDescriptionBox.d.mts.map +1 -0
- package/dist/neutral/components/render/ModuleDescriptionBox.d.ts +8 -0
- package/dist/neutral/components/render/ModuleDescriptionBox.d.ts.map +1 -0
- package/dist/neutral/components/render/RenderModule.d.cts +12 -0
- package/dist/neutral/components/render/RenderModule.d.cts.map +1 -0
- package/dist/neutral/components/render/RenderModule.d.mts +12 -0
- package/dist/neutral/components/render/RenderModule.d.mts.map +1 -0
- package/dist/neutral/components/render/RenderModule.d.ts +12 -0
- package/dist/neutral/components/render/RenderModule.d.ts.map +1 -0
- package/dist/neutral/components/render/index.d.cts +3 -0
- package/dist/neutral/components/render/index.d.cts.map +1 -0
- package/dist/neutral/components/render/index.d.mts +3 -0
- package/dist/neutral/components/render/index.d.mts.map +1 -0
- package/dist/neutral/components/render/index.d.ts +3 -0
- package/dist/neutral/components/render/index.d.ts.map +1 -0
- package/dist/neutral/hooks/ModuleFromNodeConfig.d.cts +9 -0
- package/dist/neutral/hooks/ModuleFromNodeConfig.d.cts.map +1 -0
- package/dist/neutral/hooks/ModuleFromNodeConfig.d.mts +9 -0
- package/dist/neutral/hooks/ModuleFromNodeConfig.d.mts.map +1 -0
- package/dist/neutral/hooks/ModuleFromNodeConfig.d.ts +9 -0
- package/dist/neutral/hooks/ModuleFromNodeConfig.d.ts.map +1 -0
- package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.cts +9 -0
- package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.cts.map +1 -0
- package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.mts +9 -0
- package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.mts.map +1 -0
- package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.ts +9 -0
- package/dist/neutral/hooks/WeakModuleFromNodeConfig.d.ts.map +1 -0
- package/dist/neutral/hooks/index.d.cts +18 -0
- package/dist/neutral/hooks/index.d.cts.map +1 -0
- package/dist/neutral/hooks/index.d.mts +18 -0
- package/dist/neutral/hooks/index.d.mts.map +1 -0
- package/dist/neutral/hooks/index.d.ts +18 -0
- package/dist/neutral/hooks/index.d.ts.map +1 -0
- package/dist/neutral/hooks/provided/index.d.cts +3 -0
- package/dist/neutral/hooks/provided/index.d.cts.map +1 -0
- package/dist/neutral/hooks/provided/index.d.mts +3 -0
- package/dist/neutral/hooks/provided/index.d.mts.map +1 -0
- package/dist/neutral/hooks/provided/index.d.ts +3 -0
- package/dist/neutral/hooks/provided/index.d.ts.map +1 -0
- package/dist/neutral/hooks/provided/useProvidedNode.d.cts +3 -0
- package/dist/neutral/hooks/provided/useProvidedNode.d.cts.map +1 -0
- package/dist/neutral/hooks/provided/useProvidedNode.d.mts +3 -0
- package/dist/neutral/hooks/provided/useProvidedNode.d.mts.map +1 -0
- package/dist/neutral/hooks/provided/useProvidedNode.d.ts +3 -0
- package/dist/neutral/hooks/provided/useProvidedNode.d.ts.map +1 -0
- package/dist/neutral/hooks/provided/useWeakProvidedNode.d.cts +3 -0
- package/dist/neutral/hooks/provided/useWeakProvidedNode.d.cts.map +1 -0
- package/dist/neutral/hooks/provided/useWeakProvidedNode.d.mts +3 -0
- package/dist/neutral/hooks/provided/useWeakProvidedNode.d.mts.map +1 -0
- package/dist/neutral/hooks/provided/useWeakProvidedNode.d.ts +3 -0
- package/dist/neutral/hooks/provided/useWeakProvidedNode.d.ts.map +1 -0
- package/dist/neutral/hooks/useModuleFilterOptions.d.cts +18 -0
- package/dist/neutral/hooks/useModuleFilterOptions.d.cts.map +1 -0
- package/dist/neutral/hooks/useModuleFilterOptions.d.mts +18 -0
- package/dist/neutral/hooks/useModuleFilterOptions.d.mts.map +1 -0
- package/dist/neutral/hooks/useModuleFilterOptions.d.ts +18 -0
- package/dist/neutral/hooks/useModuleFilterOptions.d.ts.map +1 -0
- package/dist/neutral/hooks/useModuleFromNode.d.cts +71 -0
- package/dist/neutral/hooks/useModuleFromNode.d.cts.map +1 -0
- package/dist/neutral/hooks/useModuleFromNode.d.mts +71 -0
- package/dist/neutral/hooks/useModuleFromNode.d.mts.map +1 -0
- package/dist/neutral/hooks/useModuleFromNode.d.ts +71 -0
- package/dist/neutral/hooks/useModuleFromNode.d.ts.map +1 -0
- package/dist/neutral/hooks/useModulesFromNode.d.cts +5 -0
- package/dist/neutral/hooks/useModulesFromNode.d.cts.map +1 -0
- package/dist/neutral/hooks/useModulesFromNode.d.mts +5 -0
- package/dist/neutral/hooks/useModulesFromNode.d.mts.map +1 -0
- package/dist/neutral/hooks/useModulesFromNode.d.ts +5 -0
- package/dist/neutral/hooks/useModulesFromNode.d.ts.map +1 -0
- package/dist/neutral/hooks/useNode.d.cts +4 -0
- package/dist/neutral/hooks/useNode.d.cts.map +1 -0
- package/dist/neutral/hooks/useNode.d.mts +4 -0
- package/dist/neutral/hooks/useNode.d.mts.map +1 -0
- package/dist/neutral/hooks/useNode.d.ts +4 -0
- package/dist/neutral/hooks/useNode.d.ts.map +1 -0
- package/dist/neutral/hooks/useNodeConfigNodeField.d.cts +4 -0
- package/dist/neutral/hooks/useNodeConfigNodeField.d.cts.map +1 -0
- package/dist/neutral/hooks/useNodeConfigNodeField.d.mts +4 -0
- package/dist/neutral/hooks/useNodeConfigNodeField.d.mts.map +1 -0
- package/dist/neutral/hooks/useNodeConfigNodeField.d.ts +4 -0
- package/dist/neutral/hooks/useNodeConfigNodeField.d.ts.map +1 -0
- package/dist/neutral/hooks/useNodeDescription.d.cts +4 -0
- package/dist/neutral/hooks/useNodeDescription.d.cts.map +1 -0
- package/dist/neutral/hooks/useNodeDescription.d.mts +4 -0
- package/dist/neutral/hooks/useNodeDescription.d.mts.map +1 -0
- package/dist/neutral/hooks/useNodeDescription.d.ts +4 -0
- package/dist/neutral/hooks/useNodeDescription.d.ts.map +1 -0
- package/dist/neutral/hooks/useNodeFromNode.d.cts +5 -0
- package/dist/neutral/hooks/useNodeFromNode.d.cts.map +1 -0
- package/dist/neutral/hooks/useNodeFromNode.d.mts +5 -0
- package/dist/neutral/hooks/useNodeFromNode.d.mts.map +1 -0
- package/dist/neutral/hooks/useNodeFromNode.d.ts +5 -0
- package/dist/neutral/hooks/useNodeFromNode.d.ts.map +1 -0
- package/dist/neutral/hooks/useNodesFromNode.d.cts +6 -0
- package/dist/neutral/hooks/useNodesFromNode.d.cts.map +1 -0
- package/dist/neutral/hooks/useNodesFromNode.d.mts +6 -0
- package/dist/neutral/hooks/useNodesFromNode.d.mts.map +1 -0
- package/dist/neutral/hooks/useNodesFromNode.d.ts +6 -0
- package/dist/neutral/hooks/useNodesFromNode.d.ts.map +1 -0
- package/dist/neutral/hooks/useWeakModuleFilterOptions.d.cts +18 -0
- package/dist/neutral/hooks/useWeakModuleFilterOptions.d.cts.map +1 -0
- package/dist/neutral/hooks/useWeakModuleFilterOptions.d.mts +18 -0
- package/dist/neutral/hooks/useWeakModuleFilterOptions.d.mts.map +1 -0
- package/dist/neutral/hooks/useWeakModuleFilterOptions.d.ts +18 -0
- package/dist/neutral/hooks/useWeakModuleFilterOptions.d.ts.map +1 -0
- package/dist/neutral/hooks/useWeakModuleFromNode.d.cts +59 -0
- package/dist/neutral/hooks/useWeakModuleFromNode.d.cts.map +1 -0
- package/dist/neutral/hooks/useWeakModuleFromNode.d.mts +59 -0
- package/dist/neutral/hooks/useWeakModuleFromNode.d.mts.map +1 -0
- package/dist/neutral/hooks/useWeakModuleFromNode.d.ts +59 -0
- package/dist/neutral/hooks/useWeakModuleFromNode.d.ts.map +1 -0
- package/dist/neutral/hooks/useWeakModulesFromNode.d.cts +4 -0
- package/dist/neutral/hooks/useWeakModulesFromNode.d.cts.map +1 -0
- package/dist/neutral/hooks/useWeakModulesFromNode.d.mts +4 -0
- package/dist/neutral/hooks/useWeakModulesFromNode.d.mts.map +1 -0
- package/dist/neutral/hooks/useWeakModulesFromNode.d.ts +4 -0
- package/dist/neutral/hooks/useWeakModulesFromNode.d.ts.map +1 -0
- package/dist/neutral/hooks/useWeakNode.d.cts +4 -0
- package/dist/neutral/hooks/useWeakNode.d.cts.map +1 -0
- package/dist/neutral/hooks/useWeakNode.d.mts +4 -0
- package/dist/neutral/hooks/useWeakNode.d.mts.map +1 -0
- package/dist/neutral/hooks/useWeakNode.d.ts +4 -0
- package/dist/neutral/hooks/useWeakNode.d.ts.map +1 -0
- package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.cts +4 -0
- package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.cts.map +1 -0
- package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.mts +4 -0
- package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.mts.map +1 -0
- package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.ts +4 -0
- package/dist/neutral/hooks/useWeakNodeConfigNodeField.d.ts.map +1 -0
- package/dist/neutral/hooks/useWeakNodeDescription.d.cts +4 -0
- package/dist/neutral/hooks/useWeakNodeDescription.d.cts.map +1 -0
- package/dist/neutral/hooks/useWeakNodeDescription.d.mts +4 -0
- package/dist/neutral/hooks/useWeakNodeDescription.d.mts.map +1 -0
- package/dist/neutral/hooks/useWeakNodeDescription.d.ts +4 -0
- package/dist/neutral/hooks/useWeakNodeDescription.d.ts.map +1 -0
- package/dist/neutral/hooks/useWeakNodeFromNode.d.cts +4 -0
- package/dist/neutral/hooks/useWeakNodeFromNode.d.cts.map +1 -0
- package/dist/neutral/hooks/useWeakNodeFromNode.d.mts +4 -0
- package/dist/neutral/hooks/useWeakNodeFromNode.d.mts.map +1 -0
- package/dist/neutral/hooks/useWeakNodeFromNode.d.ts +4 -0
- package/dist/neutral/hooks/useWeakNodeFromNode.d.ts.map +1 -0
- package/dist/neutral/hooks/useWeakNodesFromNode.d.cts +5 -0
- package/dist/neutral/hooks/useWeakNodesFromNode.d.cts.map +1 -0
- package/dist/neutral/hooks/useWeakNodesFromNode.d.mts +5 -0
- package/dist/neutral/hooks/useWeakNodesFromNode.d.mts.map +1 -0
- package/dist/neutral/hooks/useWeakNodesFromNode.d.ts +5 -0
- package/dist/neutral/hooks/useWeakNodesFromNode.d.ts.map +1 -0
- package/dist/neutral/index.cjs +465 -0
- package/dist/neutral/index.cjs.map +1 -0
- package/dist/neutral/index.d.cts +5 -0
- package/dist/neutral/index.d.cts.map +1 -0
- package/dist/neutral/index.d.mts +5 -0
- package/dist/neutral/index.d.mts.map +1 -0
- package/dist/neutral/index.d.ts +5 -0
- package/dist/neutral/index.d.ts.map +1 -0
- package/dist/neutral/index.js +441 -0
- package/dist/neutral/index.js.map +1 -0
- package/dist/node/components/render/ModuleDescriptionBox.d.cts +1 -1
- package/dist/node/components/render/ModuleDescriptionBox.d.cts.map +1 -1
- package/dist/node/components/render/ModuleDescriptionBox.d.mts +1 -1
- package/dist/node/components/render/ModuleDescriptionBox.d.mts.map +1 -1
- package/dist/node/components/render/ModuleDescriptionBox.d.ts +1 -1
- package/dist/node/components/render/ModuleDescriptionBox.d.ts.map +1 -1
- package/dist/node/components/render/RenderModule.d.cts +1 -1
- package/dist/node/components/render/RenderModule.d.cts.map +1 -1
- package/dist/node/components/render/RenderModule.d.mts +1 -1
- package/dist/node/components/render/RenderModule.d.mts.map +1 -1
- package/dist/node/components/render/RenderModule.d.ts +1 -1
- package/dist/node/components/render/RenderModule.d.ts.map +1 -1
- package/dist/node/hooks/index.d.cts +1 -0
- package/dist/node/hooks/index.d.cts.map +1 -1
- package/dist/node/hooks/index.d.mts +1 -0
- package/dist/node/hooks/index.d.mts.map +1 -1
- package/dist/node/hooks/index.d.ts +1 -0
- package/dist/node/hooks/index.d.ts.map +1 -1
- package/dist/node/hooks/useWeakModuleFilterOptions.d.cts +18 -0
- package/dist/node/hooks/useWeakModuleFilterOptions.d.cts.map +1 -0
- package/dist/node/hooks/useWeakModuleFilterOptions.d.mts +18 -0
- package/dist/node/hooks/useWeakModuleFilterOptions.d.mts.map +1 -0
- package/dist/node/hooks/useWeakModuleFilterOptions.d.ts +18 -0
- package/dist/node/hooks/useWeakModuleFilterOptions.d.ts.map +1 -0
- package/dist/node/hooks/useWeakModuleFromNode.d.cts +2 -2
- package/dist/node/hooks/useWeakModuleFromNode.d.cts.map +1 -1
- package/dist/node/hooks/useWeakModuleFromNode.d.mts +2 -2
- package/dist/node/hooks/useWeakModuleFromNode.d.mts.map +1 -1
- package/dist/node/hooks/useWeakModuleFromNode.d.ts +2 -2
- package/dist/node/hooks/useWeakModuleFromNode.d.ts.map +1 -1
- package/dist/node/hooks/useWeakNodeFromNode.d.cts +2 -2
- package/dist/node/hooks/useWeakNodeFromNode.d.cts.map +1 -1
- package/dist/node/hooks/useWeakNodeFromNode.d.mts +2 -2
- package/dist/node/hooks/useWeakNodeFromNode.d.mts.map +1 -1
- package/dist/node/hooks/useWeakNodeFromNode.d.ts +2 -2
- package/dist/node/hooks/useWeakNodeFromNode.d.ts.map +1 -1
- package/dist/node/index.cjs +94 -84
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +90 -81
- package/dist/node/index.js.map +1 -1
- package/package.json +16 -16
- package/src/components/NodeDrawer.tsx +1 -1
- package/src/components/render/ModuleDescriptionBox.tsx +5 -5
- package/src/components/render/RenderModule.tsx +6 -6
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useModuleFromNode.ts +8 -8
- package/src/hooks/useModulesFromNode.ts +4 -4
- package/src/hooks/useNodeFromNode.tsx +4 -4
- package/src/hooks/useNodesFromNode.tsx +3 -3
- package/src/hooks/useWeakModuleFilterOptions.ts +6 -0
- package/src/hooks/useWeakModuleFromNode.ts +15 -15
- package/src/hooks/useWeakModulesFromNode.ts +7 -7
- package/src/hooks/useWeakNodeFromNode.tsx +2 -2
- package/src/hooks/useWeakNodesFromNode.tsx +2 -2
package/dist/browser/index.cjs
CHANGED
|
@@ -33,6 +33,7 @@ __export(src_exports, {
|
|
|
33
33
|
useNodeFromNode: () => useNodeFromNode,
|
|
34
34
|
useNodesFromNode: () => useNodesFromNode,
|
|
35
35
|
useProvidedNode: () => useProvidedNode,
|
|
36
|
+
useWeakModuleFilterOptions: () => useWeakModuleFilterOptions,
|
|
36
37
|
useWeakModuleFromNode: () => useWeakModuleFromNode,
|
|
37
38
|
useWeakModuleFromNodeConfigLogger: () => useWeakModuleFromNodeConfigLogger,
|
|
38
39
|
useWeakModulesFromNode: () => useWeakModulesFromNode,
|
|
@@ -113,15 +114,15 @@ var useModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
|
|
|
113
114
|
logger?.debug("useModuleFromNode: resolving");
|
|
114
115
|
const identity = config?.identity ?? import_module_model.isModuleInstance;
|
|
115
116
|
if (node && nameOrAddressOrInstance) {
|
|
116
|
-
node.on("moduleAttached", ({ module:
|
|
117
|
-
logger?.debug(`useModuleFromNode: moduleAttached [${
|
|
118
|
-
if (
|
|
119
|
-
setResult(identity(
|
|
117
|
+
node.on("moduleAttached", ({ module: mod }) => {
|
|
118
|
+
logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
|
|
119
|
+
if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {
|
|
120
|
+
setResult(identity(mod) ? mod : void 0);
|
|
120
121
|
}
|
|
121
122
|
});
|
|
122
|
-
node.on("moduleDetached", ({ module:
|
|
123
|
-
logger?.debug(`useModuleFromNode: moduleDetached [${
|
|
124
|
-
if (
|
|
123
|
+
node.on("moduleDetached", ({ module: mod }) => {
|
|
124
|
+
logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`);
|
|
125
|
+
if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {
|
|
125
126
|
setResult(void 0);
|
|
126
127
|
}
|
|
127
128
|
});
|
|
@@ -130,7 +131,7 @@ var useModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
|
|
|
130
131
|
} else {
|
|
131
132
|
const result2 = await node.resolve(nameOrAddressOrInstance, filterOptions);
|
|
132
133
|
logger?.debug(`Result: ${result2?.address}`);
|
|
133
|
-
setResult(identity(
|
|
134
|
+
setResult(identity(result2) ? result2 : void 0);
|
|
134
135
|
}
|
|
135
136
|
return result;
|
|
136
137
|
}
|
|
@@ -151,13 +152,13 @@ var useModulesFromNode = (filter, config) => {
|
|
|
151
152
|
const [, error] = (0, import_react_promise3.usePromise)(async () => {
|
|
152
153
|
logger?.debug("useModuleFromNode: resolving");
|
|
153
154
|
if (node) {
|
|
154
|
-
node.on("moduleAttached", async ({ module:
|
|
155
|
-
logger?.debug(`useModuleFromNode: moduleAttached [${
|
|
155
|
+
node.on("moduleAttached", async ({ module: mod }) => {
|
|
156
|
+
logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
|
|
156
157
|
const moduleInstances2 = filter ? await node.resolve(filter, filterOptions) : await node.resolve("*", filterOptions);
|
|
157
158
|
setResult(moduleInstances2);
|
|
158
159
|
});
|
|
159
|
-
node.on("moduleDetached", async ({ module:
|
|
160
|
-
logger?.debug(`useModuleFromNode: moduleDetached [${
|
|
160
|
+
node.on("moduleDetached", async ({ module: mod }) => {
|
|
161
|
+
logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`);
|
|
161
162
|
const moduleInstances2 = filter ? await node.resolve(filter, filterOptions) : await node.resolve("*", filterOptions);
|
|
162
163
|
setResult(moduleInstances2);
|
|
163
164
|
});
|
|
@@ -187,10 +188,10 @@ var useNodeDescription = (config) => {
|
|
|
187
188
|
// src/hooks/useNodeFromNode.tsx
|
|
188
189
|
var import_node_model2 = require("@xyo-network/node-model");
|
|
189
190
|
var useNodeFromNode = (nameOrAddressOrInstance, config) => {
|
|
190
|
-
const [
|
|
191
|
-
const instance = (0, import_node_model2.asNodeInstance)(
|
|
192
|
-
if (
|
|
193
|
-
const error2 = new Error(`Resolved module is not a NodeInstance [${
|
|
191
|
+
const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config);
|
|
192
|
+
const instance = (0, import_node_model2.asNodeInstance)(mod);
|
|
193
|
+
if (mod && !instance) {
|
|
194
|
+
const error2 = new Error(`Resolved module is not a NodeInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`);
|
|
194
195
|
console.error(error2.message);
|
|
195
196
|
return [void 0, error2];
|
|
196
197
|
}
|
|
@@ -206,9 +207,9 @@ var useNodesFromNode = (filter, config) => {
|
|
|
206
207
|
}
|
|
207
208
|
return modules ? [
|
|
208
209
|
// eslint-disable-next-line unicorn/no-array-reduce
|
|
209
|
-
modules.reduce((prev,
|
|
210
|
-
if ((0, import_node_model3.isNodeInstance)(
|
|
211
|
-
prev.push(
|
|
210
|
+
modules.reduce((prev, mod) => {
|
|
211
|
+
if ((0, import_node_model3.isNodeInstance)(mod)) {
|
|
212
|
+
prev.push(mod);
|
|
212
213
|
}
|
|
213
214
|
return prev;
|
|
214
215
|
}, []),
|
|
@@ -216,29 +217,67 @@ var useNodesFromNode = (filter, config) => {
|
|
|
216
217
|
] : [modules, error];
|
|
217
218
|
};
|
|
218
219
|
|
|
220
|
+
// src/hooks/useWeakModuleFilterOptions.ts
|
|
221
|
+
var useWeakModuleFilterOptions = (config) => {
|
|
222
|
+
const { direction, identity, maxDepth } = config ?? {};
|
|
223
|
+
return { direction, identity, maxDepth };
|
|
224
|
+
};
|
|
225
|
+
|
|
219
226
|
// src/hooks/useWeakModuleFromNode.ts
|
|
220
|
-
var
|
|
227
|
+
var import_react_promise6 = require("@xylabs/react-promise");
|
|
221
228
|
var import_module_model3 = require("@xyo-network/module-model");
|
|
229
|
+
var import_react7 = require("react");
|
|
230
|
+
|
|
231
|
+
// src/hooks/useWeakNode.ts
|
|
232
|
+
var import_react_promise5 = require("@xylabs/react-promise");
|
|
233
|
+
var import_node_model4 = require("@xyo-network/node-model");
|
|
234
|
+
|
|
235
|
+
// src/hooks/useWeakNodeConfigNodeField.ts
|
|
222
236
|
var import_react6 = require("react");
|
|
237
|
+
var useWeakNodeConfigNodeField = (config) => {
|
|
238
|
+
const nodeAddress = (0, import_react6.useMemo)(() => typeof config?.node === "string" ? config?.node : void 0, [config?.node]);
|
|
239
|
+
const nodeInstance = (0, import_react6.useMemo)(() => typeof config?.node === "object" ? config?.node : void 0, [config?.node]);
|
|
240
|
+
return [nodeAddress, nodeInstance];
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
// src/hooks/useWeakNode.ts
|
|
244
|
+
var useWeakNode = (config) => {
|
|
245
|
+
const [nodeAddress, nodeInstance] = useWeakNodeConfigNodeField(config);
|
|
246
|
+
const [providedNode] = useWeakProvidedNode();
|
|
247
|
+
const [nodeAddressNode, error] = (0, import_react_promise5.usePromise)(async () => {
|
|
248
|
+
const providedNodeInstance = providedNode?.deref();
|
|
249
|
+
if (providedNodeInstance && nodeAddress) {
|
|
250
|
+
return new WeakRef((0, import_node_model4.asNodeInstance)(await providedNodeInstance.resolve(nodeAddress), "Module is not a node"));
|
|
251
|
+
}
|
|
252
|
+
}, [providedNode, nodeAddress]);
|
|
253
|
+
return [nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0, error];
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
// src/hooks/WeakModuleFromNodeConfig.ts
|
|
257
|
+
var useWeakModuleFromNodeConfigLogger = (config) => {
|
|
258
|
+
return config?.logger;
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
// src/hooks/useWeakModuleFromNode.ts
|
|
223
262
|
var useWeakModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
|
|
224
|
-
const [node, nodeError] =
|
|
225
|
-
const logger =
|
|
226
|
-
const filterOptions =
|
|
227
|
-
const [result, setResult] = (0,
|
|
228
|
-
const [, error] = (0,
|
|
263
|
+
const [node, nodeError] = useWeakNode(config);
|
|
264
|
+
const logger = useWeakModuleFromNodeConfigLogger(config);
|
|
265
|
+
const filterOptions = useWeakModuleFilterOptions(config);
|
|
266
|
+
const [result, setResult] = (0, import_react7.useState)();
|
|
267
|
+
const [, error] = (0, import_react_promise6.usePromise)(async () => {
|
|
229
268
|
logger?.debug("useModuleFromNode: resolving");
|
|
230
269
|
const identity = config?.identity ?? import_module_model3.isModuleInstance;
|
|
231
|
-
const nodeInstance = node;
|
|
270
|
+
const nodeInstance = node?.deref();
|
|
232
271
|
if (nodeInstance && nameOrAddressOrInstance) {
|
|
233
|
-
nodeInstance.on("moduleAttached", ({ module:
|
|
234
|
-
logger?.debug(`useModuleFromNode: moduleAttached [${
|
|
235
|
-
if (
|
|
236
|
-
setResult(identity(
|
|
272
|
+
nodeInstance.on("moduleAttached", ({ module: mod }) => {
|
|
273
|
+
logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
|
|
274
|
+
if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {
|
|
275
|
+
setResult(identity(mod) ? new WeakRef(mod) : void 0);
|
|
237
276
|
}
|
|
238
277
|
});
|
|
239
|
-
nodeInstance.on("moduleDetached", ({ module:
|
|
240
|
-
logger?.debug(`useModuleFromNode: moduleDetached [${
|
|
241
|
-
if (
|
|
278
|
+
nodeInstance.on("moduleDetached", ({ module: mod }) => {
|
|
279
|
+
logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`);
|
|
280
|
+
if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {
|
|
242
281
|
setResult(void 0);
|
|
243
282
|
}
|
|
244
283
|
});
|
|
@@ -258,31 +297,31 @@ var useWeakModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
|
|
|
258
297
|
};
|
|
259
298
|
|
|
260
299
|
// src/hooks/useWeakModulesFromNode.ts
|
|
261
|
-
var
|
|
262
|
-
var
|
|
300
|
+
var import_react_promise7 = require("@xylabs/react-promise");
|
|
301
|
+
var import_react8 = require("react");
|
|
263
302
|
var useWeakModulesFromNode = (filter, config) => {
|
|
264
303
|
const [node, nodeError] = useNode(config);
|
|
265
304
|
const logger = config?.logger;
|
|
266
305
|
const filterOptions = useModuleFilterOptions();
|
|
267
|
-
const [result, setResult] = (0,
|
|
268
|
-
const [, error] = (0,
|
|
306
|
+
const [result, setResult] = (0, import_react8.useState)();
|
|
307
|
+
const [, error] = (0, import_react_promise7.usePromise)(async () => {
|
|
269
308
|
logger?.debug("useModuleFromNode: resolving");
|
|
270
309
|
const nodeInstance = node;
|
|
271
310
|
if (nodeInstance) {
|
|
272
|
-
nodeInstance.on("moduleAttached", async ({ module:
|
|
311
|
+
nodeInstance.on("moduleAttached", async ({ module: mod }) => {
|
|
273
312
|
const nodeInstance2 = node;
|
|
274
|
-
logger?.debug(`useModuleFromNode: moduleAttached [${
|
|
313
|
+
logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
|
|
275
314
|
const moduleInstances2 = filter ? await nodeInstance2?.resolve(filter, filterOptions) : await nodeInstance2?.resolve("*", filterOptions);
|
|
276
|
-
setResult(moduleInstances2?.map((
|
|
315
|
+
setResult(moduleInstances2?.map((mod2) => new WeakRef(mod2)));
|
|
277
316
|
});
|
|
278
|
-
nodeInstance.on("moduleDetached", async ({ module:
|
|
317
|
+
nodeInstance.on("moduleDetached", async ({ module: mod }) => {
|
|
279
318
|
const nodeInstance2 = node;
|
|
280
|
-
logger?.debug(`useModuleFromNode: moduleDetached [${
|
|
319
|
+
logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`);
|
|
281
320
|
const moduleInstances2 = filter ? await nodeInstance2?.resolve(filter, filterOptions) : await nodeInstance2?.resolve("*", filterOptions);
|
|
282
|
-
setResult(moduleInstances2?.map((
|
|
321
|
+
setResult(moduleInstances2?.map((mod2) => new WeakRef(mod2)));
|
|
283
322
|
});
|
|
284
323
|
const moduleInstances = filter ? await nodeInstance.resolve(filter, filterOptions) : await nodeInstance.resolve("*", filterOptions);
|
|
285
|
-
setResult(moduleInstances?.map((
|
|
324
|
+
setResult(moduleInstances?.map((mod) => new WeakRef(mod)));
|
|
286
325
|
return moduleInstances;
|
|
287
326
|
}
|
|
288
327
|
console.log("Result: No Node");
|
|
@@ -291,35 +330,10 @@ var useWeakModulesFromNode = (filter, config) => {
|
|
|
291
330
|
return [result, nodeError ?? error];
|
|
292
331
|
};
|
|
293
332
|
|
|
294
|
-
// src/hooks/useWeakNodeConfigNodeField.ts
|
|
295
|
-
var import_react8 = require("react");
|
|
296
|
-
var useWeakNodeConfigNodeField = (config) => {
|
|
297
|
-
const nodeAddress = (0, import_react8.useMemo)(() => typeof config?.node === "string" ? config?.node : void 0, [config?.node]);
|
|
298
|
-
const nodeInstance = (0, import_react8.useMemo)(() => typeof config?.node === "object" ? config?.node : void 0, [config?.node]);
|
|
299
|
-
return [nodeAddress, nodeInstance];
|
|
300
|
-
};
|
|
301
|
-
|
|
302
333
|
// src/hooks/useWeakNodeDescription.ts
|
|
303
334
|
var import_react_promise8 = require("@xylabs/react-promise");
|
|
304
335
|
var import_module_model4 = require("@xyo-network/module-model");
|
|
305
336
|
var import_payload_model2 = require("@xyo-network/payload-model");
|
|
306
|
-
|
|
307
|
-
// src/hooks/useWeakNode.ts
|
|
308
|
-
var import_react_promise7 = require("@xylabs/react-promise");
|
|
309
|
-
var import_node_model4 = require("@xyo-network/node-model");
|
|
310
|
-
var useWeakNode = (config) => {
|
|
311
|
-
const [nodeAddress, nodeInstance] = useWeakNodeConfigNodeField(config);
|
|
312
|
-
const [providedNode] = useWeakProvidedNode();
|
|
313
|
-
const [nodeAddressNode, error] = (0, import_react_promise7.usePromise)(async () => {
|
|
314
|
-
const providedNodeInstance = providedNode?.deref();
|
|
315
|
-
if (providedNodeInstance && nodeAddress) {
|
|
316
|
-
return new WeakRef((0, import_node_model4.asNodeInstance)(await providedNodeInstance.resolve(nodeAddress), "Module is not a node"));
|
|
317
|
-
}
|
|
318
|
-
}, [providedNode, nodeAddress]);
|
|
319
|
-
return [nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0, error];
|
|
320
|
-
};
|
|
321
|
-
|
|
322
|
-
// src/hooks/useWeakNodeDescription.ts
|
|
323
337
|
var useWeakNodeDescription = (config) => {
|
|
324
338
|
const [activeNode, nodeError] = useWeakNode(config);
|
|
325
339
|
const [description, error] = (0, import_react_promise8.usePromise)(async () => {
|
|
@@ -335,11 +349,6 @@ var useWeakNodeFromNode = (nameOrAddressOrInstance, config) => {
|
|
|
335
349
|
return useWeakModuleFromNode(nameOrAddressOrInstance, { identity: import_node_model5.isNodeInstance, ...config });
|
|
336
350
|
};
|
|
337
351
|
|
|
338
|
-
// src/hooks/WeakModuleFromNodeConfig.ts
|
|
339
|
-
var useWeakModuleFromNodeConfigLogger = (config) => {
|
|
340
|
-
return config?.logger;
|
|
341
|
-
};
|
|
342
|
-
|
|
343
352
|
// src/components/NodeDescriptionBox.tsx
|
|
344
353
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
345
354
|
var NodeDescriptionBox = ({ node, ...props }) => {
|
|
@@ -376,12 +385,12 @@ var import_x_tree_view = require("@mui/x-tree-view");
|
|
|
376
385
|
var import_react_async_effect = require("@xylabs/react-async-effect");
|
|
377
386
|
var import_react9 = require("react");
|
|
378
387
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
379
|
-
var RenderModule = ({
|
|
388
|
+
var RenderModule = ({ mod, idRef }) => {
|
|
380
389
|
const [childModules, setChildModules] = (0, import_react9.useState)();
|
|
381
390
|
(0, import_react_async_effect.useAsyncEffect)(
|
|
382
391
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
383
392
|
async (mounted) => {
|
|
384
|
-
const moduleInstance2 =
|
|
393
|
+
const moduleInstance2 = mod.deref();
|
|
385
394
|
const { address: address2 } = moduleInstance2 ?? {};
|
|
386
395
|
if (moduleInstance2) {
|
|
387
396
|
const children = (await moduleInstance2.resolve("*")).filter((childModule) => childModule.address !== address2);
|
|
@@ -390,14 +399,14 @@ var RenderModule = ({ module: module2, idRef }) => {
|
|
|
390
399
|
}
|
|
391
400
|
}
|
|
392
401
|
},
|
|
393
|
-
[
|
|
402
|
+
[mod]
|
|
394
403
|
);
|
|
395
404
|
const increment = () => {
|
|
396
405
|
const newId = (idRef.current.idIncrementor++).toString();
|
|
397
406
|
idRef.current.ids.push(newId);
|
|
398
407
|
return newId;
|
|
399
408
|
};
|
|
400
|
-
const moduleInstance =
|
|
409
|
+
const moduleInstance = mod.deref();
|
|
401
410
|
const { queries, address } = moduleInstance ?? {};
|
|
402
411
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(StyledAddressTreeItem, { nodeId: increment(), label: `address: ${address}`, children: [
|
|
403
412
|
queries?.map((query, index) => {
|
|
@@ -405,7 +414,7 @@ var RenderModule = ({ module: module2, idRef }) => {
|
|
|
405
414
|
}),
|
|
406
415
|
childModules && childModules.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_x_tree_view.TreeItem, { nodeId: increment(), label: "children", sx: { mb: 0.5 }, children: childModules.map((childModuleRef) => {
|
|
407
416
|
const childModule = childModuleRef.deref();
|
|
408
|
-
return childModule ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(RenderModule, {
|
|
417
|
+
return childModule ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(RenderModule, { mod: childModuleRef, idRef }, childModule?.address) : null;
|
|
409
418
|
}) }) : null
|
|
410
419
|
] });
|
|
411
420
|
};
|
|
@@ -417,9 +426,9 @@ var StyledAddressTreeItem = (0, import_material.styled)(import_x_tree_view.TreeI
|
|
|
417
426
|
|
|
418
427
|
// src/components/render/ModuleDescriptionBox.tsx
|
|
419
428
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
420
|
-
var ModuleDescriptionBox = ({
|
|
429
|
+
var ModuleDescriptionBox = ({ mod }) => {
|
|
421
430
|
const idRef = (0, import_react10.useRef)({ idIncrementor: 0, ids: [] });
|
|
422
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children:
|
|
431
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: mod ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
|
|
423
432
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.Typography, { variant: "h4", children: "Node Configuration" }),
|
|
424
433
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
425
434
|
StyledTreeView,
|
|
@@ -428,10 +437,10 @@ var ModuleDescriptionBox = ({ module: module2 }) => {
|
|
|
428
437
|
defaultCollapseIcon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons_material.ExpandMore, {}),
|
|
429
438
|
defaultExpandIcon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons_material.ChevronRight, {}),
|
|
430
439
|
sx: { flexGrow: 1 },
|
|
431
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(RenderModule, {
|
|
440
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(RenderModule, { mod, idRef })
|
|
432
441
|
}
|
|
433
442
|
)
|
|
434
|
-
] }) :
|
|
443
|
+
] }) : mod === null ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.Typography, { variant: "h4", children: "Node loading..." }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.Typography, { variant: "h4", children: "Node not found" }) });
|
|
435
444
|
};
|
|
436
445
|
var StyledTreeView = (0, import_material2.styled)(import_x_tree_view2.TreeView, { name: "StyledTreeView" })(() => ({
|
|
437
446
|
height: "auto",
|
|
@@ -445,7 +454,7 @@ var NodeDrawer = ({ children, ...props }) => {
|
|
|
445
454
|
const [node] = useWeakProvidedNode();
|
|
446
455
|
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material3.Drawer, { open: open ?? false, anchor: "right", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material3.ClickAwayListener, { onClickAway: () => setOpen?.(false), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react_flexbox2.FlexGrowCol, { role: "presentation", justifyContent: "start", p: 2, rowGap: 2, minWidth: "33vw", children: [
|
|
447
456
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_flexbox2.FlexRow, { alignContent: "start", justifyContent: "start", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material3.IconButton, { onClick: () => setOpen?.(false), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_icons_material2.Close, {}) }) }),
|
|
448
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ModuleDescriptionBox, {
|
|
457
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ModuleDescriptionBox, { mod: node }),
|
|
449
458
|
children
|
|
450
459
|
] }) }) });
|
|
451
460
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/components/NodeDescriptionBox.tsx","../../src/hooks/ModuleFromNodeConfig.ts","../../src/hooks/provided/useProvidedNode.tsx","../../src/hooks/provided/useWeakProvidedNode.tsx","../../src/hooks/useModuleFilterOptions.ts","../../src/hooks/useModuleFromNode.ts","../../src/hooks/useNode.ts","../../src/hooks/useNodeConfigNodeField.ts","../../src/hooks/useModulesFromNode.ts","../../src/hooks/useNodeDescription.ts","../../src/hooks/useNodeFromNode.tsx","../../src/hooks/useNodesFromNode.tsx","../../src/hooks/useWeakModuleFromNode.ts","../../src/hooks/useWeakModulesFromNode.ts","../../src/hooks/useWeakNodeConfigNodeField.ts","../../src/hooks/useWeakNodeDescription.ts","../../src/hooks/useWeakNode.ts","../../src/hooks/useWeakNodeFromNode.tsx","../../src/hooks/WeakModuleFromNodeConfig.ts","../../src/components/Node.tsx","../../src/components/NodeDrawer.tsx","../../src/components/render/ModuleDescriptionBox.tsx","../../src/components/render/RenderModule.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\nexport * from '@xyo-network/react-node-context'\nexport * from '@xyo-network/react-node-provider'\n","import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakNodeDescription } from '../hooks'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | WeakRef<NodeInstance>\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useWeakNodeDescription({ node })\n\n return (\n <FlexCol {...props}>\n <code color={error ? 'red' : undefined}>{error ? error.message : JSON.stringify(description, null, 2)}</code>\n </FlexCol>\n )\n}\n","import { Logger } from '@xylabs/logger'\nimport { ModuleFilterOptions, ModuleInstance } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nexport type ModuleFromNodeConfig<T extends ModuleInstance = ModuleInstance> = ModuleFilterOptions<T> & {\n logger?: Logger\n node?: NodeInstance | string\n}\n\nexport const useModuleFromNodeConfigLogger = (config?: ModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext, useMemo } from 'react'\n\nexport const useWeakProvidedNode = (): [WeakRef<NodeInstance> | null | undefined] => {\n const { node } = useContext(NodeContext)\n const weakNode = useMemo(() => (node ? new WeakRef(node) : null), [node])\n return [weakNode]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const { direction, identity, maxDepth } = config ?? {}\n return { direction, identity, maxDepth }\n}\n","/* eslint-disable import/no-deprecated */\n/* eslint-disable deprecation/deprecation */\nimport { TypeCheck } from '@xylabs/object'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isModuleInstance, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig, useModuleFromNodeConfigLogger } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\n/** @deprecated use useWeakModuleFromNode */\nexport const useModuleFromNode = <T extends ModuleInstance | void = void>(\n nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,\n config?: T extends ModuleInstance ? ModuleFromNodeConfig<T> : ModuleFromNodeConfig | undefined,\n): [(T extends ModuleInstance ? T : ModuleInstance) | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = useModuleFromNodeConfigLogger(config)\n const filterOptions = useModuleFilterOptions(config)\n const [result, setResult] = useState<(T extends ModuleInstance ? T : ModuleInstance) | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n T extends ModuleInstance ? T : ModuleInstance\n >\n if (node && nameOrAddressOrInstance) {\n node.on('moduleAttached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n setResult(identity(module) ? (module as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n })\n node.on('moduleDetached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (identity(nameOrAddressOrInstance)) {\n setResult(nameOrAddressOrInstance)\n } else {\n const result = await node.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(identity(module) ? (module as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n return result\n }\n logger?.debug('Result: No Node')\n return\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useProvidedNode } from './provided'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField'\n\nexport const useNode = (config?: ModuleFromNodeConfig | undefined): [NodeInstance | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config)\n const [providedNode] = useProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n if (providedNode && nodeAddress) {\n return asNodeInstance(await providedNode.resolve(nodeAddress), 'Module is not a node')\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useNodeConfigNodeField = (config?: ModuleFromNodeConfig | undefined): [string | undefined, NodeInstance | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\n/** @deprecated use useModulesFromNode */\nexport const useModulesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [ModuleInstance[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<ModuleInstance[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node) {\n node.on('moduleAttached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n node.on('moduleDetached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleDescription, ModuleDescriptionPayload, ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useNode } from './useNode'\n\nexport const useNodeDescription = (config?: ModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n// eslint-disable-next-line import/no-deprecated\nimport { useModuleFromNode } from './useModuleFromNode'\n\n/** @deprecated use useWeakNodeFromNode instead */\nexport const useNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: ModuleFromNodeConfig,\n): [NodeInstance | undefined, Error | undefined] => {\n // eslint-disable-next-line import/no-deprecated, deprecation/deprecation\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asNodeInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a NodeInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { isNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n// eslint-disable-next-line import/no-deprecated\nimport { useModulesFromNode } from './useModulesFromNode'\n\n/** @deprecated use useWeakNodesFromNode */\nexport const useNodesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [NodeInstance[] | null | undefined, Error | undefined] => {\n // eslint-disable-next-line import/no-deprecated, deprecation/deprecation\n const [modules, error] = useModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return modules ?\n [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<NodeInstance[]>((prev, module) => {\n if (isNodeInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { TypeCheck } from '@xylabs/object'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isModuleInstance, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig, useModuleFromNodeConfigLogger } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useWeakModuleFromNode = <T extends ModuleInstance | void = void>(\n nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,\n config?: ModuleFromNodeConfig,\n): [WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = useModuleFromNodeConfigLogger(config)\n const filterOptions = useModuleFilterOptions(config)\n const [result, setResult] = useState<WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n T extends ModuleInstance ? T : ModuleInstance\n >\n const nodeInstance = node\n if (nodeInstance && nameOrAddressOrInstance) {\n nodeInstance.on('moduleAttached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n setResult(identity(module) ? new WeakRef(module as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n })\n nodeInstance.on('moduleDetached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (identity(nameOrAddressOrInstance)) {\n setResult(new WeakRef(nameOrAddressOrInstance as T extends ModuleInstance ? T : ModuleInstance))\n } else {\n const result = await nodeInstance.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(identity(result) ? new WeakRef(result as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n return result\n }\n logger?.debug('Result: No Node')\n return\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useWeakModulesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ModuleInstance>[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<WeakRef<ModuleInstance>[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const nodeInstance = node\n if (nodeInstance) {\n nodeInstance.on('moduleAttached', async ({ module }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map((module) => new WeakRef(module)))\n })\n nodeInstance.on('moduleDetached', async ({ module }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map((module) => new WeakRef(module)))\n })\n const moduleInstances = filter ? await nodeInstance.resolve(filter, filterOptions) : await nodeInstance.resolve('*', filterOptions)\n setResult(moduleInstances?.map((module) => new WeakRef(module)))\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNodeConfigNodeField = (\n config?: WeakModuleFromNodeConfig | undefined,\n): [string | undefined, WeakRef<NodeInstance> | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleDescription, ModuleDescriptionPayload, ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { useWeakNode } from './useWeakNode'\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNodeDescription = (config?: WeakModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useWeakNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.deref()?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakProvidedNode } from './provided'\nimport { useWeakNodeConfigNodeField } from './useWeakNodeConfigNodeField'\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNode = (config?: WeakModuleFromNodeConfig | undefined): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useWeakNodeConfigNodeField(config)\n const [providedNode] = useWeakProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n const providedNodeInstance = providedNode?.deref()\n if (providedNodeInstance && nodeAddress) {\n return new WeakRef(asNodeInstance(await providedNodeInstance.resolve(nodeAddress), 'Module is not a node'))\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","import { isNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useWeakModuleFromNode } from './useWeakModuleFromNode'\n\nexport const useWeakNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: ModuleFromNodeConfig,\n): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<NodeInstance>(nameOrAddressOrInstance, { identity: isNodeInstance, ...config })\n}\n","import { Logger } from '@xylabs/logger'\nimport { ModuleFilterOptions } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nexport type WeakModuleFromNodeConfig = ModuleFilterOptions & {\n logger?: Logger\n node?: WeakRef<NodeInstance> | string\n}\n\nexport const useWeakModuleFromNodeConfigLogger = (config?: WeakModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { NodeDescriptionBox } from './NodeDescriptionBox'\n\nexport interface NodeBoxProps extends FlexBoxProps {\n node?: string | WeakRef<NodeInstance>\n variant?: 'description'\n}\n\nexport const NodeBox: React.FC<NodeBoxProps> = ({ variant, ...props }) => {\n switch (variant) {\n // eslint-disable-next-line unicorn/no-useless-switch-case\n case 'description':\n default: {\n return <NodeDescriptionBox {...props} />\n }\n }\n}\n","import { Close as CloseIcon } from '@mui/icons-material'\nimport { ClickAwayListener, Drawer, DrawerProps, IconButton } from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { useNodeDrawer } from '@xyo-network/react-node-provider'\n\nimport { useWeakProvidedNode } from '../hooks'\nimport { ModuleDescriptionBox } from './render'\n\nexport interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {}\n\nexport const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {\n const { open, setOpen } = useNodeDrawer()\n const [node] = useWeakProvidedNode()\n\n return (\n <Drawer open={open ?? false} anchor=\"right\" {...props}>\n <ClickAwayListener onClickAway={() => setOpen?.(false)}>\n <FlexGrowCol role=\"presentation\" justifyContent=\"start\" p={2} rowGap={2} minWidth=\"33vw\">\n <FlexRow alignContent=\"start\" justifyContent=\"start\" width=\"100%\">\n <IconButton onClick={() => setOpen?.(false)}>\n <CloseIcon />\n </IconButton>\n </FlexRow>\n <ModuleDescriptionBox module={node} />\n {children}\n </FlexGrowCol>\n </ClickAwayListener>\n </Drawer>\n )\n}\n","import { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport { styled, Typography } from '@mui/material'\nimport { TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useRef } from 'react'\n\nimport { RenderModule } from './RenderModule'\n\nexport interface ModuleDescriptionProps extends FlexBoxProps {\n module?: WeakRef<ModuleInstance> | null\n}\nexport const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ module }) => {\n const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })\n\n return (\n <>\n {module ?\n <>\n <Typography variant=\"h4\">Node Configuration</Typography>\n <StyledTreeView\n aria-label=\"file system navigator\"\n defaultCollapseIcon={<ExpandMoreIcon />}\n defaultExpandIcon={<ChevronRightIcon />}\n sx={{ flexGrow: 1 }}\n >\n <RenderModule module={module} idRef={idRef} />\n </StyledTreeView>\n </>\n : module === null ?\n <Typography variant=\"h4\">Node loading...</Typography>\n : <Typography variant=\"h4\">Node not found</Typography>}\n </>\n )\n}\n\nconst StyledTreeView = styled(TreeView, { name: 'StyledTreeView' })(() => ({\n height: 'auto',\n maxWidth: 'auto',\n}))\n","import { styled } from '@mui/material'\nimport { TreeItem } from '@mui/x-tree-view'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { MutableRefObject, useState } from 'react'\n\ninterface RenderModuleProps {\n idRef: MutableRefObject<{\n idIncrementor: number\n ids: string[]\n }>\n module: WeakRef<ModuleInstance>\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) => {\n const [childModules, setChildModules] = useState<WeakRef<ModuleInstance>[]>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const moduleInstance = module.deref()\n const { address } = moduleInstance ?? {}\n if (moduleInstance) {\n const children = (await moduleInstance.resolve('*')).filter((childModule) => childModule.address !== address)\n if (mounted()) {\n setChildModules(children.map((childModule) => new WeakRef(childModule)))\n }\n }\n },\n [module],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\n\n const moduleInstance = module.deref()\n const { queries, address } = moduleInstance ?? {}\n\n return (\n <StyledAddressTreeItem nodeId={increment()} label={`address: ${address}`}>\n {queries?.map((query, index) => {\n return <TreeItem key={query} nodeId={increment()} label={`query : ${query}`} sx={{ mb: index === queries.length - 1 ? 1.5 : 0.5 }} />\n })}\n {childModules && childModules.length > 0 ?\n <TreeItem nodeId={increment()} label={'children'} sx={{ mb: 0.5 }}>\n {childModules.map((childModuleRef) => {\n const childModule = childModuleRef.deref()\n return childModule ? <RenderModule key={childModule?.address} module={childModuleRef} idRef={idRef} /> : null\n })}\n </TreeItem>\n : null}\n </StyledAddressTreeItem>\n )\n}\n\nconst StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => ({\n '& .MuiTreeItem-content': {\n marginBottom: theme.spacing(0.25),\n },\n}))\n"],"mappings":"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","names":["import_react_node_context","import_react","import_react_promise","import_react","import_react","module","result","import_react_promise","import_react","module","moduleInstances","import_react_promise","import_module_model","import_node_model","module","error","import_node_model","module","import_react_promise","import_module_model","import_react","module","result","import_react_promise","import_react","module","nodeInstance","moduleInstances","import_react","import_react_promise","import_module_model","import_payload_model","import_react_promise","import_node_model","import_node_model","import_jsx_runtime","import_icons_material","import_material","import_react_flexbox","import_material","import_x_tree_view","import_react","import_react","import_jsx_runtime","module","moduleInstance","address","import_jsx_runtime","module","ExpandMoreIcon","ChevronRightIcon","import_jsx_runtime","CloseIcon"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/components/NodeDescriptionBox.tsx","../../src/hooks/ModuleFromNodeConfig.ts","../../src/hooks/provided/useProvidedNode.tsx","../../src/hooks/provided/useWeakProvidedNode.tsx","../../src/hooks/useModuleFilterOptions.ts","../../src/hooks/useModuleFromNode.ts","../../src/hooks/useNode.ts","../../src/hooks/useNodeConfigNodeField.ts","../../src/hooks/useModulesFromNode.ts","../../src/hooks/useNodeDescription.ts","../../src/hooks/useNodeFromNode.tsx","../../src/hooks/useNodesFromNode.tsx","../../src/hooks/useWeakModuleFilterOptions.ts","../../src/hooks/useWeakModuleFromNode.ts","../../src/hooks/useWeakNode.ts","../../src/hooks/useWeakNodeConfigNodeField.ts","../../src/hooks/WeakModuleFromNodeConfig.ts","../../src/hooks/useWeakModulesFromNode.ts","../../src/hooks/useWeakNodeDescription.ts","../../src/hooks/useWeakNodeFromNode.tsx","../../src/components/Node.tsx","../../src/components/NodeDrawer.tsx","../../src/components/render/ModuleDescriptionBox.tsx","../../src/components/render/RenderModule.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\nexport * from '@xyo-network/react-node-context'\nexport * from '@xyo-network/react-node-provider'\n","import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakNodeDescription } from '../hooks'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | WeakRef<NodeInstance>\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useWeakNodeDescription({ node })\n\n return (\n <FlexCol {...props}>\n <code color={error ? 'red' : undefined}>{error ? error.message : JSON.stringify(description, null, 2)}</code>\n </FlexCol>\n )\n}\n","import { Logger } from '@xylabs/logger'\nimport { ModuleFilterOptions, ModuleInstance } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nexport type ModuleFromNodeConfig<T extends ModuleInstance = ModuleInstance> = ModuleFilterOptions<T> & {\n logger?: Logger\n node?: NodeInstance | string\n}\n\nexport const useModuleFromNodeConfigLogger = (config?: ModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext, useMemo } from 'react'\n\nexport const useWeakProvidedNode = (): [WeakRef<NodeInstance> | null | undefined] => {\n const { node } = useContext(NodeContext)\n const weakNode = useMemo(() => (node ? new WeakRef(node) : null), [node])\n return [weakNode]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const { direction, identity, maxDepth } = config ?? {}\n return { direction, identity, maxDepth }\n}\n","/* eslint-disable import/no-deprecated */\n/* eslint-disable deprecation/deprecation */\nimport { TypeCheck } from '@xylabs/object'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isModuleInstance, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig, useModuleFromNodeConfigLogger } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\n/** @deprecated use useWeakModuleFromNode */\nexport const useModuleFromNode = <T extends ModuleInstance | void = void>(\n nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,\n config?: T extends ModuleInstance ? ModuleFromNodeConfig<T> : ModuleFromNodeConfig | undefined,\n): [(T extends ModuleInstance ? T : ModuleInstance) | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = useModuleFromNodeConfigLogger(config)\n const filterOptions = useModuleFilterOptions(config)\n const [result, setResult] = useState<(T extends ModuleInstance ? T : ModuleInstance) | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n T extends ModuleInstance ? T : ModuleInstance\n >\n if (node && nameOrAddressOrInstance) {\n node.on('moduleAttached', ({ module: mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(identity(mod) ? (mod as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n })\n node.on('moduleDetached', ({ module: mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (identity(nameOrAddressOrInstance)) {\n setResult(nameOrAddressOrInstance)\n } else {\n const result = await node.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(identity(result) ? (result as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n return result\n }\n logger?.debug('Result: No Node')\n return\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useProvidedNode } from './provided'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField'\n\nexport const useNode = (config?: ModuleFromNodeConfig | undefined): [NodeInstance | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config)\n const [providedNode] = useProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n if (providedNode && nodeAddress) {\n return asNodeInstance(await providedNode.resolve(nodeAddress), 'Module is not a node')\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useNodeConfigNodeField = (config?: ModuleFromNodeConfig | undefined): [string | undefined, NodeInstance | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\n/** @deprecated use useModulesFromNode */\nexport const useModulesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [ModuleInstance[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<ModuleInstance[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node) {\n node.on('moduleAttached', async ({ module: mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n node.on('moduleDetached', async ({ module: mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleDescription, ModuleDescriptionPayload, ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useNode } from './useNode'\n\nexport const useNodeDescription = (config?: ModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n// eslint-disable-next-line import/no-deprecated\nimport { useModuleFromNode } from './useModuleFromNode'\n\n/** @deprecated use useWeakNodeFromNode instead */\nexport const useNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: ModuleFromNodeConfig,\n): [NodeInstance | undefined, Error | undefined] => {\n // eslint-disable-next-line import/no-deprecated, deprecation/deprecation\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asNodeInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a NodeInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { isNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n// eslint-disable-next-line import/no-deprecated\nimport { useModulesFromNode } from './useModulesFromNode'\n\n/** @deprecated use useWeakNodesFromNode */\nexport const useNodesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [NodeInstance[] | null | undefined, Error | undefined] => {\n // eslint-disable-next-line import/no-deprecated, deprecation/deprecation\n const [modules, error] = useModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n return modules ?\n [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<NodeInstance[]>((prev, mod) => {\n if (isNodeInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakModuleFilterOptions = (config?: WeakModuleFromNodeConfig) => {\n const { direction, identity, maxDepth } = config ?? {}\n return { direction, identity, maxDepth }\n}\n","import { TypeCheck } from '@xylabs/object'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isModuleInstance, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { useWeakModuleFilterOptions } from './useWeakModuleFilterOptions'\nimport { useWeakNode } from './useWeakNode'\nimport { useWeakModuleFromNodeConfigLogger, WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakModuleFromNode = <T extends ModuleInstance | void = void>(\n nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined, Error | undefined] => {\n const [node, nodeError] = useWeakNode(config)\n const logger = useWeakModuleFromNodeConfigLogger(config)\n const filterOptions = useWeakModuleFilterOptions(config)\n const [result, setResult] = useState<WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n T extends ModuleInstance ? T : ModuleInstance\n >\n const nodeInstance = node?.deref()\n if (nodeInstance && nameOrAddressOrInstance) {\n nodeInstance.on('moduleAttached', ({ module: mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(identity(mod) ? new WeakRef(mod as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n })\n nodeInstance.on('moduleDetached', ({ module: mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (identity(nameOrAddressOrInstance)) {\n setResult(new WeakRef(nameOrAddressOrInstance as T extends ModuleInstance ? T : ModuleInstance))\n } else {\n const result = await nodeInstance.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(identity(result) ? new WeakRef(result as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n return result\n }\n logger?.debug('Result: No Node')\n return\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakProvidedNode } from './provided'\nimport { useWeakNodeConfigNodeField } from './useWeakNodeConfigNodeField'\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNode = (config?: WeakModuleFromNodeConfig | undefined): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useWeakNodeConfigNodeField(config)\n const [providedNode] = useWeakProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n const providedNodeInstance = providedNode?.deref()\n if (providedNodeInstance && nodeAddress) {\n return new WeakRef(asNodeInstance(await providedNodeInstance.resolve(nodeAddress), 'Module is not a node'))\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNodeConfigNodeField = (\n config?: WeakModuleFromNodeConfig | undefined,\n): [string | undefined, WeakRef<NodeInstance> | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","import { Logger } from '@xylabs/logger'\nimport { ModuleFilterOptions } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nexport type WeakModuleFromNodeConfig = ModuleFilterOptions & {\n logger?: Logger\n node?: WeakRef<NodeInstance> | string\n}\n\nexport const useWeakModuleFromNodeConfigLogger = (config?: WeakModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useWeakModulesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ModuleInstance>[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<WeakRef<ModuleInstance>[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const nodeInstance = node\n if (nodeInstance) {\n nodeInstance.on('moduleAttached', async ({ module: mod }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map((mod) => new WeakRef(mod)))\n })\n nodeInstance.on('moduleDetached', async ({ module: mod }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map((mod) => new WeakRef(mod)))\n })\n const moduleInstances = filter ? await nodeInstance.resolve(filter, filterOptions) : await nodeInstance.resolve('*', filterOptions)\n setResult(moduleInstances?.map((mod) => new WeakRef(mod)))\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleDescription, ModuleDescriptionPayload, ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { useWeakNode } from './useWeakNode'\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNodeDescription = (config?: WeakModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useWeakNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.deref()?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import { isNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakModuleFromNode } from './useWeakModuleFromNode'\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<NodeInstance>(nameOrAddressOrInstance, { identity: isNodeInstance, ...config })\n}\n","import { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { NodeDescriptionBox } from './NodeDescriptionBox'\n\nexport interface NodeBoxProps extends FlexBoxProps {\n node?: string | WeakRef<NodeInstance>\n variant?: 'description'\n}\n\nexport const NodeBox: React.FC<NodeBoxProps> = ({ variant, ...props }) => {\n switch (variant) {\n // eslint-disable-next-line unicorn/no-useless-switch-case\n case 'description':\n default: {\n return <NodeDescriptionBox {...props} />\n }\n }\n}\n","import { Close as CloseIcon } from '@mui/icons-material'\nimport { ClickAwayListener, Drawer, DrawerProps, IconButton } from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { useNodeDrawer } from '@xyo-network/react-node-provider'\n\nimport { useWeakProvidedNode } from '../hooks'\nimport { ModuleDescriptionBox } from './render'\n\nexport interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {}\n\nexport const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {\n const { open, setOpen } = useNodeDrawer()\n const [node] = useWeakProvidedNode()\n\n return (\n <Drawer open={open ?? false} anchor=\"right\" {...props}>\n <ClickAwayListener onClickAway={() => setOpen?.(false)}>\n <FlexGrowCol role=\"presentation\" justifyContent=\"start\" p={2} rowGap={2} minWidth=\"33vw\">\n <FlexRow alignContent=\"start\" justifyContent=\"start\" width=\"100%\">\n <IconButton onClick={() => setOpen?.(false)}>\n <CloseIcon />\n </IconButton>\n </FlexRow>\n <ModuleDescriptionBox mod={node} />\n {children}\n </FlexGrowCol>\n </ClickAwayListener>\n </Drawer>\n )\n}\n","import { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport { styled, Typography } from '@mui/material'\nimport { TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useRef } from 'react'\n\nimport { RenderModule } from './RenderModule'\n\nexport interface ModuleDescriptionProps extends FlexBoxProps {\n mod?: WeakRef<ModuleInstance> | null\n}\nexport const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ mod }) => {\n const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })\n\n return (\n <>\n {mod ?\n <>\n <Typography variant=\"h4\">Node Configuration</Typography>\n <StyledTreeView\n aria-label=\"file system navigator\"\n defaultCollapseIcon={<ExpandMoreIcon />}\n defaultExpandIcon={<ChevronRightIcon />}\n sx={{ flexGrow: 1 }}\n >\n <RenderModule mod={mod} idRef={idRef} />\n </StyledTreeView>\n </>\n : mod === null ?\n <Typography variant=\"h4\">Node loading...</Typography>\n : <Typography variant=\"h4\">Node not found</Typography>}\n </>\n )\n}\n\nconst StyledTreeView = styled(TreeView, { name: 'StyledTreeView' })(() => ({\n height: 'auto',\n maxWidth: 'auto',\n}))\n","import { styled } from '@mui/material'\nimport { TreeItem } from '@mui/x-tree-view'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { MutableRefObject, useState } from 'react'\n\ninterface RenderModuleProps {\n idRef: MutableRefObject<{\n idIncrementor: number\n ids: string[]\n }>\n mod: WeakRef<ModuleInstance>\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ mod, idRef }) => {\n const [childModules, setChildModules] = useState<WeakRef<ModuleInstance>[]>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const moduleInstance = mod.deref()\n const { address } = moduleInstance ?? {}\n if (moduleInstance) {\n const children = (await moduleInstance.resolve('*')).filter((childModule) => childModule.address !== address)\n if (mounted()) {\n setChildModules(children.map((childModule) => new WeakRef(childModule)))\n }\n }\n },\n [mod],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\n\n const moduleInstance = mod.deref()\n const { queries, address } = moduleInstance ?? {}\n\n return (\n <StyledAddressTreeItem nodeId={increment()} label={`address: ${address}`}>\n {queries?.map((query, index) => {\n return <TreeItem key={query} nodeId={increment()} label={`query : ${query}`} sx={{ mb: index === queries.length - 1 ? 1.5 : 0.5 }} />\n })}\n {childModules && childModules.length > 0 ?\n <TreeItem nodeId={increment()} label={'children'} sx={{ mb: 0.5 }}>\n {childModules.map((childModuleRef) => {\n const childModule = childModuleRef.deref()\n return childModule ? <RenderModule key={childModule?.address} mod={childModuleRef} idRef={idRef} /> : null\n })}\n </TreeItem>\n : null}\n </StyledAddressTreeItem>\n )\n}\n\nconst StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => ({\n '& .MuiTreeItem-content': {\n marginBottom: theme.spacing(0.25),\n },\n}))\n"],"mappings":"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","names":["import_react_node_context","import_react","import_react_promise","import_react","import_react","result","import_react_promise","import_react","moduleInstances","import_react_promise","import_module_model","import_node_model","error","import_node_model","import_react_promise","import_module_model","import_react","import_react_promise","import_node_model","import_react","result","import_react_promise","import_react","nodeInstance","moduleInstances","mod","import_react_promise","import_module_model","import_payload_model","import_node_model","import_jsx_runtime","import_icons_material","import_material","import_react_flexbox","import_material","import_x_tree_view","import_react","import_react","import_jsx_runtime","moduleInstance","address","import_jsx_runtime","ExpandMoreIcon","ChevronRightIcon","import_jsx_runtime","CloseIcon"]}
|