ranui
Version:
A framework-agnostic Web Components UI library built on native custom elements, with TypeScript types, light/dark theming, SSR and PWA support.
2 lines (1 loc) • 1.78 kB
JavaScript
const s=require("./mermaid-parser.core-DYumW1vq.cjs"),t=require("./chunk-Y2CYZVJY-DPaYLFFP.cjs"),i=require("./src-C9EhKhbk.cjs");require("./chunk-WYO6CB5R-u4mJNOcO.cjs");require("./chunk-VAUOI2AC-DfQf5L2_.cjs");const a=require("./chunk-MOJQB5TN-oOeq982_.cjs"),o=require("./chunk-JWPE2WC7-D8EnWK1B.cjs");var u=s.createRailroadServices().Railroad.parser.LangiumParser,n=t.__name(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(n);return r.length===1?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{const r=e.alternatives.map(n);return r.length===1?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:n(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:n(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:n(e.element),min:0,max:1/0};default:throw new Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),m=t.__name(e=>({name:e.name,definition:n(e.definition)}),"transformRule"),p=t.__name(e=>{o.populateCommonDb(e,a.db),e.title&&a.db.setTitle(e.title),e.rules.map(r=>a.db.addRule(m(r)))},"populateDb"),d={parser:{parse:t.__name(e=>{a.db.clear(),i.log.debug("[Railroad Parser] Starting Langium parse");const r=u.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new s.MermaidParseError(r);const l=r.value;i.log.debug("[Railroad Parser] Parsed rules:",l.rules.length),p(l),i.log.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:a.db}},db:a.db,renderer:a.renderer,styles:a.getStyles};exports.diagram=d;