UNPKG

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

24 lines (21 loc) 726 B
import { levelsTraversal } from './traversal'; import { setupPointer } from './treeLevelsPointer'; export const complexTraversal = (tree, root, onStepIn, onNode, onStepOut, options) => { const levelsPointer = setupPointer(); let latestShape = root; levelsTraversal( tree, parentNode => { levelsPointer.stepIn(latestShape); onStepIn(parentNode, levelsPointer.getCurrent()); }, node => { latestShape = onNode(node, levelsPointer.getCurrent()); }, parentNode => { levelsPointer.getCurrent() && onStepOut(parentNode, levelsPointer.getCurrent()); levelsPointer.stepOut(); }, options ); };