MCPcopy Create free account
hub / github.com/MegEngine/MegFlow / parse

Function parse

flow-debugger/debugger-ui/src/parser.js:262–332  ·  view source on GitHub ↗
(config)

Source from the content-addressed store, hash-verified

260}
261
262export const parse = (config) => {
263 let config_translated = translateConfig(config);
264 let main = config.main;
265 config_translated.g_nodes = {};
266 config_translated.g_graphs = {};
267
268 for (const name in config_translated.nodes) {
269 let node = config_translated.nodes[name];
270 if (isGraph(config_translated, node.ty)) {
271 config_translated.g_graphs[name] = parseGraph(
272 config_translated,
273 config_translated.graphs[node.ty]
274 );
275 node.link = config_translated.g_graphs[name];
276 } else {
277 config_translated.g_nodes[name] = {
278 id: config_translated.counter,
279 label: name,
280 color: "#fff",
281 title: "__GLOBAL__",
282 ports: new Set(),
283 };
284 node.link = config_translated.g_nodes[name];
285 config_translated.counter += 1;
286 }
287 }
288
289 let parsed = parseGraph(config_translated, config_translated.graphs[main]);
290
291 for (const name in parsed.inputs) {
292 let id = config_translated.counter;
293 parsed.nodes.push({
294 id,
295 label: name,
296 color: "#000",
297 font: { color: "#fff" },
298 });
299 config_translated.counter += 1;
300 for (const to of parsed.inputs[name]) {
301 parsed.edges.push({ from: id, to, arrows: "to" });
302 }
303 }
304
305 for (const name in parsed.outputs) {
306 let id = config_translated.counter;
307 parsed.nodes.push({
308 id,
309 label: name,
310 color: "#000",
311 font: { color: "#fff" },
312 });
313 config_translated.counter += 1;
314 for (const from of parsed.outputs[name]) {
315 parsed.edges.push({ from, to: id, arrows: "to" });
316 }
317 }
318 return [
319 {

Callers 1

event_listener.jsFile · 0.90

Calls 4

translateConfigFunction · 0.85
isGraphFunction · 0.85
parseGraphFunction · 0.85
pushMethod · 0.80

Tested by

no test coverage detected