snapshot of https://github.com/excalidraw/excalidraw.git (master, 2026-09-16; blobs > 131072B omitted)
Some checks failed
Tests / test (push) Failing after 15s
Some checks failed
Tests / test (push) Failing after 15s
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
export const isValidMermaidSyntax = (content: string): boolean => {
|
||||
const trimmed = content.trim();
|
||||
if (!trimmed) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const openBrackets = (trimmed.match(/\[/g) || []).length;
|
||||
const closeBrackets = (trimmed.match(/\]/g) || []).length;
|
||||
const openBraces = (trimmed.match(/\{/g) || []).length;
|
||||
const closeBraces = (trimmed.match(/\}/g) || []).length;
|
||||
const openParens = (trimmed.match(/\(/g) || []).length;
|
||||
const closeParens = (trimmed.match(/\)/g) || []).length;
|
||||
|
||||
if (
|
||||
openBrackets !== closeBrackets ||
|
||||
openBraces !== closeBraces ||
|
||||
openParens !== closeParens
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const lastLine = trimmed.split("\n").pop()?.trim() || "";
|
||||
const incompletePatterns = [
|
||||
/-->$/,
|
||||
/--$/,
|
||||
/-\.$/,
|
||||
/==>$/,
|
||||
/==$/,
|
||||
/~~$/,
|
||||
/::$/,
|
||||
/:$/,
|
||||
/\|$/,
|
||||
/&$/,
|
||||
];
|
||||
|
||||
if (incompletePatterns.some((pattern) => pattern.test(lastLine))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
Reference in New Issue
Block a user