diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js index ee31a3cc2..2d2b5008f 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.js @@ -16,7 +16,7 @@ export const insertNode = async (elem, node, renderOptions) => { } } - const shapeHandler = shapes.get(node.shape); + const shapeHandler = shapes[node.shape]; if (!shapeHandler) { throw new Error(`No such shape: ${node.shape}. Please check your syntax.`); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/nodes.spec.js b/packages/mermaid/src/rendering-util/rendering-elements/nodes.spec.ts similarity index 99% rename from packages/mermaid/src/rendering-util/rendering-elements/nodes.spec.js rename to packages/mermaid/src/rendering-util/rendering-elements/nodes.spec.ts index bb5287cac..a7a7691e5 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/nodes.spec.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/nodes.spec.ts @@ -1,5 +1,5 @@ -import exp from 'constants'; -import { shapes } from './nodes.js'; +import { shapes } from './shapes.js'; +import { describe, it, expect } from 'vitest'; describe('Test Alias for shapes', function () { // for each shape in docs/syntax/flowchart.md, along with its semantic name, short name, and alias name, add a test case diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes.ts index 2c220a7d5..a39af1eab 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes.ts @@ -434,33 +434,31 @@ export const shapesDefs: ShapeDefinition[] = [ ]; const generateShapeMap = () => { - const shapeMap = new Map( - // These are the shapes that didn't have documentation present. - Object.entries({ - // States - state, - stateStart, - stateEnd, - forkJoin, - choice, - note, + // These are the shapes that didn't have documentation present. + const shapeMap: Record = { + // States + state, + stateStart, + stateEnd, + forkJoin, + choice, + note, - // Rectangles - rectWithTitle, - roundedRect, - squareRect, - labelRect, + // Rectangles + rectWithTitle, + roundedRect, + squareRect, + labelRect, - // Icons - iconSquare, - iconCircle, - icon, - iconRounded, - imageSquare, + // Icons + iconSquare, + iconCircle, + icon, + iconRounded, + imageSquare, - anchor, - }) - ); + anchor, + }; for (const shape of shapesDefs) { for (const alias of [ @@ -468,7 +466,7 @@ const generateShapeMap = () => { ...(shape.aliases ?? []), ...(shape.legacyAliases ?? []), ]) { - shapeMap.set(alias, shape.handler); + shapeMap[alias] = shape.handler; } } return shapeMap;