@xyo-network/react-node 2.75.1 → 2.75.3
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/Node.d.cts +1 -1
- package/dist/browser/components/Node.d.cts.map +1 -1
- package/dist/browser/components/Node.d.mts +1 -1
- package/dist/browser/components/Node.d.mts.map +1 -1
- package/dist/browser/components/Node.d.ts +1 -1
- package/dist/browser/components/Node.d.ts.map +1 -1
- package/dist/browser/components/NodeDescriptionBox.d.cts +1 -1
- package/dist/browser/components/NodeDescriptionBox.d.cts.map +1 -1
- package/dist/browser/components/NodeDescriptionBox.d.mts +1 -1
- package/dist/browser/components/NodeDescriptionBox.d.mts.map +1 -1
- package/dist/browser/components/NodeDescriptionBox.d.ts +1 -1
- package/dist/browser/components/NodeDescriptionBox.d.ts.map +1 -1
- package/dist/browser/components/NodeModulesBox.d.cts.map +1 -1
- package/dist/browser/components/NodeModulesBox.d.mts.map +1 -1
- package/dist/browser/components/NodeModulesBox.d.ts.map +1 -1
- package/dist/browser/hooks/ModuleFromNodeConfig.d.cts +2 -2
- package/dist/browser/hooks/ModuleFromNodeConfig.d.cts.map +1 -1
- package/dist/browser/hooks/ModuleFromNodeConfig.d.mts +2 -2
- package/dist/browser/hooks/ModuleFromNodeConfig.d.mts.map +1 -1
- package/dist/browser/hooks/ModuleFromNodeConfig.d.ts +2 -2
- package/dist/browser/hooks/ModuleFromNodeConfig.d.ts.map +1 -1
- package/dist/browser/hooks/index.d.cts +3 -0
- package/dist/browser/hooks/index.d.cts.map +1 -1
- package/dist/browser/hooks/index.d.mts +3 -0
- package/dist/browser/hooks/index.d.mts.map +1 -1
- package/dist/browser/hooks/index.d.ts +3 -0
- package/dist/browser/hooks/index.d.ts.map +1 -1
- package/dist/browser/hooks/provided/index.d.cts +1 -0
- package/dist/browser/hooks/provided/index.d.cts.map +1 -1
- package/dist/browser/hooks/provided/index.d.mts +1 -0
- package/dist/browser/hooks/provided/index.d.mts.map +1 -1
- package/dist/browser/hooks/provided/index.d.ts +1 -0
- package/dist/browser/hooks/provided/index.d.ts.map +1 -1
- package/dist/browser/hooks/provided/useWeakProvidedNode.d.cts +3 -0
- package/dist/browser/hooks/provided/useWeakProvidedNode.d.cts.map +1 -0
- package/dist/browser/hooks/provided/useWeakProvidedNode.d.mts +3 -0
- package/dist/browser/hooks/provided/useWeakProvidedNode.d.mts.map +1 -0
- package/dist/browser/hooks/provided/useWeakProvidedNode.d.ts +3 -0
- package/dist/browser/hooks/provided/useWeakProvidedNode.d.ts.map +1 -0
- package/dist/browser/hooks/useModuleFromNode.d.cts +67 -1
- package/dist/browser/hooks/useModuleFromNode.d.cts.map +1 -1
- package/dist/browser/hooks/useModuleFromNode.d.mts +67 -1
- package/dist/browser/hooks/useModuleFromNode.d.mts.map +1 -1
- package/dist/browser/hooks/useModuleFromNode.d.ts +67 -1
- package/dist/browser/hooks/useModuleFromNode.d.ts.map +1 -1
- package/dist/browser/hooks/useNodeFromNode.d.cts +1 -0
- package/dist/browser/hooks/useNodeFromNode.d.cts.map +1 -1
- package/dist/browser/hooks/useNodeFromNode.d.mts +1 -0
- package/dist/browser/hooks/useNodeFromNode.d.mts.map +1 -1
- package/dist/browser/hooks/useNodeFromNode.d.ts +1 -0
- package/dist/browser/hooks/useNodeFromNode.d.ts.map +1 -1
- package/dist/browser/hooks/useNodesFromNode.d.cts +1 -0
- package/dist/browser/hooks/useNodesFromNode.d.cts.map +1 -1
- package/dist/browser/hooks/useNodesFromNode.d.mts +1 -0
- package/dist/browser/hooks/useNodesFromNode.d.mts.map +1 -1
- package/dist/browser/hooks/useNodesFromNode.d.ts +1 -0
- package/dist/browser/hooks/useNodesFromNode.d.ts.map +1 -1
- package/dist/browser/hooks/useWeakModuleFromNode.d.cts +56 -1
- package/dist/browser/hooks/useWeakModuleFromNode.d.cts.map +1 -1
- package/dist/browser/hooks/useWeakModuleFromNode.d.mts +56 -1
- package/dist/browser/hooks/useWeakModuleFromNode.d.mts.map +1 -1
- package/dist/browser/hooks/useWeakModuleFromNode.d.ts +56 -1
- package/dist/browser/hooks/useWeakModuleFromNode.d.ts.map +1 -1
- package/dist/browser/hooks/useWeakNode.d.cts +4 -0
- package/dist/browser/hooks/useWeakNode.d.cts.map +1 -0
- package/dist/browser/hooks/useWeakNode.d.mts +4 -0
- package/dist/browser/hooks/useWeakNode.d.mts.map +1 -0
- package/dist/browser/hooks/useWeakNode.d.ts +4 -0
- package/dist/browser/hooks/useWeakNode.d.ts.map +1 -0
- package/dist/browser/hooks/useWeakNodeDescription.d.cts +4 -0
- package/dist/browser/hooks/useWeakNodeDescription.d.cts.map +1 -0
- package/dist/browser/hooks/useWeakNodeDescription.d.mts +4 -0
- package/dist/browser/hooks/useWeakNodeDescription.d.mts.map +1 -0
- package/dist/browser/hooks/useWeakNodeDescription.d.ts +4 -0
- package/dist/browser/hooks/useWeakNodeDescription.d.ts.map +1 -0
- package/dist/browser/hooks/useWeakNodeFromNode.d.cts +4 -0
- package/dist/browser/hooks/useWeakNodeFromNode.d.cts.map +1 -0
- package/dist/browser/hooks/useWeakNodeFromNode.d.mts +4 -0
- package/dist/browser/hooks/useWeakNodeFromNode.d.mts.map +1 -0
- package/dist/browser/hooks/useWeakNodeFromNode.d.ts +4 -0
- package/dist/browser/hooks/useWeakNodeFromNode.d.ts.map +1 -0
- package/dist/browser/hooks/useWeakNodesFromNode.d.cts +5 -0
- package/dist/browser/hooks/useWeakNodesFromNode.d.cts.map +1 -0
- package/dist/browser/hooks/useWeakNodesFromNode.d.mts +5 -0
- package/dist/browser/hooks/useWeakNodesFromNode.d.mts.map +1 -0
- package/dist/browser/hooks/useWeakNodesFromNode.d.ts +5 -0
- package/dist/browser/hooks/useWeakNodesFromNode.d.ts.map +1 -0
- package/dist/browser/index.cjs +98 -29
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +123 -54
- package/dist/browser/index.js.map +1 -1
- package/dist/node/components/Node.d.cts +1 -1
- package/dist/node/components/Node.d.cts.map +1 -1
- package/dist/node/components/Node.d.mts +1 -1
- package/dist/node/components/Node.d.mts.map +1 -1
- package/dist/node/components/Node.d.ts +1 -1
- package/dist/node/components/Node.d.ts.map +1 -1
- package/dist/node/components/NodeDescriptionBox.d.cts +1 -1
- package/dist/node/components/NodeDescriptionBox.d.cts.map +1 -1
- package/dist/node/components/NodeDescriptionBox.d.mts +1 -1
- package/dist/node/components/NodeDescriptionBox.d.mts.map +1 -1
- package/dist/node/components/NodeDescriptionBox.d.ts +1 -1
- package/dist/node/components/NodeDescriptionBox.d.ts.map +1 -1
- package/dist/node/components/NodeModulesBox.d.cts.map +1 -1
- package/dist/node/components/NodeModulesBox.d.mts.map +1 -1
- package/dist/node/components/NodeModulesBox.d.ts.map +1 -1
- package/dist/node/hooks/ModuleFromNodeConfig.d.cts +2 -2
- package/dist/node/hooks/ModuleFromNodeConfig.d.cts.map +1 -1
- package/dist/node/hooks/ModuleFromNodeConfig.d.mts +2 -2
- package/dist/node/hooks/ModuleFromNodeConfig.d.mts.map +1 -1
- package/dist/node/hooks/ModuleFromNodeConfig.d.ts +2 -2
- package/dist/node/hooks/ModuleFromNodeConfig.d.ts.map +1 -1
- package/dist/node/hooks/index.d.cts +3 -0
- package/dist/node/hooks/index.d.cts.map +1 -1
- package/dist/node/hooks/index.d.mts +3 -0
- package/dist/node/hooks/index.d.mts.map +1 -1
- package/dist/node/hooks/index.d.ts +3 -0
- package/dist/node/hooks/index.d.ts.map +1 -1
- package/dist/node/hooks/provided/index.d.cts +1 -0
- package/dist/node/hooks/provided/index.d.cts.map +1 -1
- package/dist/node/hooks/provided/index.d.mts +1 -0
- package/dist/node/hooks/provided/index.d.mts.map +1 -1
- package/dist/node/hooks/provided/index.d.ts +1 -0
- package/dist/node/hooks/provided/index.d.ts.map +1 -1
- package/dist/node/hooks/provided/useWeakProvidedNode.d.cts +3 -0
- package/dist/node/hooks/provided/useWeakProvidedNode.d.cts.map +1 -0
- package/dist/node/hooks/provided/useWeakProvidedNode.d.mts +3 -0
- package/dist/node/hooks/provided/useWeakProvidedNode.d.mts.map +1 -0
- package/dist/node/hooks/provided/useWeakProvidedNode.d.ts +3 -0
- package/dist/node/hooks/provided/useWeakProvidedNode.d.ts.map +1 -0
- package/dist/node/hooks/useModuleFromNode.d.cts +67 -1
- package/dist/node/hooks/useModuleFromNode.d.cts.map +1 -1
- package/dist/node/hooks/useModuleFromNode.d.mts +67 -1
- package/dist/node/hooks/useModuleFromNode.d.mts.map +1 -1
- package/dist/node/hooks/useModuleFromNode.d.ts +67 -1
- package/dist/node/hooks/useModuleFromNode.d.ts.map +1 -1
- package/dist/node/hooks/useNodeFromNode.d.cts +1 -0
- package/dist/node/hooks/useNodeFromNode.d.cts.map +1 -1
- package/dist/node/hooks/useNodeFromNode.d.mts +1 -0
- package/dist/node/hooks/useNodeFromNode.d.mts.map +1 -1
- package/dist/node/hooks/useNodeFromNode.d.ts +1 -0
- package/dist/node/hooks/useNodeFromNode.d.ts.map +1 -1
- package/dist/node/hooks/useNodesFromNode.d.cts +1 -0
- package/dist/node/hooks/useNodesFromNode.d.cts.map +1 -1
- package/dist/node/hooks/useNodesFromNode.d.mts +1 -0
- package/dist/node/hooks/useNodesFromNode.d.mts.map +1 -1
- package/dist/node/hooks/useNodesFromNode.d.ts +1 -0
- package/dist/node/hooks/useNodesFromNode.d.ts.map +1 -1
- package/dist/node/hooks/useWeakModuleFromNode.d.cts +56 -1
- package/dist/node/hooks/useWeakModuleFromNode.d.cts.map +1 -1
- package/dist/node/hooks/useWeakModuleFromNode.d.mts +56 -1
- package/dist/node/hooks/useWeakModuleFromNode.d.mts.map +1 -1
- package/dist/node/hooks/useWeakModuleFromNode.d.ts +56 -1
- package/dist/node/hooks/useWeakModuleFromNode.d.ts.map +1 -1
- package/dist/node/hooks/useWeakNode.d.cts +4 -0
- package/dist/node/hooks/useWeakNode.d.cts.map +1 -0
- package/dist/node/hooks/useWeakNode.d.mts +4 -0
- package/dist/node/hooks/useWeakNode.d.mts.map +1 -0
- package/dist/node/hooks/useWeakNode.d.ts +4 -0
- package/dist/node/hooks/useWeakNode.d.ts.map +1 -0
- package/dist/node/hooks/useWeakNodeDescription.d.cts +4 -0
- package/dist/node/hooks/useWeakNodeDescription.d.cts.map +1 -0
- package/dist/node/hooks/useWeakNodeDescription.d.mts +4 -0
- package/dist/node/hooks/useWeakNodeDescription.d.mts.map +1 -0
- package/dist/node/hooks/useWeakNodeDescription.d.ts +4 -0
- package/dist/node/hooks/useWeakNodeDescription.d.ts.map +1 -0
- package/dist/node/hooks/useWeakNodeFromNode.d.cts +4 -0
- package/dist/node/hooks/useWeakNodeFromNode.d.cts.map +1 -0
- package/dist/node/hooks/useWeakNodeFromNode.d.mts +4 -0
- package/dist/node/hooks/useWeakNodeFromNode.d.mts.map +1 -0
- package/dist/node/hooks/useWeakNodeFromNode.d.ts +4 -0
- package/dist/node/hooks/useWeakNodeFromNode.d.ts.map +1 -0
- package/dist/node/hooks/useWeakNodesFromNode.d.cts +5 -0
- package/dist/node/hooks/useWeakNodesFromNode.d.cts.map +1 -0
- package/dist/node/hooks/useWeakNodesFromNode.d.mts +5 -0
- package/dist/node/hooks/useWeakNodesFromNode.d.mts.map +1 -0
- package/dist/node/hooks/useWeakNodesFromNode.d.ts +5 -0
- package/dist/node/hooks/useWeakNodesFromNode.d.ts.map +1 -0
- package/dist/node/index.cjs +103 -29
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +124 -54
- package/dist/node/index.js.map +1 -1
- package/package.json +7 -5
- package/src/components/Node.stories.tsx +6 -5
- package/src/components/Node.tsx +1 -1
- package/src/components/NodeDescriptionBox.tsx +3 -3
- package/src/components/NodeModulesBox.tsx +6 -3
- package/src/hooks/ModuleFromNodeConfig.ts +2 -2
- package/src/hooks/index.ts +3 -0
- package/src/hooks/provided/index.ts +1 -0
- package/src/hooks/provided/useWeakProvidedNode.tsx +9 -0
- package/src/hooks/useModuleFromNode.ts +13 -9
- package/src/hooks/useNodeFromNode.tsx +3 -0
- package/src/hooks/useNodesFromNode.tsx +3 -0
- package/src/hooks/useWeakModuleFromNode.ts +13 -10
- package/src/hooks/useWeakNode.ts +18 -0
- package/src/hooks/useWeakNodeDescription.ts +15 -0
- package/src/hooks/useWeakNodeFromNode.tsx +11 -0
- package/src/hooks/useWeakNodesFromNode.tsx +25 -0
package/dist/browser/index.cjs
CHANGED
|
@@ -31,11 +31,15 @@ __export(src_exports, {
|
|
|
31
31
|
useNodeConfigNodeField: () => useNodeConfigNodeField,
|
|
32
32
|
useNodeDescription: () => useNodeDescription,
|
|
33
33
|
useNodeFromNode: () => useNodeFromNode,
|
|
34
|
+
useNodesFromNode: () => useNodesFromNode,
|
|
34
35
|
useProvidedNode: () => useProvidedNode,
|
|
35
36
|
useWeakModuleFromNode: () => useWeakModuleFromNode,
|
|
36
37
|
useWeakModuleFromNodeConfigLogger: () => useWeakModuleFromNodeConfigLogger,
|
|
37
38
|
useWeakModulesFromNode: () => useWeakModulesFromNode,
|
|
38
|
-
useWeakNodeConfigNodeField: () => useWeakNodeConfigNodeField
|
|
39
|
+
useWeakNodeConfigNodeField: () => useWeakNodeConfigNodeField,
|
|
40
|
+
useWeakNodeDescription: () => useWeakNodeDescription,
|
|
41
|
+
useWeakNodeFromNode: () => useWeakNodeFromNode,
|
|
42
|
+
useWeakProvidedNode: () => useWeakProvidedNode
|
|
39
43
|
});
|
|
40
44
|
module.exports = __toCommonJS(src_exports);
|
|
41
45
|
|
|
@@ -55,6 +59,15 @@ var useProvidedNode = () => {
|
|
|
55
59
|
return [node];
|
|
56
60
|
};
|
|
57
61
|
|
|
62
|
+
// src/hooks/provided/useWeakProvidedNode.tsx
|
|
63
|
+
var import_react_node_context2 = require("@xyo-network/react-node-context");
|
|
64
|
+
var import_react2 = require("react");
|
|
65
|
+
var useWeakProvidedNode = () => {
|
|
66
|
+
const { node } = (0, import_react2.useContext)(import_react_node_context2.NodeContext);
|
|
67
|
+
const weakNode = (0, import_react2.useMemo)(() => node ? new WeakRef(node) : null, [node]);
|
|
68
|
+
return [weakNode];
|
|
69
|
+
};
|
|
70
|
+
|
|
58
71
|
// src/hooks/useModuleFilterOptions.ts
|
|
59
72
|
var useModuleFilterOptions = (config) => {
|
|
60
73
|
const { direction, identity, maxDepth } = config ?? {};
|
|
@@ -64,17 +77,17 @@ var useModuleFilterOptions = (config) => {
|
|
|
64
77
|
// src/hooks/useModuleFromNode.ts
|
|
65
78
|
var import_react_promise2 = require("@xylabs/react-promise");
|
|
66
79
|
var import_module_model = require("@xyo-network/module-model");
|
|
67
|
-
var
|
|
80
|
+
var import_react4 = require("react");
|
|
68
81
|
|
|
69
82
|
// src/hooks/useNode.ts
|
|
70
83
|
var import_react_promise = require("@xylabs/react-promise");
|
|
71
84
|
var import_node_model = require("@xyo-network/node-model");
|
|
72
85
|
|
|
73
86
|
// src/hooks/useNodeConfigNodeField.ts
|
|
74
|
-
var
|
|
87
|
+
var import_react3 = require("react");
|
|
75
88
|
var useNodeConfigNodeField = (config) => {
|
|
76
|
-
const nodeAddress = (0,
|
|
77
|
-
const nodeInstance = (0,
|
|
89
|
+
const nodeAddress = (0, import_react3.useMemo)(() => typeof config?.node === "string" ? config?.node : void 0, [config?.node]);
|
|
90
|
+
const nodeInstance = (0, import_react3.useMemo)(() => typeof config?.node === "object" ? config?.node : void 0, [config?.node]);
|
|
78
91
|
return [nodeAddress, nodeInstance];
|
|
79
92
|
};
|
|
80
93
|
|
|
@@ -91,18 +104,19 @@ var useNode = (config) => {
|
|
|
91
104
|
};
|
|
92
105
|
|
|
93
106
|
// src/hooks/useModuleFromNode.ts
|
|
94
|
-
var useModuleFromNode = (nameOrAddressOrInstance, config) => {
|
|
107
|
+
var useModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
|
|
95
108
|
const [node, nodeError] = useNode(config);
|
|
96
109
|
const logger = useModuleFromNodeConfigLogger(config);
|
|
97
110
|
const filterOptions = useModuleFilterOptions(config);
|
|
98
|
-
const [result, setResult] = (0,
|
|
111
|
+
const [result, setResult] = (0, import_react4.useState)();
|
|
99
112
|
const [, error] = (0, import_react_promise2.usePromise)(async () => {
|
|
100
113
|
logger?.debug("useModuleFromNode: resolving");
|
|
114
|
+
const identity = config?.identity ?? import_module_model.isModuleInstance;
|
|
101
115
|
if (node && nameOrAddressOrInstance) {
|
|
102
116
|
node.on("moduleAttached", ({ module: module2 }) => {
|
|
103
117
|
logger?.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
|
|
104
118
|
if (module2.address === nameOrAddressOrInstance || module2.config?.name === nameOrAddressOrInstance) {
|
|
105
|
-
setResult((
|
|
119
|
+
setResult(identity(module2) ? module2 : void 0);
|
|
106
120
|
}
|
|
107
121
|
});
|
|
108
122
|
node.on("moduleDetached", ({ module: module2 }) => {
|
|
@@ -111,12 +125,12 @@ var useModuleFromNode = (nameOrAddressOrInstance, config) => {
|
|
|
111
125
|
setResult(void 0);
|
|
112
126
|
}
|
|
113
127
|
});
|
|
114
|
-
if ((
|
|
128
|
+
if (identity(nameOrAddressOrInstance)) {
|
|
115
129
|
setResult(nameOrAddressOrInstance);
|
|
116
130
|
} else {
|
|
117
131
|
const result2 = await node.resolve(nameOrAddressOrInstance, filterOptions);
|
|
118
132
|
logger?.debug(`Result: ${result2?.address}`);
|
|
119
|
-
setResult(
|
|
133
|
+
setResult(identity(module) ? module : void 0);
|
|
120
134
|
}
|
|
121
135
|
return result;
|
|
122
136
|
}
|
|
@@ -128,12 +142,12 @@ var useModuleFromNode = (nameOrAddressOrInstance, config) => {
|
|
|
128
142
|
|
|
129
143
|
// src/hooks/useModulesFromNode.ts
|
|
130
144
|
var import_react_promise3 = require("@xylabs/react-promise");
|
|
131
|
-
var
|
|
145
|
+
var import_react5 = require("react");
|
|
132
146
|
var useModulesFromNode = (filter, config) => {
|
|
133
147
|
const [node, nodeError] = useNode(config);
|
|
134
148
|
const logger = config?.logger;
|
|
135
149
|
const filterOptions = useModuleFilterOptions();
|
|
136
|
-
const [result, setResult] = (0,
|
|
150
|
+
const [result, setResult] = (0, import_react5.useState)();
|
|
137
151
|
const [, error] = (0, import_react_promise3.usePromise)(async () => {
|
|
138
152
|
logger?.debug("useModuleFromNode: resolving");
|
|
139
153
|
if (node) {
|
|
@@ -183,24 +197,43 @@ var useNodeFromNode = (nameOrAddressOrInstance, config) => {
|
|
|
183
197
|
return [instance, error];
|
|
184
198
|
};
|
|
185
199
|
|
|
200
|
+
// src/hooks/useNodesFromNode.tsx
|
|
201
|
+
var import_node_model3 = require("@xyo-network/node-model");
|
|
202
|
+
var useNodesFromNode = (filter, config) => {
|
|
203
|
+
const [modules, error] = useModulesFromNode(filter, config);
|
|
204
|
+
if (error) {
|
|
205
|
+
return [null, error];
|
|
206
|
+
}
|
|
207
|
+
return modules ? [
|
|
208
|
+
// eslint-disable-next-line unicorn/no-array-reduce
|
|
209
|
+
modules.reduce((prev, module2) => {
|
|
210
|
+
if ((0, import_node_model3.isNodeInstance)(module2)) {
|
|
211
|
+
prev.push(module2);
|
|
212
|
+
}
|
|
213
|
+
return prev;
|
|
214
|
+
}, []),
|
|
215
|
+
void 0
|
|
216
|
+
] : [modules, error];
|
|
217
|
+
};
|
|
218
|
+
|
|
186
219
|
// src/hooks/useWeakModuleFromNode.ts
|
|
187
220
|
var import_react_promise5 = require("@xylabs/react-promise");
|
|
188
221
|
var import_module_model3 = require("@xyo-network/module-model");
|
|
189
|
-
var
|
|
190
|
-
var useWeakModuleFromNode = (nameOrAddressOrInstance, config) => {
|
|
222
|
+
var import_react6 = require("react");
|
|
223
|
+
var useWeakModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
|
|
191
224
|
const [node, nodeError] = useNode(config);
|
|
192
225
|
const logger = useModuleFromNodeConfigLogger(config);
|
|
193
226
|
const filterOptions = useModuleFilterOptions(config);
|
|
194
|
-
const [result, setResult] = (0,
|
|
227
|
+
const [result, setResult] = (0, import_react6.useState)();
|
|
195
228
|
const [, error] = (0, import_react_promise5.usePromise)(async () => {
|
|
196
229
|
logger?.debug("useModuleFromNode: resolving");
|
|
230
|
+
const identity = config?.identity ?? import_module_model3.isModuleInstance;
|
|
197
231
|
const nodeInstance = node;
|
|
198
232
|
if (nodeInstance && nameOrAddressOrInstance) {
|
|
199
233
|
nodeInstance.on("moduleAttached", ({ module: module2 }) => {
|
|
200
234
|
logger?.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
|
|
201
235
|
if (module2.address === nameOrAddressOrInstance || module2.config?.name === nameOrAddressOrInstance) {
|
|
202
|
-
|
|
203
|
-
setResult(instance ? new WeakRef(instance) : void 0);
|
|
236
|
+
setResult(identity(module2) ? new WeakRef(module2) : void 0);
|
|
204
237
|
}
|
|
205
238
|
});
|
|
206
239
|
nodeInstance.on("moduleDetached", ({ module: module2 }) => {
|
|
@@ -209,12 +242,12 @@ var useWeakModuleFromNode = (nameOrAddressOrInstance, config) => {
|
|
|
209
242
|
setResult(void 0);
|
|
210
243
|
}
|
|
211
244
|
});
|
|
212
|
-
if ((
|
|
245
|
+
if (identity(nameOrAddressOrInstance)) {
|
|
213
246
|
setResult(new WeakRef(nameOrAddressOrInstance));
|
|
214
247
|
} else {
|
|
215
248
|
const result2 = await nodeInstance.resolve(nameOrAddressOrInstance, filterOptions);
|
|
216
249
|
logger?.debug(`Result: ${result2?.address}`);
|
|
217
|
-
setResult(result2 ? new WeakRef(result2) : void 0);
|
|
250
|
+
setResult(identity(result2) ? new WeakRef(result2) : void 0);
|
|
218
251
|
}
|
|
219
252
|
return result;
|
|
220
253
|
}
|
|
@@ -226,12 +259,12 @@ var useWeakModuleFromNode = (nameOrAddressOrInstance, config) => {
|
|
|
226
259
|
|
|
227
260
|
// src/hooks/useWeakModulesFromNode.ts
|
|
228
261
|
var import_react_promise6 = require("@xylabs/react-promise");
|
|
229
|
-
var
|
|
262
|
+
var import_react7 = require("react");
|
|
230
263
|
var useWeakModulesFromNode = (filter, config) => {
|
|
231
264
|
const [node, nodeError] = useNode(config);
|
|
232
265
|
const logger = config?.logger;
|
|
233
266
|
const filterOptions = useModuleFilterOptions();
|
|
234
|
-
const [result, setResult] = (0,
|
|
267
|
+
const [result, setResult] = (0, import_react7.useState)();
|
|
235
268
|
const [, error] = (0, import_react_promise6.usePromise)(async () => {
|
|
236
269
|
logger?.debug("useModuleFromNode: resolving");
|
|
237
270
|
const nodeInstance = node;
|
|
@@ -259,13 +292,49 @@ var useWeakModulesFromNode = (filter, config) => {
|
|
|
259
292
|
};
|
|
260
293
|
|
|
261
294
|
// src/hooks/useWeakNodeConfigNodeField.ts
|
|
262
|
-
var
|
|
295
|
+
var import_react8 = require("react");
|
|
263
296
|
var useWeakNodeConfigNodeField = (config) => {
|
|
264
|
-
const nodeAddress = (0,
|
|
265
|
-
const nodeInstance = (0,
|
|
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]);
|
|
266
299
|
return [nodeAddress, nodeInstance];
|
|
267
300
|
};
|
|
268
301
|
|
|
302
|
+
// src/hooks/useWeakNodeDescription.ts
|
|
303
|
+
var import_react_promise8 = require("@xylabs/react-promise");
|
|
304
|
+
var import_module_model4 = require("@xyo-network/module-model");
|
|
305
|
+
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
|
+
var useWeakNodeDescription = (config) => {
|
|
324
|
+
const [activeNode, nodeError] = useWeakNode(config);
|
|
325
|
+
const [description, error] = (0, import_react_promise8.usePromise)(async () => {
|
|
326
|
+
const state = await activeNode?.deref()?.state();
|
|
327
|
+
return state?.find((0, import_payload_model2.isPayloadOfSchemaType)(import_module_model4.ModuleDescriptionSchema));
|
|
328
|
+
}, [activeNode]);
|
|
329
|
+
return [description, nodeError ?? error];
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
// src/hooks/useWeakNodeFromNode.tsx
|
|
333
|
+
var import_node_model5 = require("@xyo-network/node-model");
|
|
334
|
+
var useWeakNodeFromNode = (nameOrAddressOrInstance, config) => {
|
|
335
|
+
return useWeakModuleFromNode(nameOrAddressOrInstance, { identity: import_node_model5.isNodeInstance, ...config });
|
|
336
|
+
};
|
|
337
|
+
|
|
269
338
|
// src/hooks/WeakModuleFromNodeConfig.ts
|
|
270
339
|
var useWeakModuleFromNodeConfigLogger = (config) => {
|
|
271
340
|
return config?.logger;
|
|
@@ -274,7 +343,7 @@ var useWeakModuleFromNodeConfigLogger = (config) => {
|
|
|
274
343
|
// src/components/NodeDescriptionBox.tsx
|
|
275
344
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
276
345
|
var NodeDescriptionBox = ({ node, ...props }) => {
|
|
277
|
-
const [description, error] =
|
|
346
|
+
const [description, error] = useWeakNodeDescription({ node });
|
|
278
347
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexCol, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { color: error ? "red" : void 0, children: error ? error.message : JSON.stringify(description, null, 2) }) });
|
|
279
348
|
};
|
|
280
349
|
|
|
@@ -299,17 +368,17 @@ var import_react_node_provider = require("@xyo-network/react-node-provider");
|
|
|
299
368
|
var import_icons_material = require("@mui/icons-material");
|
|
300
369
|
var import_material2 = require("@mui/material");
|
|
301
370
|
var import_x_tree_view2 = require("@mui/x-tree-view");
|
|
302
|
-
var
|
|
371
|
+
var import_react10 = require("react");
|
|
303
372
|
|
|
304
373
|
// src/components/render/RenderModule.tsx
|
|
305
374
|
var import_material = require("@mui/material");
|
|
306
375
|
var import_x_tree_view = require("@mui/x-tree-view");
|
|
307
376
|
var import_react_async_effect = require("@xylabs/react-async-effect");
|
|
308
|
-
var
|
|
377
|
+
var import_react9 = require("react");
|
|
309
378
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
310
379
|
var RenderModule = ({ module: module2, idRef }) => {
|
|
311
380
|
const { address, queries } = module2 ?? {};
|
|
312
|
-
const [childModules, setChildModules] = (0,
|
|
381
|
+
const [childModules, setChildModules] = (0, import_react9.useState)();
|
|
313
382
|
(0, import_react_async_effect.useAsyncEffect)(
|
|
314
383
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
315
384
|
async (mounted) => {
|
|
@@ -344,7 +413,7 @@ var StyledAddressTreeItem = (0, import_material.styled)(import_x_tree_view.TreeI
|
|
|
344
413
|
// src/components/render/ModuleDescriptionBox.tsx
|
|
345
414
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
346
415
|
var ModuleDescriptionBox = ({ module: module2 }) => {
|
|
347
|
-
const idRef = (0,
|
|
416
|
+
const idRef = (0, import_react10.useRef)({ idIncrementor: 0, ids: [] });
|
|
348
417
|
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: module2 ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
|
|
349
418
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.Typography, { variant: "h4", children: "Node Configuration" }),
|
|
350
419
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/components/NodeDescriptionBox.tsx","../../src/hooks/ModuleFromNodeConfig.ts","../../src/hooks/provided/useProvidedNode.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/useWeakModuleFromNode.ts","../../src/hooks/useWeakModulesFromNode.ts","../../src/hooks/useWeakNodeConfigNodeField.ts","../../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 { useNodeDescription } from '../hooks'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | NodeInstance\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useNodeDescription({ 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 } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nexport type ModuleFromNodeConfig = ModuleFilterOptions & {\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","/* 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 { usePromise } from '@xylabs/react-promise'\nimport { asModuleInstance, 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 = (\n nameOrAddressOrInstance?: string | ModuleInstance,\n config?: ModuleFromNodeConfig,\n): [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<ModuleInstance | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\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(asModuleInstance(module))\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 (isModuleInstance(nameOrAddressOrInstance)) {\n setResult(nameOrAddressOrInstance)\n } else {\n const result = await node.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(result)\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'\nimport { useModuleFromNode } from './useModuleFromNode'\n\nexport const useNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: ModuleFromNodeConfig,\n): [NodeInstance | undefined, Error | undefined] => {\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 { usePromise } from '@xylabs/react-promise'\nimport { asModuleInstance, 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 = (\n nameOrAddressOrInstance?: string | ModuleInstance,\n config?: ModuleFromNodeConfig,\n): [WeakRef<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<ModuleInstance> | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\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 const instance = asModuleInstance(module)\n setResult(instance ? new WeakRef(instance) : 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 (isModuleInstance(nameOrAddressOrInstance)) {\n setResult(new WeakRef(nameOrAddressOrInstance))\n } else {\n const result = await nodeInstance.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(result ? new WeakRef(result) : 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 { 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 | 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 { useProvidedNode } 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] = useProvidedNode()\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?: 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: ModuleInstance\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) => {\n const { address, queries } = module ?? {}\n const [childModules, setChildModules] = useState<WeakRef<ModuleInstance>[]>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const children = (await module.resolve('*')).filter((childModule) => childModule.address !== address)\n if (mounted()) {\n setChildModules(children.map((childModule) => new WeakRef(childModule)))\n }\n },\n [module, address],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\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={childModule} 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_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_react_promise","import_module_model","import_react","module","result","import_react_promise","import_react","module","nodeInstance","moduleInstances","import_react","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","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/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 { useProvidedNode } 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] = useProvidedNode()\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?: 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: ModuleInstance\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) => {\n const { address, queries } = module ?? {}\n const [childModules, setChildModules] = useState<WeakRef<ModuleInstance>[]>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const children = (await module.resolve('*')).filter((childModule) => childModule.address !== address)\n if (mounted()) {\n setChildModules(children.map((childModule) => new WeakRef(childModule)))\n }\n },\n [module, address],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\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={childModule} 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","import_jsx_runtime","module","ExpandMoreIcon","ChevronRightIcon","import_jsx_runtime","CloseIcon"]}
|