Lines 1-32javascript
1import{a as e,c as t,i as n,o as r,r as i,s as a}from"./index-CsWpbXVc.js";import{a as o,c as s,d as c,n as l,s as u,t as d}from"./reduce-CV2X8n1a.js";import{t as f}from"./isEmpty-BrFi5AqV.js";import{a as p,n as m,t as h}from"./flatten-B8XIuT0x.js";function g(e){return typeof e==`object`&&!!e&&typeof e.$type==`string`}function _(e){return typeof e==`object`&&!!e&&typeof e.$refText==`string`&&`ref`in e}function v(e){return typeof e==`object`&&!!e&&typeof e.$refText==`string`&&`items`in e}function y(e){return typeof e==`object`&&!!e&&typeof e.name==`string`&&typeof e.type==`string`&&typeof e.pat ...
2`),M(`\r`),M(` `),M(`\v`),M(` `),M(`\xA0`),M(` `),M(` `),M(` `),M(` `),M(` `),M(` `),M(` `),M(` `),M(` `),M(` `),M(` `),M(`
3`),M(`\r`),M(`\u2028`),M(`\u2029`)]}}atomEscape(){switch(this.consumeChar(`\\`),this.peekChar()){case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:return this.decimalEscapeAtom();case`d`:case`D`:case`s`:case`S`:case`w`:case`W`:return this.characterClassEscape();case`f`:case`n`:case`r`:case`t`:case`v`:return this.controlEscapeAtom();case`c`:return this.controlLetterEscapeAtom();case`0`:return this.nulCharacterAtom();case`x`:return this.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom() ...
4`);break;case`r`:e=M(`\r`);break;case`t`:e=M(` `);break;case`v`:e=M(`\v`);break}return on(e)?{type:`Character`,value:e}:sn()}controlLetterEscapeAtom(){this.consumeChar(`c`);let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error(`Invalid `);return{type:`Character`,value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar(`0`),{type:`Character`,value:M(`\0`)}}hexEscapeSequenceAtom(){return this.consumeChar(`x`),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar(`u`),this.parseHexDigits(4)}identityEscapeAtom(){return{type:`Character`,val
5`:case`\r`:case`\u2028`:case`\u2029`:case`\\`:case`]`:throw Error(`TBD`);default:return{type:`Character`,value:M(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar(`[`),this.peekChar(0)===`^`&&(this.consumeChar(`^`),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,cn(t)&&this.isRangeDash()){this.consumeChar(`-`);let n=this.classAtom();if(n.type,cn(n)){if(n.value<t.value)throw Error(`Range out of order in character class`);e.push({from:t.value,to:n.value})}else rn(t.value,e),e.push(M(`-`)),rn(n.value,e)}else rn(t.value,e)}return this.consumeChar(`]`),{type:`Set`,co ...
6`:case`\r`:case`\u2028`:case`\u2029`:throw Error(`TBD`);case`\\`:return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar(`\\`),this.peekChar()){case`b`:return this.consumeChar(`b`),{type:`Character`,value:M(`\b`)};case`d`:case`D`:case`s`:case`S`:case`w`:case`W`:return this.characterClassEscape();case`f`:case`n`:case`r`:case`t`:case`v`:return this.controlEscapeAtom();case`c`:return this.controlLetterEscapeAtom();case`0`:return this.nulCharacterAtom();case`x`:return this
7`:case`\r`:case`\u2028`:case`\u2029`:case`^`:case`$`:case`\\`:case`.`:case`*`:case`+`:case`?`:case`(`:case`)`:case`[`:case`|`:throw Error(`TBD`);default:return{type:`Character`,value:M(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case`g`:case`i`:case`m`:case`u`:case`y`:return!0;default:return!1}}isRangeDash(){return this.peekChar()===`-`&&this.isClassAtom(1)}isDigit(){return pn.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case`]`:case`
8`:case`\r`:case`\u2028`:case`\u2029`:return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case`.`:case`\\`:case`[`:case`(`:return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case`^`:case`$`:return!0;case`\\`:switch(this.peekChar(1)){case`b`:case`B`:return!0;default:return!1}case`(`:return this.peekChar(1)===`?`&&(this.peekChar(2)===`=`||this.peekChar(2)===`!`||this.peekChar(2)===`<`&&(this.peekChar(3)===`=`||this.peekChar(3)===`!`));default:return!1}}isQuantifier(){let e=this.saveStat ...
9`:case`\r`:case`\u2028`:case`\u2029`:return!1;default:return!0}}parseHexDigits(e){let t=``;for(let n=0;n<e;n++){let e=this.popChar();if(fn.test(e)===!1)throw Error(`Expecting a HexDecimal digits`);t+=e}return{type:`Character`,value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error(`Expected: '`+e+`' but found: '`+this.input[this.idx]+`' at offset: `+this.idx);if(this.idx>=this.input.length)throw Error(`Unexpected end of input`);this
10`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let e=Cn(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){let t=this.regex.substring(e.loc.begin,e.loc.
11`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){e.type===`Group`&&e
12\r \v \xA0 \u2028\u2029 `.split(``);function Sn(e){let t=typeof e==`string`?new RegExp(e):e;return xn.some(e=>t.test(e))}function Cn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function wn(e,t){let n=Tn(e),r=t.match(n);return!!r&&r[0].length>0}function Tn(e){typeof e==`string`&&(e=new RegExp(e));let t=e,n=e.source,r=0;function i(){let e=``,a;function o(t){e+
13`;function P_(e,t=!1){try{let t=A_(e);return F_(t.value,{},t.flags.ignoreCase)}catch(n){if(n.message===M_)t&&dd(`${N_}\tUnable to optimize: < ${e.toString()} >\n Complement Sets cannot be automatically optimized.
14 This will disable the lexer's first char optimizations.
15 See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n=``;t&&(n=`
16 This will disable the lexer's first char optimizations.
17 See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),ud(`${N_}\n\tFailed parsing: < ${e.toString()} >\n\tUsing the @chevrotain/regexp-to-ast library\n Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function F_(e,t,n){switch(e.type){case`Disjunction`:for(let r=0;r<e.value.length;r++)F_(e
18`],tracer:(e,t)=>t()});let n=t.tracer;n(`initCharCodeToOptimizedIndexMap`,()=>{Sv()});let r;n(`Reject Lexer.NA`,()=>{r=rd(e,e=>e[H_]===Bv.NA)});let i=!1,a;n(`Transform Patterns`,()=>{i=!1,a=L(r,e=>{let t=e[H_];if(Ju(t)){let e=t.source;return e.length===1&&e!==`^`&&e!==`$`&&e!==`.`&&!t.ignoreCase?e:e.length===2&&e[0]===`\\`&&!zu([`d`,`D`,`s`,`S`,`t`,`r`,`n`,`t`,`0`,`c`,`b`,`B`,`f`,`v`,`w`,`W`]
19 This will disable the lexer's first char optimizations.
20 For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let i=P_(n.PATTERN,t.ensureOptimizations);B(i)&&(g=!1),I(i,t=>{yv(e,t,h[r])})}else t.ensureOptimizations&&ud(`${N_}\tTokenType: <${n.name}> is using a custom token pattern without providing <start_chars_hint> parameter.\n This will disable the lexer's first char optimizations.
21 For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),g=!1;return e},[])}),{emptyGroups:m,patternIdxToConfig:h,charCodeToPatternIdxToConfig:_,hasCustom:i,canBeOptimized:g}}function K_(e,t){let n=[],r=J_(e);n=n.concat(r.errors);let i=Y_(r.valid),a=i.valid;return n=n.concat(i.errors),n=n.concat(q_(a)),n=n.concat(rv(a)),n=n.concat(iv(a,t)),n=n.concat(av(a)),n}function q_(e){let t=[],n=Cu(e,e=>Ju(e[H_]
22 Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
23 See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:W.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function Q_(e){return L(Cu(e,e=>e.PATTERN.test(``)),e=>({message:`Token Type: ->`+e.name+`<- static 'PATTERN' must not match an empty string`,type:W.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}var $_=/[^\\[][\^]|^\^/;function ev(e){class t extends gn{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return L(Cu(e,e=>{let n=e.PATTERN;try{let e=A_(n),r=new t;return r.visit(e),r.found}catch{return $_.test(n.source)}}),e=>({message:`Unexpected RegExp ...
24 Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
25 See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:W.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function tv(e){return L(Cu(e,e=>{let t=e[H_];return t instanceof RegExp&&(t.multiline||t.global)}),e=>({message:`Token Type: ->`+e.name+`<- static 'PATTERN' may NOT contain global('g') or multiline('m')`,type:W.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function nv(e){let t=[],n=L(e,n=>nd(e,(e,r)=>n.PATTERN.source===r.PATTERN.source&&!zu(t,r)&&r.PATTERN!==Bv.NA?(t.push(r),e.push(r),e):e,[]));return n=Qc(n),L(Cu(n,e=>e.length>1),e=>{let t=L(e,e=>e.name);return{message ...
26`,type:W.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),R(e,`modes`)||r.push({message:`A MultiMode Lexer cannot be initialized without a <`+W_+`> property in its definition
27`,type:W.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),R(e,`modes`)&&R(e,`defaultMode`)&&!R(e.modes,e.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${U_}: <${e.defaultMode}>which does not exist\n`,type:W.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),R(e,`modes`)&&I(e.modes,(e,t)=>{I(e,(n,i)=>{Yu(n)?r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at
28 This Lexer has been defined to track line and column information,
29 But none of the Token Types can be identified as matching a line terminator.
30 See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
31 for details.`,type:W.NO_LINE_BREAKS_FLAGS}),r}function fv(e){let t={};return I(Va(e),n=>{let r=e[n];if(N(r))t[n]=[];else throw Error(`non exhaustive match`)}),t}function pv(e){let t=e.PATTERN;if(Ju(t))return!1;if(Kr(t)||R(t,`exec`))return!0;if(Iu(t))return!1;throw Error(`non exhaustive match`)}function mv(e){return Iu(e)&&e.length===1?e.charCodeAt(0):!1}var hv={test:function(e){let t=e.length;for(let n=this.lastIndex;n<t;n++){let t=e.charCodeAt(n);if(t===10)return this.lastIndex=n+1,!0;if(t===13)return e.charCodeAt(n+1)===10?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};func ...
32\tThe problem is in the <${e.name}> Token Type\n\t Root cause: ${t.errMsg}.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===W.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
Long lines were clipped for display.