diff --git a/packages/mermaid/src/Diagram.ts b/packages/mermaid/src/Diagram.ts index 4fc12d103..37795ed62 100644 --- a/packages/mermaid/src/Diagram.ts +++ b/packages/mermaid/src/Diagram.ts @@ -3,9 +3,8 @@ import { log } from './logger.js'; import { getDiagram, registerDiagram } from './diagram-api/diagramAPI.js'; import { detectType, getDiagramLoader } from './diagram-api/detectType.js'; import { UnknownDiagramError } from './errors.js'; -import type { DetailedError } from './utils.js'; +import { encodeEntities, type DetailedError } from './utils.js'; import type { DiagramDefinition, DiagramMetadata } from './diagram-api/types.js'; -import { encodeEntities } from './mermaidAPI.js'; export type ParseErrorFunction = (err: string | DetailedError | unknown, hash?: any) => void; diff --git a/packages/mermaid/src/diagram-api/types.ts b/packages/mermaid/src/diagram-api/types.ts index 232550b4f..58d98107e 100644 --- a/packages/mermaid/src/diagram-api/types.ts +++ b/packages/mermaid/src/diagram-api/types.ts @@ -19,14 +19,6 @@ export interface InjectUtils { _parseDirective: any; } -export type Message = { - type: number; - to: string; - from: string; - message: string; - wrap: boolean; -}; - /** * Generic Diagram DB that may apply to any diagram type. */ @@ -45,7 +37,6 @@ export interface DiagramDB { setDisplayMode?: (title: string) => void; bindFunctions?: (element: Element) => void; - getMessages?: () => Message[]; } // This is what is returned from getClasses(...) methods. diff --git a/packages/mermaid/src/diagram.spec.ts b/packages/mermaid/src/diagram.spec.ts index 4e3c4884d..2a8473680 100644 --- a/packages/mermaid/src/diagram.spec.ts +++ b/packages/mermaid/src/diagram.spec.ts @@ -74,13 +74,13 @@ Expecting 'TXT', got 'NEWLINE'" const diagram = await getDiagramFromText(`sequenceDiagram A->>B: I #9829; you! B->>A: I #9829; you #infin; times more!`); + //@ts-ignore const messages = diagram.db?.getMessages?.(); if (!messages) { throw new Error('Messages not found!'); } - const result = ['I fl°°9829¶ß you!', 'I fl°°9829¶ß you fl°infin¶ß times more!']; - messages.forEach((message, index: number) => { - expect(message.message).toBe(result[index]); - }); + + expect(messages[0].message).toBe('I fl°°9829¶ß you!'); + expect(messages[1].message).toBe('I fl°°9829¶ß you fl°infin¶ß times more!'); }); }); diff --git a/packages/mermaid/src/mermaidAPI.spec.ts b/packages/mermaid/src/mermaidAPI.spec.ts index a79fd44c4..32647ee62 100644 --- a/packages/mermaid/src/mermaidAPI.spec.ts +++ b/packages/mermaid/src/mermaidAPI.spec.ts @@ -38,8 +38,6 @@ import type { MermaidConfig } from './config.type.js'; import mermaidAPI, { removeExistingElements } from './mermaidAPI.js'; import { - encodeEntities, - decodeEntities, createCssStyles, createUserStyles, appendDivSvgG, @@ -68,6 +66,7 @@ vi.mock('stylis', () => { }; }); import { compile, serialize } from 'stylis'; +import { decodeEntities, encodeEntities } from './utils.js'; /** * @see https://vitest.dev/guide/mocking.html Mock part of a module diff --git a/packages/mermaid/src/mermaidAPI.ts b/packages/mermaid/src/mermaidAPI.ts index 9637eca00..09d007780 100644 --- a/packages/mermaid/src/mermaidAPI.ts +++ b/packages/mermaid/src/mermaidAPI.ts @@ -30,6 +30,7 @@ import isEmpty from 'lodash-es/isEmpty.js'; import { setA11yDiagramInfo, addSVGa11yTitleDescription } from './accessibility.js'; import type { DiagramStyleClassDef } from './diagram-api/types.js'; import { preprocessDiagram } from './preprocess.js'; +import { decodeEntities } from './utils.js'; const MAX_TEXTLENGTH = 50_000; const MAX_TEXTLENGTH_EXCEEDED_MSG = @@ -110,43 +111,6 @@ async function parse(text: string, parseOptions?: ParseOptions): Promise