js2flowchart
Version:
> Why? While I've been working on [Under-the-hood-ReactJS](https://github.com/Bogdan-Lyashenko/Under-the-hood-ReactJS) I spent enormous amount of time on creating schemes. Each change in code or flowchart affects all entire scheme instantly, forcing you t
15 lines • 655 B
JavaScript
import { levelsTraversal } from './traversal';
import { setupPointer } from './treeLevelsPointer';
export var complexTraversal = function complexTraversal(tree, root, onStepIn, onNode, onStepOut, options) {
var levelsPointer = setupPointer();
var latestShape = root;
levelsTraversal(tree, function (parentNode) {
levelsPointer.stepIn(latestShape);
onStepIn(parentNode, levelsPointer.getCurrent());
}, function (node) {
latestShape = onNode(node, levelsPointer.getCurrent());
}, function (parentNode) {
levelsPointer.getCurrent() && onStepOut(parentNode, levelsPointer.getCurrent());
levelsPointer.stepOut();
}, options);
};