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.06 kB
JavaScript
const u=require("./chunk-5HE753X5-BFDOD3Zj.cjs"),a=require("./chunk-Y2CYZVJY-DPaYLFFP.cjs"),i=require("./src-D8aDujwE.cjs");require("./chunk-I66GZJ75-BzqGKy7F.cjs");require("./chunk-3NCLNEKW-CHPh0zzA.cjs");const t=require("./chunk-6Q2QTUOP-B_wbkqaq.cjs"),l=require("./chunk-JWPE2WC7-D8EnWK1B.cjs"),m=require("./mermaid-parser.core-DQClw8Il.cjs");var p=u.createRailroadAbnfServices().RailroadAbnf.parser.LangiumParser,o=a.__name(e=>{const r=e.alternatives.map(c);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),c=a.__name(e=>{const r=e.elements.map(_);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),f=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"),_=a.__name(e=>{const r=d(e.primary);if(!e.repeat)return r;const{min:n,max:s}=f(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"),b=a.__name(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),g=a.__name(e=>{l.populateCommonDb(e,t.db),e.title&&t.db.setTitle(e.title),e.rules.map(r=>t.db.addRule(b(r)))},"populateDb"),v={parser:{parse:a.__name(e=>{t.db.clear(),i.log.debug("[ABNF Parser] Starting Langium parse");const r=p.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new m.MermaidParseError(r);const n=r.value;i.log.debug("[ABNF Parser] Parsed rules:",n.rules.length),g(n),i.log.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:t.db}},db:t.db,renderer:t.renderer,styles:t.getStyles};exports.diagram=v;