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
37 lines (25 loc) • 1.28 kB
JavaScript
import FlowTreeBuilder, {
createFlowTreeModifier as createFlowTreeModifierFromBuilder,
ABSTRACTION_LEVELS,
MODIFIER_PRESETS,
DEFINED_MODIFIERS
} from 'builder/FlowTreeBuilder';
import SVGRender, { ShapesTreeEditor } from 'render/svg/SVGRender';
import PresentationGenerator from 'presentation-generator/PresentationGenerator';
import { TOKEN_TYPES, MODIFIED_TYPES } from 'shared/constants';
export const createFlowTreeBuilder = FlowTreeBuilder;
export const createFlowTreeModifier = createFlowTreeModifierFromBuilder;
export const createSVGRender = SVGRender;
export const createShapesTreeEditor = ShapesTreeEditor;
export const createPresentationGenerator = PresentationGenerator;
export { ABSTRACTION_LEVELS, DEFINED_MODIFIERS, MODIFIER_PRESETS, TOKEN_TYPES, MODIFIED_TYPES };
export const convertCodeToSvg = (code, printConfig) => convertFlowTreeToSvg(convertCodeToFlowTree(code), printConfig);
export const convertCodeToFlowTree = (code) => {
const flowTreeBuilder = createFlowTreeBuilder();
return flowTreeBuilder.build(code);
};
export const convertFlowTreeToSvg = (flowTree, printConfig) => {
const svgRender = createSVGRender();
const shapesTree = svgRender.buildShapesTree(flowTree);
return shapesTree.print(printConfig);
};