MCPcopy Create free account
hub / github.com/cyclejs/cyclejs / traverse

Function traverse

devtool/src/graphSerializer.ts:126–142  ·  view source on GitHub ↗
(graph: Dagre.Graph, idTable: IdTable, outStream: Stream<any>)

Source from the content-addressed store, hash-verified

124}
125
126function traverse(graph: Dagre.Graph, idTable: IdTable, outStream: Stream<any>) {
127 if (outStream._prod && outStream._prod['ins']) {
128 const inStream: Stream<any> = outStream._prod['ins'];
129 visitOperator(graph, idTable, outStream._prod);
130 visitEdge(graph, idTable, inStream, outStream._prod, outStream);
131 } else if (outStream._prod && outStream._prod['insArr']) {
132 const insArr: Array<Stream<any>> = outStream._prod['insArr'];
133 visitOperator(graph, idTable, outStream._prod);
134 insArr.forEach(inStream => {
135 visitEdge(graph, idTable, inStream, outStream._prod, outStream);
136 });
137 } else if (outStream._prod) {
138 visitOperator(graph, idTable, outStream._prod);
139 makeSureNodeIsRegistered(graph, idTable, outStream);
140 graph.setEdge(idTable.getId(outStream._prod), idTable.getId(outStream), {});
141 }
142}
143
144function buildGraph(sinks: Object): Dagre.Graph {
145 const idTable = new IdTable();

Callers 2

visitEdgeFunction · 0.85
buildGraphFunction · 0.85

Calls 4

visitOperatorFunction · 0.85
visitEdgeFunction · 0.85
makeSureNodeIsRegisteredFunction · 0.85
getIdMethod · 0.80

Tested by

no test coverage detected