UNPKG

ruru

Version:

Grafast-flavoured GraphiQL distribution

2 lines • 2.21 kB
export const __webpack_esm_id__=8941;export const __webpack_esm_ids__=[8941];export const __webpack_esm_modules__={68941(e,r,t){t.r(r),t.d(r,{diagram:()=>b});var n=t(65964),a=t(26637),s=(t(64342),t(39989),t(27166)),o=t(79456),i=t(73744),p=(0,i.createRailroadEbnfServices)().RailroadEbnf.parser.LangiumParser,m=(0,o.__name)(e=>{const r=e.alternatives.map(l);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformChoice"),l=(0,o.__name)(e=>{const r=e.elements.map(_);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformSequence"),u=(0,o.__name)(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return m(e.element);case"EbnfOptional":return{type:"optional",element:m(e.element)};case"EbnfRepetition":return{type:"repetition",element:m(e.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),c=(0,o.__name)((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},u(r.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),_=(0,o.__name)(e=>e.postfixes.reduce((e,r)=>c(e,r),u(e.base)),"transformTerm"),d=(0,o.__name)(e=>({name:e.name,definition:m(e.definition)}),"transformRule"),f=(0,o.__name)(e=>{(0,a.populateCommonDb)(e,n.db),e.title&&n.db.setTitle(e.title),e.rules.map(e=>n.db.addRule(d(e)))},"populateDb"),b={parser:{parse:(0,o.__name)(e=>{n.db.clear(),s.log.debug("[EBNF Parser] Starting Langium parse");const r=p.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new i.MermaidParseError(r);const t=r.value;s.log.debug("[EBNF Parser] Parsed rules:",t.rules.length),f(t),s.log.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:n.db}},db:n.db,renderer:n.renderer,styles:n.getStyles}}}; //# sourceMappingURL=8941.js.map