90 lines
3.5 KiB
JavaScript
90 lines
3.5 KiB
JavaScript
import {
|
|
__name as __name2
|
|
} from "./chunk-S3MDV2AR.mjs";
|
|
import {
|
|
__name
|
|
} from "./chunk-FQFHLQFH.mjs";
|
|
|
|
// ../parser/dist/mermaid-parser.core.mjs
|
|
var parsers = {};
|
|
var initializers = {
|
|
info: /* @__PURE__ */ __name2(async () => {
|
|
const { createInfoServices: createInfoServices2 } = await import("./info-3K5VOQVL-P3QCOKSK.mjs");
|
|
const parser = createInfoServices2().Info.parser.LangiumParser;
|
|
parsers.info = parser;
|
|
}, "info"),
|
|
packet: /* @__PURE__ */ __name2(async () => {
|
|
const { createPacketServices: createPacketServices2 } = await import("./packet-RMMSAZCW-NFIRSTAG.mjs");
|
|
const parser = createPacketServices2().Packet.parser.LangiumParser;
|
|
parsers.packet = parser;
|
|
}, "packet"),
|
|
pie: /* @__PURE__ */ __name2(async () => {
|
|
const { createPieServices: createPieServices2 } = await import("./pie-UPGHQEXC-XJTLIYHH.mjs");
|
|
const parser = createPieServices2().Pie.parser.LangiumParser;
|
|
parsers.pie = parser;
|
|
}, "pie"),
|
|
architecture: /* @__PURE__ */ __name2(async () => {
|
|
const { createArchitectureServices: createArchitectureServices2 } = await import("./architecture-PBZL5I3N-J6U5QB4T.mjs");
|
|
const parser = createArchitectureServices2().Architecture.parser.LangiumParser;
|
|
parsers.architecture = parser;
|
|
}, "architecture"),
|
|
gitGraph: /* @__PURE__ */ __name2(async () => {
|
|
const { createGitGraphServices: createGitGraphServices2 } = await import("./gitGraph-HDMCJU4V-KC2K7VYA.mjs");
|
|
const parser = createGitGraphServices2().GitGraph.parser.LangiumParser;
|
|
parsers.gitGraph = parser;
|
|
}, "gitGraph"),
|
|
radar: /* @__PURE__ */ __name2(async () => {
|
|
const { createRadarServices: createRadarServices2 } = await import("./radar-KQ55EAFF-324OFK5F.mjs");
|
|
const parser = createRadarServices2().Radar.parser.LangiumParser;
|
|
parsers.radar = parser;
|
|
}, "radar"),
|
|
treemap: /* @__PURE__ */ __name2(async () => {
|
|
const { createTreemapServices: createTreemapServices2 } = await import("./treemap-KZPCXAKY-L5K4MMMF.mjs");
|
|
const parser = createTreemapServices2().Treemap.parser.LangiumParser;
|
|
parsers.treemap = parser;
|
|
}, "treemap")
|
|
};
|
|
async function parse(diagramType, text) {
|
|
const initializer = initializers[diagramType];
|
|
if (!initializer) {
|
|
throw new Error(`Unknown diagram type: ${diagramType}`);
|
|
}
|
|
if (!parsers[diagramType]) {
|
|
await initializer();
|
|
}
|
|
const parser = parsers[diagramType];
|
|
const result = parser.parse(text);
|
|
if (result.lexerErrors.length > 0 || result.parserErrors.length > 0) {
|
|
throw new MermaidParseError(result);
|
|
}
|
|
return result.value;
|
|
}
|
|
__name(parse, "parse");
|
|
__name2(parse, "parse");
|
|
var MermaidParseError = class extends Error {
|
|
static {
|
|
__name(this, "MermaidParseError");
|
|
}
|
|
constructor(result) {
|
|
const lexerErrors = result.lexerErrors.map((err) => {
|
|
const line = err.line !== void 0 && !isNaN(err.line) ? err.line : "?";
|
|
const column = err.column !== void 0 && !isNaN(err.column) ? err.column : "?";
|
|
return `Lexer error on line ${line}, column ${column}: ${err.message}`;
|
|
}).join("\n");
|
|
const parserErrors = result.parserErrors.map((err) => {
|
|
const line = err.token.startLine !== void 0 && !isNaN(err.token.startLine) ? err.token.startLine : "?";
|
|
const column = err.token.startColumn !== void 0 && !isNaN(err.token.startColumn) ? err.token.startColumn : "?";
|
|
return `Parse error on line ${line}, column ${column}: ${err.message}`;
|
|
}).join("\n");
|
|
super(`Parsing failed: ${lexerErrors} ${parserErrors}`);
|
|
this.result = result;
|
|
}
|
|
static {
|
|
__name2(this, "MermaidParseError");
|
|
}
|
|
};
|
|
|
|
export {
|
|
parse
|
|
};
|