UNPKG

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
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 };