likec4 1.49.0 → 1.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/__app__/src/likec4.js +17 -40
  2. package/__app__/src/routes/single.js +27 -20
  3. package/__app__/src/style.css +1 -1
  4. package/__app__/src/vendors.js +1152 -1013
  5. package/config/schema.json +16 -0
  6. package/dist/THIRD-PARTY-LICENSES.md +31 -1
  7. package/dist/_chunks/LikeC4.mjs +1154 -0
  8. package/dist/_chunks/binary.mjs +72 -0
  9. package/dist/_chunks/index.d.mts +11 -12
  10. package/dist/_chunks/index2.d.mts +166 -76
  11. package/dist/_chunks/libs/@chevrotain/cst-dts-gen.mjs +30 -0
  12. package/dist/_chunks/libs/@chevrotain/regexp-to-ast.mjs +8 -8
  13. package/dist/_chunks/libs/@chevrotain/types.d.mts +1 -0
  14. package/dist/_chunks/libs/@chevrotain/utils.mjs +1 -1
  15. package/dist/_chunks/libs/@hono/mcp.mjs +8 -8
  16. package/dist/_chunks/libs/@hono/node-server.mjs +1 -1
  17. package/dist/_chunks/libs/@logtape/logtape.mjs +3 -3
  18. package/dist/_chunks/libs/@lume/kiwi.mjs +1 -1
  19. package/dist/_chunks/libs/@modelcontextprotocol/sdk.d.mts +114 -14
  20. package/dist/_chunks/libs/@modelcontextprotocol/sdk.mjs +7 -7
  21. package/dist/_chunks/libs/@msgpack/msgpack.mjs +1 -1
  22. package/dist/_chunks/libs/@nanostores/react.d.mts +61 -1
  23. package/dist/_chunks/libs/@nanostores/react.mjs +1 -1
  24. package/dist/_chunks/libs/@smithy/is-array-buffer.mjs +1 -0
  25. package/dist/_chunks/libs/@smithy/util-base64.mjs +1 -1
  26. package/dist/_chunks/libs/ajv.mjs +1 -1
  27. package/dist/_chunks/libs/atomically.mjs +1 -1
  28. package/dist/_chunks/libs/birpc.mjs +1 -1
  29. package/dist/_chunks/libs/chevrotain-allstar.mjs +2 -2
  30. package/dist/_chunks/libs/chevrotain.mjs +35 -35
  31. package/dist/_chunks/libs/conf.mjs +1 -1
  32. package/dist/_chunks/libs/defu.mjs +1 -1
  33. package/dist/_chunks/libs/esm-env.mjs +1 -1
  34. package/dist/_chunks/libs/eventemitter3.mjs +1 -1
  35. package/dist/_chunks/libs/fast-equals.mjs +1 -1
  36. package/dist/_chunks/libs/find-up-simple.mjs +1 -1
  37. package/dist/_chunks/libs/get-port.mjs +1 -1
  38. package/dist/_chunks/libs/is-docker.mjs +1 -1
  39. package/dist/_chunks/libs/is-error-instance.mjs +1 -1
  40. package/dist/_chunks/libs/is-inside-container.mjs +1 -1
  41. package/dist/_chunks/libs/is-plain-obj.mjs +1 -1
  42. package/dist/_chunks/libs/isexe.mjs +1 -1
  43. package/dist/_chunks/libs/json5.mjs +10 -10
  44. package/dist/_chunks/libs/khroma.mjs +1 -1
  45. package/dist/_chunks/libs/ky.mjs +2 -2
  46. package/dist/_chunks/libs/langium.d.mts +4 -3
  47. package/dist/_chunks/libs/langium.mjs +20 -19
  48. package/dist/_chunks/libs/merge-error-cause.mjs +2 -2
  49. package/dist/_chunks/libs/p-limit.mjs +1 -1
  50. package/dist/_chunks/libs/p-queue.mjs +1 -1
  51. package/dist/_chunks/libs/package-manager-detector.mjs +1 -1
  52. package/dist/_chunks/libs/package-up.mjs +1 -1
  53. package/dist/_chunks/libs/pako.mjs +1 -0
  54. package/dist/_chunks/libs/parse-ms.mjs +1 -1
  55. package/dist/_chunks/libs/pathe.mjs +1 -1
  56. package/dist/_chunks/libs/picomatch.mjs +1 -1
  57. package/dist/_chunks/libs/pretty-ms.mjs +1 -1
  58. package/dist/_chunks/libs/remeda.mjs +2 -1
  59. package/dist/_chunks/libs/safe-stringify.mjs +1 -1
  60. package/dist/_chunks/libs/strip-indent.mjs +1 -1
  61. package/dist/_chunks/libs/tinyrainbow.mjs +1 -1
  62. package/dist/_chunks/libs/ts-graphviz.mjs +3 -3
  63. package/dist/_chunks/libs/ufo.mjs +1 -1
  64. package/dist/_chunks/libs/which.mjs +1 -1
  65. package/dist/_chunks/libs/word-wrap.mjs +2 -2
  66. package/dist/_chunks/rolldown-runtime.mjs +1 -1
  67. package/dist/_chunks/sequence.mjs +1 -0
  68. package/dist/_chunks/src.mjs +15 -0
  69. package/dist/_chunks/src2.mjs +499 -0
  70. package/dist/cli/index.mjs +75 -231
  71. package/dist/config/index.mjs +1 -1
  72. package/dist/index.d.mts +5 -3
  73. package/dist/index.mjs +1 -1
  74. package/dist/model/index.mjs +1 -1
  75. package/dist/vite-plugin/index.d.mts +3 -0
  76. package/dist/vite-plugin/index.mjs +1 -1
  77. package/dist/vite-plugin/internal.d.mts +1 -2
  78. package/dist/vite-plugin/internal.mjs +1 -1
  79. package/package.json +26 -26
  80. package/react/index.d.mts +2 -2
  81. package/react/index.mjs +36 -54
  82. package/vite-plugin-modules.d.ts +5 -0
  83. package/dist/_chunks/GraphvizBinaryAdapter.mjs +0 -72
  84. package/dist/_chunks/filenames.mjs +0 -14
  85. package/dist/_chunks/libs/@chevrotain/gast.mjs +0 -1
  86. package/dist/_chunks/libs/nanostores.d.mts +0 -63
  87. package/dist/_chunks/libs/nanostores.mjs +0 -1
  88. package/dist/_chunks/node.mjs +0 -481
  89. package/dist/_chunks/plugin.mjs +0 -322
  90. package/dist/_chunks/sequence-view.mjs +0 -1
@@ -1,9 +1,9 @@
1
- function cc(e){return e.charCodeAt(0)}function insertToSet(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function addFlag(e,t){if(e[t]===!0)throw`duplicate flag `+t;e[t],e[t]=!0}function ASSERT_EXISTS(e){if(e===void 0)throw Error(`Internal Error - Should never get here!`);return!0}function ASSERT_NEVER_REACH_HERE(){throw Error(`Internal Error - Should never get here!`)}function isCharacter(e){return e.type===`Character`}const digitsCharCodes=[];for(let t=cc(`0`);t<=cc(`9`);t++)digitsCharCodes.push(t);const wordCharCodes=[cc(`_`)].concat(digitsCharCodes);for(let t=cc(`a`);t<=cc(`z`);t++)wordCharCodes.push(t);for(let t=cc(`A`);t<=cc(`Z`);t++)wordCharCodes.push(t);const whitespaceCodes=[cc(` `),cc(`\f`),cc(`
2
- `),cc(`\r`),cc(` `),cc(`\v`),cc(` `),cc(`\xA0`),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(`\u2028`),cc(`\u2029`),cc(` `),cc(` `),cc(` `),cc(``)],hexDigitPattern=/[0-9a-fA-F]/,decimalPattern=/[0-9]/,decimalPatternNoZero=/[1-9]/;var RegExpParser=class{constructor(){this.idx=0,this.input=``,this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar(`/`);let t=this.disjunction();this.consumeChar(`/`);let r={type:`Flags`,loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case`g`:addFlag(r,`global`);break;case`i`:addFlag(r,`ignoreCase`);break;case`m`:addFlag(r,`multiLine`);break;case`u`:addFlag(r,`unicode`);break;case`y`:addFlag(r,`sticky`);break}if(this.idx!==this.input.length)throw Error(`Redundant input: `+this.input.substring(this.idx));return{type:`Pattern`,flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()===`|`;)this.consumeChar(`|`),e.push(this.alternative());return{type:`Disjunction`,value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:`Alternative`,value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case`^`:return{type:`StartAnchor`,loc:this.loc(e)};case`$`:return{type:`EndAnchor`,loc:this.loc(e)};case`\\`:switch(this.popChar()){case`b`:return{type:`WordBoundary`,loc:this.loc(e)};case`B`:return{type:`NonWordBoundary`,loc:this.loc(e)}}throw Error(`Invalid Assertion Escape`);case`(`:this.consumeChar(`?`);let t;switch(this.popChar()){case`=`:t=`Lookahead`;break;case`!`:t=`NegativeLookahead`;break}ASSERT_EXISTS(t);let n=this.disjunction();return this.consumeChar(`)`),{type:t,value:n,loc:this.loc(e)}}return ASSERT_NEVER_REACH_HERE()}quantifier(e=!1){let t,n=this.idx;switch(this.popChar()){case`*`:t={atLeast:0,atMost:1/0};break;case`+`:t={atLeast:1,atMost:1/0};break;case`?`:t={atLeast:0,atMost:1};break;case`{`:let n=this.integerIncludingZero();switch(this.popChar()){case`}`:t={atLeast:n,atMost:n};break;case`,`:let e;this.isDigit()?(e=this.integerIncludingZero(),t={atLeast:n,atMost:e}):t={atLeast:n,atMost:1/0},this.consumeChar(`}`);break}if(e===!0&&t===void 0)return;ASSERT_EXISTS(t);break}if(!(e===!0&&t===void 0)&&ASSERT_EXISTS(t))return this.peekChar(0)===`?`?(this.consumeChar(`?`),t.greedy=!1):t.greedy=!0,t.type=`Quantifier`,t.loc=this.loc(n),t}atom(){let e,t=this.idx;switch(this.peekChar()){case`.`:e=this.dotAll();break;case`\\`:e=this.atomEscape();break;case`[`:e=this.characterClass();break;case`(`:e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),ASSERT_EXISTS(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):ASSERT_NEVER_REACH_HERE()}dotAll(){return this.consumeChar(`.`),{type:`Set`,complement:!0,value:[cc(`
3
- `),cc(`\r`),cc(`\u2028`),cc(`\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(){return{type:`GroupBackReference`,value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case`d`:e=digitsCharCodes;break;case`D`:e=digitsCharCodes,t=!0;break;case`s`:e=whitespaceCodes;break;case`S`:e=whitespaceCodes,t=!0;break;case`w`:e=wordCharCodes;break;case`W`:e=wordCharCodes,t=!0;break}return ASSERT_EXISTS(e)?{type:`Set`,value:e,complement:t}:ASSERT_NEVER_REACH_HERE()}controlEscapeAtom(){let t;switch(this.popChar()){case`f`:t=cc(`\f`);break;case`n`:t=cc(`
4
- `);break;case`r`:t=cc(`\r`);break;case`t`:t=cc(` `);break;case`v`:t=cc(`\v`);break}return ASSERT_EXISTS(t)?{type:`Character`,value:t}:ASSERT_NEVER_REACH_HERE()}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:cc(`\0`)}}hexEscapeSequenceAtom(){return this.consumeChar(`x`),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar(`u`),this.parseHexDigits(4)}identityEscapeAtom(){return{type:`Character`,value:cc(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case`
5
- `:case`\r`:case`\u2028`:case`\u2029`:case`\\`:case`]`:throw Error(`TBD`);default:return{type:`Character`,value:cc(this.popChar())}}}characterClass(){let n=[],r=!1;for(this.consumeChar(`[`),this.peekChar(0)===`^`&&(this.consumeChar(`^`),r=!0);this.isClassAtom();){let r=this.classAtom();if(r.type,isCharacter(r)&&this.isRangeDash()){this.consumeChar(`-`);let i=this.classAtom();if(i.type,isCharacter(i)){if(i.value<r.value)throw Error(`Range out of order in character class`);n.push({from:r.value,to:i.value})}else insertToSet(r.value,n),n.push(cc(`-`)),insertToSet(i.value,n)}else insertToSet(r.value,n)}return this.consumeChar(`]`),{type:`Set`,complement:r,value:n}}classAtom(){switch(this.peekChar()){case`]`:case`
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:cc(`\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.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar(`(`),this.peekChar(0)){case`?`:this.consumeChar(`?`),this.consumeChar(`:`),e=!1;break;default:this.groupIdx++;break}let t=this.disjunction();this.consumeChar(`)`);let n={type:`Group`,capturing:e,value:t};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(decimalPatternNoZero.test(e)===!1)throw Error(`Expecting a positive integer`);for(;decimalPattern.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(decimalPattern.test(e)===!1)throw Error(`Expecting an integer`);for(;decimalPattern.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let t=this.popChar();switch(t){case`
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:cc(t)}}}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 decimalPattern.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case`]`:case`
1
+ function e(e){return e.charCodeAt(0)}function t(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function n(e,t){if(e[t]===!0)throw`duplicate flag `+t;e[t],e[t]=!0}function r(e){if(e===void 0)throw Error(`Internal Error - Should never get here!`);return!0}function i(){throw Error(`Internal Error - Should never get here!`)}function a(e){return e.type===`Character`}const o=[];for(let t=e(`0`);t<=e(`9`);t++)o.push(t);const s=[e(`_`)].concat(o);for(let t=e(`a`);t<=e(`z`);t++)s.push(t);for(let t=e(`A`);t<=e(`Z`);t++)s.push(t);const c=[e(` `),e(`\f`),e(`
2
+ `),e(`\r`),e(` `),e(`\v`),e(` `),e(`\xA0`),e(` `),e(` `),e(` `),e(` `),e(` `),e(` `),e(` `),e(` `),e(` `),e(` `),e(` `),e(` `),e(`\u2028`),e(`\u2029`),e(` `),e(` `),e(` `),e(``)],l=/[0-9a-fA-F]/,u=/[0-9]/,d=/[1-9]/;var f=class{constructor(){this.idx=0,this.input=``,this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar(`/`);let t=this.disjunction();this.consumeChar(`/`);let r={type:`Flags`,loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case`g`:n(r,`global`);break;case`i`:n(r,`ignoreCase`);break;case`m`:n(r,`multiLine`);break;case`u`:n(r,`unicode`);break;case`y`:n(r,`sticky`);break}if(this.idx!==this.input.length)throw Error(`Redundant input: `+this.input.substring(this.idx));return{type:`Pattern`,flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()===`|`;)this.consumeChar(`|`),e.push(this.alternative());return{type:`Disjunction`,value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:`Alternative`,value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case`^`:return{type:`StartAnchor`,loc:this.loc(e)};case`$`:return{type:`EndAnchor`,loc:this.loc(e)};case`\\`:switch(this.popChar()){case`b`:return{type:`WordBoundary`,loc:this.loc(e)};case`B`:return{type:`NonWordBoundary`,loc:this.loc(e)}}throw Error(`Invalid Assertion Escape`);case`(`:this.consumeChar(`?`);let t;switch(this.popChar()){case`=`:t=`Lookahead`;break;case`!`:t=`NegativeLookahead`;break}r(t);let n=this.disjunction();return this.consumeChar(`)`),{type:t,value:n,loc:this.loc(e)}}return i()}quantifier(e=!1){let t,n=this.idx;switch(this.popChar()){case`*`:t={atLeast:0,atMost:1/0};break;case`+`:t={atLeast:1,atMost:1/0};break;case`?`:t={atLeast:0,atMost:1};break;case`{`:let n=this.integerIncludingZero();switch(this.popChar()){case`}`:t={atLeast:n,atMost:n};break;case`,`:let e;this.isDigit()?(e=this.integerIncludingZero(),t={atLeast:n,atMost:e}):t={atLeast:n,atMost:1/0},this.consumeChar(`}`);break}if(e===!0&&t===void 0)return;r(t);break}if(!(e===!0&&t===void 0)&&r(t))return this.peekChar(0)===`?`?(this.consumeChar(`?`),t.greedy=!1):t.greedy=!0,t.type=`Quantifier`,t.loc=this.loc(n),t}atom(){let e,t=this.idx;switch(this.peekChar()){case`.`:e=this.dotAll();break;case`\\`:e=this.atomEscape();break;case`[`:e=this.characterClass();break;case`(`:e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),r(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):i()}dotAll(){return this.consumeChar(`.`),{type:`Set`,complement:!0,value:[e(`
3
+ `),e(`\r`),e(`\u2028`),e(`\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(){return{type:`GroupBackReference`,value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case`d`:e=o;break;case`D`:e=o,t=!0;break;case`s`:e=c;break;case`S`:e=c,t=!0;break;case`w`:e=s;break;case`W`:e=s,t=!0;break}return r(e)?{type:`Set`,value:e,complement:t}:i()}controlEscapeAtom(){let t;switch(this.popChar()){case`f`:t=e(`\f`);break;case`n`:t=e(`
4
+ `);break;case`r`:t=e(`\r`);break;case`t`:t=e(` `);break;case`v`:t=e(`\v`);break}return r(t)?{type:`Character`,value:t}:i()}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:e(`\0`)}}hexEscapeSequenceAtom(){return this.consumeChar(`x`),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar(`u`),this.parseHexDigits(4)}identityEscapeAtom(){return{type:`Character`,value:e(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case`
5
+ `:case`\r`:case`\u2028`:case`\u2029`:case`\\`:case`]`:throw Error(`TBD`);default:return{type:`Character`,value:e(this.popChar())}}}characterClass(){let n=[],r=!1;for(this.consumeChar(`[`),this.peekChar(0)===`^`&&(this.consumeChar(`^`),r=!0);this.isClassAtom();){let r=this.classAtom();if(r.type,a(r)&&this.isRangeDash()){this.consumeChar(`-`);let i=this.classAtom();if(i.type,a(i)){if(i.value<r.value)throw Error(`Range out of order in character class`);n.push({from:r.value,to:i.value})}else t(r.value,n),n.push(e(`-`)),t(i.value,n)}else t(r.value,n)}return this.consumeChar(`]`),{type:`Set`,complement:r,value:n}}classAtom(){switch(this.peekChar()){case`]`:case`
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:e(`\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.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar(`(`),this.peekChar(0)){case`?`:this.consumeChar(`?`),this.consumeChar(`:`),e=!1;break;default:this.groupIdx++;break}let t=this.disjunction();this.consumeChar(`)`);let n={type:`Group`,capturing:e,value:t};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(d.test(e)===!1)throw Error(`Expecting a positive integer`);for(;u.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(u.test(e)===!1)throw Error(`Expecting an integer`);for(;u.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let t=this.popChar();switch(t){case`
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:e(t)}}}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 u.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case`]`:case`
8
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)===`!`);default:return!1}}isQuantifier(){let e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case`^`:case`$`:case`\\`:case`.`:case`*`:case`+`:case`?`:case`(`:case`)`:case`[`:case`|`:case`/`:case`
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(hexDigitPattern.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.idx++}loc(e){return{begin:e,end:this.idx}}},BaseRegExpVisitor=class{visitChildren(e){for(let t in e){let n=e[t];e.hasOwnProperty(t)&&(n.type===void 0?Array.isArray(n)&&n.forEach(e=>{this.visit(e)},this):this.visit(n))}}visit(e){switch(e.type){case`Pattern`:this.visitPattern(e);break;case`Flags`:this.visitFlags(e);break;case`Disjunction`:this.visitDisjunction(e);break;case`Alternative`:this.visitAlternative(e);break;case`StartAnchor`:this.visitStartAnchor(e);break;case`EndAnchor`:this.visitEndAnchor(e);break;case`WordBoundary`:this.visitWordBoundary(e);break;case`NonWordBoundary`:this.visitNonWordBoundary(e);break;case`Lookahead`:this.visitLookahead(e);break;case`NegativeLookahead`:this.visitNegativeLookahead(e);break;case`Character`:this.visitCharacter(e);break;case`Set`:this.visitSet(e);break;case`Group`:this.visitGroup(e);break;case`GroupBackReference`:this.visitGroupBackReference(e);break;case`Quantifier`:this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}};export{RegExpParser as n,BaseRegExpVisitor as t};
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(l.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.idx++}loc(e){return{begin:e,end:this.idx}}},p=class{visitChildren(e){for(let t in e){let n=e[t];e.hasOwnProperty(t)&&(n.type===void 0?Array.isArray(n)&&n.forEach(e=>{this.visit(e)},this):this.visit(n))}}visit(e){switch(e.type){case`Pattern`:this.visitPattern(e);break;case`Flags`:this.visitFlags(e);break;case`Disjunction`:this.visitDisjunction(e);break;case`Alternative`:this.visitAlternative(e);break;case`StartAnchor`:this.visitStartAnchor(e);break;case`EndAnchor`:this.visitEndAnchor(e);break;case`WordBoundary`:this.visitWordBoundary(e);break;case`NonWordBoundary`:this.visitNonWordBoundary(e);break;case`Lookahead`:this.visitLookahead(e);break;case`NegativeLookahead`:this.visitNegativeLookahead(e);break;case`Character`:this.visitCharacter(e);break;case`Set`:this.visitSet(e);break;case`Group`:this.visitGroup(e);break;case`GroupBackReference`:this.visitGroupBackReference(e);break;case`Quantifier`:this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}};export{f as n,p as t};
@@ -0,0 +1 @@
1
+ export { };
@@ -1 +1 @@
1
- function PRINT_ERROR(e){console&&console.error&&console.error(`Error: ${e}`)}function PRINT_WARNING(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function timer(e){let t=new Date().getTime(),n=e();return{time:new Date().getTime()-t,value:n}}function toFastProperties(e){function t(){}t.prototype=e;let n=new t;function r(){return typeof n.bar}return r(),r(),e}export{PRINT_WARNING as i,timer as n,PRINT_ERROR as r,toFastProperties as t};
1
+ function e(e){console&&console.error&&console.error(`Error: ${e}`)}function t(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function n(e){let t=new Date().getTime(),n=e();return{time:new Date().getTime()-t,value:n}}function r(e){function t(){}t.prototype=e;let n=new t;function r(){return typeof n.bar}return r(),r(),e}export{t as i,n,e as r,r as t};