From 82054bfabcb437c00a8cc41f8bc77c8e88ced246 Mon Sep 17 00:00:00 2001 From: Reda Al Sulais Date: Sun, 20 Aug 2023 17:21:10 +0300 Subject: [PATCH] chore: make `parser` as optional in `ParserDefinition` --- packages/mermaid-zenuml/src/parser.ts | 1 - packages/mermaid/src/Diagram.ts | 4 +++- packages/mermaid/src/diagram-api/diagram-orchestration.ts | 1 - packages/mermaid/src/diagram-api/diagramAPI.spec.ts | 1 - packages/mermaid/src/diagram-api/types.ts | 2 +- packages/mermaid/src/diagram.spec.ts | 3 --- packages/mermaid/src/diagrams/error/errorDiagram.ts | 1 - packages/mermaid/src/mermaid.spec.ts | 1 - 8 files changed, 4 insertions(+), 10 deletions(-) diff --git a/packages/mermaid-zenuml/src/parser.ts b/packages/mermaid-zenuml/src/parser.ts index 8c0ca55d5..b7f6a0fde 100644 --- a/packages/mermaid-zenuml/src/parser.ts +++ b/packages/mermaid-zenuml/src/parser.ts @@ -5,7 +5,6 @@ * This is a dummy parser that satisfies the mermaid API logic. */ export default { - parser: { yy: {} }, parse: () => { // no op }, diff --git a/packages/mermaid/src/Diagram.ts b/packages/mermaid/src/Diagram.ts index 13fd3232b..1d4793bf0 100644 --- a/packages/mermaid/src/Diagram.ts +++ b/packages/mermaid/src/Diagram.ts @@ -50,7 +50,9 @@ export class Diagram { this.parser.parse = (text: string) => originalParse(cleanupComments(extractFrontMatter(text, this.db))); - this.parser.parser.yy = this.db; + if (this.parser.parser?.yy) { + this.parser.parser.yy = this.db; + } this.init = diagram.init; this.parse(); } diff --git a/packages/mermaid/src/diagram-api/diagram-orchestration.ts b/packages/mermaid/src/diagram-api/diagram-orchestration.ts index 9c03e27f3..b4ab64a77 100644 --- a/packages/mermaid/src/diagram-api/diagram-orchestration.ts +++ b/packages/mermaid/src/diagram-api/diagram-orchestration.ts @@ -45,7 +45,6 @@ export const addDiagrams = () => { styles: {}, // should never be used renderer: {}, // should never be used parser: { - parser: { yy: {} }, parse: () => { throw new Error( 'Diagrams beginning with --- are not valid. ' + diff --git a/packages/mermaid/src/diagram-api/diagramAPI.spec.ts b/packages/mermaid/src/diagram-api/diagramAPI.spec.ts index b437745cf..5422033d0 100644 --- a/packages/mermaid/src/diagram-api/diagramAPI.spec.ts +++ b/packages/mermaid/src/diagram-api/diagramAPI.spec.ts @@ -39,7 +39,6 @@ describe('DiagramAPI', () => { parse: (_text) => { return; }, - parser: { yy: {} }, }, renderer: {}, styles: {}, diff --git a/packages/mermaid/src/diagram-api/types.ts b/packages/mermaid/src/diagram-api/types.ts index 100b92e87..6da97147a 100644 --- a/packages/mermaid/src/diagram-api/types.ts +++ b/packages/mermaid/src/diagram-api/types.ts @@ -72,7 +72,7 @@ export type DrawDefinition = ( export interface ParserDefinition { parse: (text: string) => void; - parser: { yy: DiagramDB }; + parser?: { yy: DiagramDB }; } /** diff --git a/packages/mermaid/src/diagram.spec.ts b/packages/mermaid/src/diagram.spec.ts index 99ce4e2c6..b82962ea6 100644 --- a/packages/mermaid/src/diagram.spec.ts +++ b/packages/mermaid/src/diagram.spec.ts @@ -30,9 +30,6 @@ describe('diagram detection', () => { parse: () => { // no-op }, - parser: { - yy: {}, - }, }, renderer: {}, styles: {}, diff --git a/packages/mermaid/src/diagrams/error/errorDiagram.ts b/packages/mermaid/src/diagrams/error/errorDiagram.ts index 284dfd744..a15e16ada 100644 --- a/packages/mermaid/src/diagrams/error/errorDiagram.ts +++ b/packages/mermaid/src/diagrams/error/errorDiagram.ts @@ -5,7 +5,6 @@ const diagram: DiagramDefinition = { db: {}, renderer, parser: { - parser: { yy: {} }, parse: (): void => { return; }, diff --git a/packages/mermaid/src/mermaid.spec.ts b/packages/mermaid/src/mermaid.spec.ts index 0b4437d74..49088cb1b 100644 --- a/packages/mermaid/src/mermaid.spec.ts +++ b/packages/mermaid/src/mermaid.spec.ts @@ -102,7 +102,6 @@ describe('when using mermaid and ', () => { parse: (_text) => { return; }, - parser: { yy: {} }, }, styles: () => { // do nothing