1234567891011121314151617181920212223242526272829 |
- import Rectangle from "./rectangle"
- import Circle from "./circle"
- import Ellipse from "./ellipse"
- import Polyline from "./polyline"
- import Dot from "./dot"
- import Line from "./line"
- import Vector from "./vector"
- import Utils from "./utils"
- import { codeShapes } from "./index"
-
- const scope = { Dot, Circle, Ellipse, Line, Polyline, Rectangle, Vector, Utils }
-
- /**
- * Evaluate code, collecting generated shapes in the shape set. Return the
- * collected shapes as an array.
- * @param code
- */
- export function getShapesFromCode(code: string) {
- codeShapes.clear()
-
- new Function(...Object.keys(scope), `${code}`)(...Object.values(scope))
-
- const generatedShapes = Array.from(codeShapes.values()).map((instance) => {
- instance.shape.isGenerated = true
- return instance.shape
- })
-
- return generatedShapes
- }
|