ranui
Version:
A framework-agnostic Web Components UI library built on native custom elements, with TypeScript types, light/dark theming, SSR and PWA support.
84 lines (83 loc) • 2.37 kB
JavaScript
import { g as s, t as l } from "./mermaid-parser.core-uIDZYuBu.js";
import { n } from "./chunk-Y2CYZVJY-0JxdZxki.js";
import { m as o } from "./src-DtRLxcYO.js";
import "./chunk-WYO6CB5R-DDHkKowO.js";
import "./chunk-VAUOI2AC-izt0o4id.js";
import { n as m, r as p, t } from "./chunk-MOJQB5TN-BC46HDyu.js";
import { t as u } from "./chunk-JWPE2WC7-CGEmUMMZ.js";
var d = s().Railroad.parser.LangiumParser, a = /* @__PURE__ */ n((e) => {
switch (e.$type) {
case "RailroadTerminalExpr":
return {
type: "terminal",
value: e.value
};
case "RailroadNonTerminalExpr":
return {
type: "nonterminal",
name: e.name
};
case "RailroadSpecialExpr":
return {
type: "special",
text: e.text
};
case "RailroadSequenceExpr": {
const r = e.elements.map(a);
return r.length === 1 ? r[0] : {
type: "sequence",
elements: r
};
}
case "RailroadChoiceExpr": {
const r = e.alternatives.map(a);
return r.length === 1 ? r[0] : {
type: "choice",
alternatives: r
};
}
case "RailroadOptionalExpr":
return {
type: "optional",
element: a(e.element)
};
case "RailroadOneOrMoreExpr":
return {
type: "repetition",
element: a(e.element),
min: 1,
max: 1 / 0
};
case "RailroadZeroOrMoreExpr":
return {
type: "repetition",
element: a(e.element),
min: 0,
max: 1 / 0
};
default:
throw new Error(`Unsupported railroad expression: ${e.$type}`);
}
}, "transformExpression"), c = /* @__PURE__ */ n((e) => ({
name: e.name,
definition: a(e.definition)
}), "transformRule"), f = /* @__PURE__ */ n((e) => {
u(e, t), e.title && t.setTitle(e.title), e.rules.map((r) => t.addRule(c(r)));
}, "populateDb"), P = {
parser: {
parse: /* @__PURE__ */ n((e) => {
t.clear(), o.debug("[Railroad Parser] Starting Langium parse");
const r = d.parse(e);
if (r.lexerErrors.length > 0 || r.parserErrors.length > 0) throw new l(r);
const i = r.value;
o.debug("[Railroad Parser] Parsed rules:", i.rules.length), f(i), o.debug("[Railroad Parser] Parse complete");
}, "parse"),
parser: { yy: t }
},
db: t,
renderer: p,
styles: m
};
export {
P as diagram
};