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) • 2.01 kB
JavaScript
const u=require("./mermaid-parser.core-DYumW1vq.cjs"),a=require("./chunk-Y2CYZVJY-DPaYLFFP.cjs"),i=require("./src-C9EhKhbk.cjs");require("./chunk-WYO6CB5R-u4mJNOcO.cjs");require("./chunk-VAUOI2AC-DfQf5L2_.cjs");const t=require("./chunk-MOJQB5TN-oOeq982_.cjs"),l=require("./chunk-JWPE2WC7-D8EnWK1B.cjs");var m=u.createRailroadAbnfServices().RailroadAbnf.parser.LangiumParser,o=a.__name(e=>{const r=e.alternatives.map(p);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),p=a.__name(e=>{const r=e.elements.map(f);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),c=a.__name(e=>{if(e.includes("*")){const[n,s]=e.split("*");return{min:n?parseInt(n,10):0,max:s?parseInt(s,10):1/0}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),f=a.__name(e=>{const r=d(e.primary);if(!e.repeat)return r;const{min:n,max:s}=c(e.repeat);return n===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:n,max:s}},"transformElement"),d=a.__name(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return o(e.element);case"AbnfOptionalGroup":return{type:"optional",element:o(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),_=a.__name(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),b=a.__name(e=>{l.populateCommonDb(e,t.db),e.title&&t.db.setTitle(e.title),e.rules.map(r=>t.db.addRule(_(r)))},"populateDb"),g={parser:{parse:a.__name(e=>{t.db.clear(),i.log.debug("[ABNF Parser] Starting Langium parse");const r=m.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u.MermaidParseError(r);const n=r.value;i.log.debug("[ABNF Parser] Parsed rules:",n.rules.length),b(n),i.log.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:t.db}},db:t.db,renderer:t.renderer,styles:t.getStyles};exports.diagram=g;