solve-engine 1.0.0-beta.2 → 1.0.0-beta.3

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 (97) hide show
  1. package/dist/{Lexer-BJdhlnej.d.cts → Lexer-Dkt7KGaU.d.ts} +18 -2
  2. package/dist/{Lexer-D9l4Yrk2.d.ts → Lexer-y8uY6n6t.d.cts} +18 -2
  3. package/dist/{PackageRegistry-D-Tv_7ca.d.cts → PackageRegistry-CblRmrHc.d.cts} +60 -4
  4. package/dist/{PackageRegistry-DaH4aIKP.d.ts → PackageRegistry-wUQyVEyw.d.ts} +60 -4
  5. package/dist/{Parselet-CK8cQu2a.d.cts → Parselet-C974vhZG.d.cts} +1 -1
  6. package/dist/{Parselet-ConOIdRO.d.ts → Parselet-CsmtM3It.d.ts} +1 -1
  7. package/dist/{Token-0jpvUdPY.d.cts → Token-DnU2hwFY.d.cts} +14 -0
  8. package/dist/{Token-0jpvUdPY.d.ts → Token-DnU2hwFY.d.ts} +14 -0
  9. package/dist/TokenNormalizer-B8zmhO5X.d.ts +377 -0
  10. package/dist/TokenNormalizer-CqBCrYkR.d.cts +377 -0
  11. package/dist/{chunk-M5LX5AOO.js → chunk-23MFG6GG.js} +21 -8
  12. package/dist/chunk-23MFG6GG.js.map +1 -0
  13. package/dist/{chunk-SDGRK7EP.js → chunk-2A3VOGVG.js} +4 -4
  14. package/dist/{chunk-SDGRK7EP.js.map → chunk-2A3VOGVG.js.map} +1 -1
  15. package/dist/{chunk-NMD5VRN4.cjs → chunk-2R7SVDDB.cjs} +68 -67
  16. package/dist/chunk-2R7SVDDB.cjs.map +1 -0
  17. package/dist/{chunk-RIN643A3.js → chunk-626UW5RU.js} +2 -2
  18. package/dist/chunk-626UW5RU.js.map +1 -0
  19. package/dist/{chunk-CLL7RUQV.cjs → chunk-7J2Q77OH.cjs} +34 -13
  20. package/dist/chunk-7J2Q77OH.cjs.map +1 -0
  21. package/dist/{chunk-HWSZJQCI.js → chunk-AF5AE52C.js} +33 -12
  22. package/dist/chunk-AF5AE52C.js.map +1 -0
  23. package/dist/{chunk-RZCWSXTA.cjs → chunk-BOAVE4FC.cjs} +129 -129
  24. package/dist/{chunk-RZCWSXTA.cjs.map → chunk-BOAVE4FC.cjs.map} +1 -1
  25. package/dist/{chunk-EBSPLUW4.cjs → chunk-CGIDYRAX.cjs} +19 -9
  26. package/dist/chunk-CGIDYRAX.cjs.map +1 -0
  27. package/dist/{chunk-C4XZV6E7.cjs → chunk-EEJSQEHC.cjs} +20 -20
  28. package/dist/{chunk-C4XZV6E7.cjs.map → chunk-EEJSQEHC.cjs.map} +1 -1
  29. package/dist/{chunk-LR7YASZF.cjs → chunk-F7G7ZFIZ.cjs} +3 -3
  30. package/dist/chunk-F7G7ZFIZ.cjs.map +1 -0
  31. package/dist/{chunk-GW32KPCU.cjs → chunk-FI4WDYSL.cjs} +2 -2
  32. package/dist/chunk-FI4WDYSL.cjs.map +1 -0
  33. package/dist/{chunk-EIGTWK5N.js → chunk-KFRBAXKW.js} +3 -3
  34. package/dist/chunk-KFRBAXKW.js.map +1 -0
  35. package/dist/{chunk-64W6GLLZ.js → chunk-OJ6LW7VQ.js} +15 -5
  36. package/dist/chunk-OJ6LW7VQ.js.map +1 -0
  37. package/dist/{chunk-3PPFLFH4.js → chunk-OWXIOHQB.js} +6 -6
  38. package/dist/{chunk-3PPFLFH4.js.map → chunk-OWXIOHQB.js.map} +1 -1
  39. package/dist/{chunk-JBSYC7BB.cjs → chunk-PG2K5BL6.cjs} +41 -28
  40. package/dist/chunk-PG2K5BL6.cjs.map +1 -0
  41. package/dist/{chunk-XVWCOTR6.js → chunk-VM5ZKDLH.js} +5 -4
  42. package/dist/chunk-VM5ZKDLH.js.map +1 -0
  43. package/dist/{chunk-NMCRQP3Z.cjs → chunk-ZH2PCJ4V.cjs} +68 -68
  44. package/dist/{chunk-NMCRQP3Z.cjs.map → chunk-ZH2PCJ4V.cjs.map} +1 -1
  45. package/dist/{chunk-5YEMOYSE.js → chunk-ZS6CRJZP.js} +3 -3
  46. package/dist/{chunk-5YEMOYSE.js.map → chunk-ZS6CRJZP.js.map} +1 -1
  47. package/dist/constants.cjs +4 -4
  48. package/dist/constants.js +1 -1
  49. package/dist/engine.cjs +19 -19
  50. package/dist/engine.d.cts +6 -6
  51. package/dist/engine.d.ts +6 -6
  52. package/dist/engine.js +9 -9
  53. package/dist/index.cjs +18 -18
  54. package/dist/index.d.cts +6 -6
  55. package/dist/index.d.ts +6 -6
  56. package/dist/index.js +10 -10
  57. package/dist/language.cjs +63 -1
  58. package/dist/language.cjs.map +1 -1
  59. package/dist/language.d.cts +6 -6
  60. package/dist/language.d.ts +6 -6
  61. package/dist/language.js +63 -1
  62. package/dist/language.js.map +1 -1
  63. package/dist/lexer.cjs +14 -14
  64. package/dist/lexer.d.cts +3 -3
  65. package/dist/lexer.d.ts +3 -3
  66. package/dist/lexer.js +3 -3
  67. package/dist/normalizer.cjs +9 -9
  68. package/dist/normalizer.d.cts +4 -210
  69. package/dist/normalizer.d.ts +4 -210
  70. package/dist/normalizer.js +3 -3
  71. package/dist/packages.cjs +28 -28
  72. package/dist/packages.d.cts +5 -5
  73. package/dist/packages.d.ts +5 -5
  74. package/dist/packages.js +5 -5
  75. package/dist/parser.cjs +11 -11
  76. package/dist/parser.d.cts +2 -2
  77. package/dist/parser.d.ts +2 -2
  78. package/dist/parser.js +3 -3
  79. package/dist/resolvers.d.cts +1 -1
  80. package/dist/resolvers.d.ts +1 -1
  81. package/dist/uom.d.cts +1 -1
  82. package/dist/uom.d.ts +1 -1
  83. package/package.json +2 -1
  84. package/dist/NormalizerRule-BrVoVjmP.d.cts +0 -163
  85. package/dist/NormalizerRule-CEjf1FyD.d.ts +0 -163
  86. package/dist/chunk-64W6GLLZ.js.map +0 -1
  87. package/dist/chunk-CLL7RUQV.cjs.map +0 -1
  88. package/dist/chunk-EBSPLUW4.cjs.map +0 -1
  89. package/dist/chunk-EIGTWK5N.js.map +0 -1
  90. package/dist/chunk-GW32KPCU.cjs.map +0 -1
  91. package/dist/chunk-HWSZJQCI.js.map +0 -1
  92. package/dist/chunk-JBSYC7BB.cjs.map +0 -1
  93. package/dist/chunk-LR7YASZF.cjs.map +0 -1
  94. package/dist/chunk-M5LX5AOO.js.map +0 -1
  95. package/dist/chunk-NMD5VRN4.cjs.map +0 -1
  96. package/dist/chunk-RIN643A3.js.map +0 -1
  97. package/dist/chunk-XVWCOTR6.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkGW32KPCU_cjs = require('./chunk-GW32KPCU.cjs');
3
+ var chunkFI4WDYSL_cjs = require('./chunk-FI4WDYSL.cjs');
4
4
  var chunk3YNVWKR2_cjs = require('./chunk-3YNVWKR2.cjs');
5
5
  var chunkEHAHVROS_cjs = require('./chunk-EHAHVROS.cjs');
6
6
  var chunkM4N5GA5Z_cjs = require('./chunk-M4N5GA5Z.cjs');
7
7
 
8
8
  // src/lexer/ExpressionLexer.ts
9
- chunkGW32KPCU_cjs.registerAllTokenTypes();
9
+ chunkFI4WDYSL_cjs.registerAllTokenTypes();
10
10
  function buildCharClassTable() {
11
11
  const table = new Uint8Array(128);
12
12
  for (let i = 48; i <= 57; i++) table[i] = 2 /* DIGIT */;
@@ -49,7 +49,7 @@ function buildCharClassTable() {
49
49
  return table;
50
50
  }
51
51
  var LexerToken = class {
52
- constructor(type, typeId, value, text, offset, lineBreaks, line, col) {
52
+ constructor(type, typeId, value, text, offset, lineBreaks, line, col, sourceEnd) {
53
53
  this.type = type;
54
54
  this.typeId = typeId;
55
55
  this.value = value;
@@ -58,6 +58,7 @@ var LexerToken = class {
58
58
  this.lineBreaks = lineBreaks;
59
59
  this.line = line;
60
60
  this.col = col;
61
+ this.sourceEnd = sourceEnd;
61
62
  }
62
63
  };
63
64
  var TWO_CHAR_OPS = {
@@ -219,7 +220,7 @@ var _ExpressionLexer = class _ExpressionLexer {
219
220
  if (m && typeof m[1] === "string") {
220
221
  const value = m[1].trim();
221
222
  if (value.length > 0) {
222
- return new LexerToken(rule.tokenType, chunkGW32KPCU_cjs.tokenTypeId(rule.tokenType), value, value, 0, 0, this.line, 1);
223
+ return new LexerToken(rule.tokenType, chunkFI4WDYSL_cjs.tokenTypeId(rule.tokenType), value, value, 0, 0, this.line, 1);
223
224
  }
224
225
  }
225
226
  }
@@ -526,20 +527,20 @@ var _ExpressionLexer = class _ExpressionLexer {
526
527
  switch (cc) {
527
528
  case 2 /* DIGIT */:
528
529
  case 4 /* DOT */:
529
- yield new LexerToken("NUMBER", chunkGW32KPCU_cjs.tokenTypeId("NUMBER"), this.input, this.input, 0, 0, 1, 1);
530
+ yield new LexerToken("NUMBER", chunkFI4WDYSL_cjs.tokenTypeId("NUMBER"), this.input, this.input, 0, 0, 1, 1);
530
531
  tokenIndex++;
531
532
  break;
532
533
  case 3 /* ALPHA */: {
533
534
  const input2 = this.input;
534
535
  const identLower = input2.toLowerCase();
535
536
  if (this.mergedUnits.has(input2)) {
536
- yield new LexerToken("UNIT", chunkGW32KPCU_cjs.tokenTypeId("UNIT"), input2, input2, 0, 0, 1, 1);
537
+ yield new LexerToken("UNIT", chunkFI4WDYSL_cjs.tokenTypeId("UNIT"), input2, input2, 0, 0, 1, 1);
537
538
  } else {
538
539
  const kwType = this.mergedKeywords.get(identLower);
539
540
  if (kwType) {
540
- yield new LexerToken(kwType, chunkGW32KPCU_cjs.tokenTypeId(kwType), input2, input2, 0, 0, 1, 1);
541
+ yield new LexerToken(kwType, chunkFI4WDYSL_cjs.tokenTypeId(kwType), input2, input2, 0, 0, 1, 1);
541
542
  } else {
542
- yield new LexerToken("IDENT", chunkGW32KPCU_cjs.tokenTypeId("IDENT"), input2, input2, 0, 0, 1, 1);
543
+ yield new LexerToken("IDENT", chunkFI4WDYSL_cjs.tokenTypeId("IDENT"), input2, input2, 0, 0, 1, 1);
543
544
  }
544
545
  }
545
546
  tokenIndex++;
@@ -548,7 +549,7 @@ var _ExpressionLexer = class _ExpressionLexer {
548
549
  case 5 /* OPERATOR */: {
549
550
  const opType = OP_MAP[c0];
550
551
  if (opType) {
551
- yield new LexerToken(opType, chunkGW32KPCU_cjs.tokenTypeId(opType), this.input, this.input, 0, 0, 1, 1);
552
+ yield new LexerToken(opType, chunkFI4WDYSL_cjs.tokenTypeId(opType), this.input, this.input, 0, 0, 1, 1);
552
553
  tokenIndex++;
553
554
  }
554
555
  break;
@@ -564,61 +565,61 @@ var _ExpressionLexer = class _ExpressionLexer {
564
565
  tokenIndex++;
565
566
  break;
566
567
  case 8 /* DOLLAR */:
567
- yield new LexerToken("DOLLAR", chunkGW32KPCU_cjs.tokenTypeId("DOLLAR"), "$", "$", 0, 0, 1, 1);
568
+ yield new LexerToken("DOLLAR", chunkFI4WDYSL_cjs.tokenTypeId("DOLLAR"), "$", "$", 0, 0, 1, 1);
568
569
  tokenIndex++;
569
570
  break;
570
571
  case 11 /* BACKTICK */:
571
- yield new LexerToken("BACKTICK_OPEN", chunkGW32KPCU_cjs.tokenTypeId("BACKTICK_OPEN"), "`", "`", 0, 0, 1, 1);
572
+ yield new LexerToken("BACKTICK_OPEN", chunkFI4WDYSL_cjs.tokenTypeId("BACKTICK_OPEN"), "`", "`", 0, 0, 1, 1);
572
573
  tokenIndex++;
573
574
  break;
574
575
  default: {
575
576
  if (c0 === 215) {
576
- yield new LexerToken("STAR", chunkGW32KPCU_cjs.tokenTypeId("STAR"), "\xD7", "\xD7", 0, 0, 1, 1);
577
+ yield new LexerToken("STAR", chunkFI4WDYSL_cjs.tokenTypeId("STAR"), "\xD7", "\xD7", 0, 0, 1, 1);
577
578
  tokenIndex++;
578
579
  } else if (c0 === 247) {
579
- yield new LexerToken("SLASH", chunkGW32KPCU_cjs.tokenTypeId("SLASH"), "\xF7", "\xF7", 0, 0, 1, 1);
580
+ yield new LexerToken("SLASH", chunkFI4WDYSL_cjs.tokenTypeId("SLASH"), "\xF7", "\xF7", 0, 0, 1, 1);
580
581
  tokenIndex++;
581
582
  } else if (c0 === 8800) {
582
- yield new LexerToken("NEQ", chunkGW32KPCU_cjs.tokenTypeId("NEQ"), "\u2260", "\u2260", 0, 0, 1, 1);
583
+ yield new LexerToken("NEQ", chunkFI4WDYSL_cjs.tokenTypeId("NEQ"), "\u2260", "\u2260", 0, 0, 1, 1);
583
584
  tokenIndex++;
584
585
  } else if (c0 === 163) {
585
- yield new LexerToken("POUND", chunkGW32KPCU_cjs.tokenTypeId("POUND"), "\xA3", "\xA3", 0, 0, 1, 1);
586
+ yield new LexerToken("POUND", chunkFI4WDYSL_cjs.tokenTypeId("POUND"), "\xA3", "\xA3", 0, 0, 1, 1);
586
587
  tokenIndex++;
587
588
  } else if (c0 === 8364) {
588
- yield new LexerToken("EURO", chunkGW32KPCU_cjs.tokenTypeId("EURO"), "\u20AC", "\u20AC", 0, 0, 1, 1);
589
+ yield new LexerToken("EURO", chunkFI4WDYSL_cjs.tokenTypeId("EURO"), "\u20AC", "\u20AC", 0, 0, 1, 1);
589
590
  tokenIndex++;
590
591
  } else if (c0 === 165) {
591
- yield new LexerToken("YEN", chunkGW32KPCU_cjs.tokenTypeId("YEN"), "\xA5", "\xA5", 0, 0, 1, 1);
592
+ yield new LexerToken("YEN", chunkFI4WDYSL_cjs.tokenTypeId("YEN"), "\xA5", "\xA5", 0, 0, 1, 1);
592
593
  tokenIndex++;
593
594
  } else if (c0 === 8381) {
594
- yield new LexerToken("RUBLE", chunkGW32KPCU_cjs.tokenTypeId("RUBLE"), "\u20BD", "\u20BD", 0, 0, 1, 1);
595
+ yield new LexerToken("RUBLE", chunkFI4WDYSL_cjs.tokenTypeId("RUBLE"), "\u20BD", "\u20BD", 0, 0, 1, 1);
595
596
  tokenIndex++;
596
597
  } else if (c0 === 8361) {
597
- yield new LexerToken("WON", chunkGW32KPCU_cjs.tokenTypeId("WON"), "\u20A9", "\u20A9", 0, 0, 1, 1);
598
+ yield new LexerToken("WON", chunkFI4WDYSL_cjs.tokenTypeId("WON"), "\u20A9", "\u20A9", 0, 0, 1, 1);
598
599
  tokenIndex++;
599
600
  } else if (c0 === 8377) {
600
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20B9", "\u20B9", 0, 0, 1, 1);
601
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20B9", "\u20B9", 0, 0, 1, 1);
601
602
  tokenIndex++;
602
603
  } else if (c0 === 8378) {
603
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20BA", "\u20BA", 0, 0, 1, 1);
604
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20BA", "\u20BA", 0, 0, 1, 1);
604
605
  tokenIndex++;
605
606
  } else if (c0 === 8372) {
606
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20B4", "\u20B4", 0, 0, 1, 1);
607
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20B4", "\u20B4", 0, 0, 1, 1);
607
608
  tokenIndex++;
608
609
  } else if (c0 === 8362) {
609
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20AA", "\u20AA", 0, 0, 1, 1);
610
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20AA", "\u20AA", 0, 0, 1, 1);
610
611
  tokenIndex++;
611
612
  } else if (c0 === 8363) {
612
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20AB", "\u20AB", 0, 0, 1, 1);
613
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20AB", "\u20AB", 0, 0, 1, 1);
613
614
  tokenIndex++;
614
615
  } else if (c0 === 8358) {
615
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20A6", "\u20A6", 0, 0, 1, 1);
616
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20A6", "\u20A6", 0, 0, 1, 1);
616
617
  tokenIndex++;
617
618
  } else if (c0 === 8369) {
618
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20B1", "\u20B1", 0, 0, 1, 1);
619
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20B1", "\u20B1", 0, 0, 1, 1);
619
620
  tokenIndex++;
620
621
  } else if (c0 >= 128) {
621
- yield new LexerToken("IDENT", chunkGW32KPCU_cjs.tokenTypeId("IDENT"), this.input, this.input, 0, 0, 1, 1);
622
+ yield new LexerToken("IDENT", chunkFI4WDYSL_cjs.tokenTypeId("IDENT"), this.input, this.input, 0, 0, 1, 1);
622
623
  tokenIndex++;
623
624
  }
624
625
  break;
@@ -673,12 +674,12 @@ var _ExpressionLexer = class _ExpressionLexer {
673
674
  yield this.tokenizeNumber();
674
675
  } else {
675
676
  const col = this.pos - this.lineStartPos + 1;
676
- yield new LexerToken("DOT", chunkGW32KPCU_cjs.tokenTypeId("DOT"), ".", ".", this.pos, 0, this.line, col);
677
+ yield new LexerToken("DOT", chunkFI4WDYSL_cjs.tokenTypeId("DOT"), ".", ".", this.pos, 0, this.line, col);
677
678
  this.pos++;
678
679
  }
679
680
  } else {
680
681
  const col = this.pos - this.lineStartPos + 1;
681
- yield new LexerToken("DOT", chunkGW32KPCU_cjs.tokenTypeId("DOT"), ".", ".", this.pos, 0, this.line, col);
682
+ yield new LexerToken("DOT", chunkFI4WDYSL_cjs.tokenTypeId("DOT"), ".", ".", this.pos, 0, this.line, col);
682
683
  this.pos++;
683
684
  }
684
685
  tokenIndex++;
@@ -701,7 +702,7 @@ var _ExpressionLexer = class _ExpressionLexer {
701
702
  // ── Dollar sign $ ─────────────────────────────────────────────
702
703
  case 8 /* DOLLAR */: {
703
704
  const col = this.pos - this.lineStartPos + 1;
704
- yield new LexerToken("DOLLAR", chunkGW32KPCU_cjs.tokenTypeId("DOLLAR"), "$", "$", this.pos, 0, this.line, col);
705
+ yield new LexerToken("DOLLAR", chunkFI4WDYSL_cjs.tokenTypeId("DOLLAR"), "$", "$", this.pos, 0, this.line, col);
705
706
  this.pos++;
706
707
  tokenIndex++;
707
708
  break;
@@ -709,7 +710,7 @@ var _ExpressionLexer = class _ExpressionLexer {
709
710
  // ── Backtick ` ───────────────────────────────────────────────
710
711
  case 11 /* BACKTICK */: {
711
712
  const col = this.pos - this.lineStartPos + 1;
712
- yield new LexerToken("BACKTICK_OPEN", chunkGW32KPCU_cjs.tokenTypeId("BACKTICK_OPEN"), "`", "`", this.pos, 0, this.line, col);
713
+ yield new LexerToken("BACKTICK_OPEN", chunkFI4WDYSL_cjs.tokenTypeId("BACKTICK_OPEN"), "`", "`", this.pos, 0, this.line, col);
713
714
  this.pos++;
714
715
  if (openSpan) {
715
716
  const span = openSpan;
@@ -730,63 +731,63 @@ var _ExpressionLexer = class _ExpressionLexer {
730
731
  default: {
731
732
  const col = this.pos - this.lineStartPos + 1;
732
733
  if (c0 === 215) {
733
- yield new LexerToken("STAR", chunkGW32KPCU_cjs.tokenTypeId("STAR"), "\xD7", "\xD7", this.pos, 0, this.line, col);
734
+ yield new LexerToken("STAR", chunkFI4WDYSL_cjs.tokenTypeId("STAR"), "\xD7", "\xD7", this.pos, 0, this.line, col);
734
735
  this.pos++;
735
736
  tokenIndex++;
736
737
  } else if (c0 === 247) {
737
- yield new LexerToken("SLASH", chunkGW32KPCU_cjs.tokenTypeId("SLASH"), "\xF7", "\xF7", this.pos, 0, this.line, col);
738
+ yield new LexerToken("SLASH", chunkFI4WDYSL_cjs.tokenTypeId("SLASH"), "\xF7", "\xF7", this.pos, 0, this.line, col);
738
739
  this.pos++;
739
740
  tokenIndex++;
740
741
  } else if (c0 === 8800) {
741
- yield new LexerToken("NEQ", chunkGW32KPCU_cjs.tokenTypeId("NEQ"), "\u2260", "\u2260", this.pos, 0, this.line, col);
742
+ yield new LexerToken("NEQ", chunkFI4WDYSL_cjs.tokenTypeId("NEQ"), "\u2260", "\u2260", this.pos, 0, this.line, col);
742
743
  this.pos++;
743
744
  tokenIndex++;
744
745
  } else if (c0 === 163) {
745
- yield new LexerToken("POUND", chunkGW32KPCU_cjs.tokenTypeId("POUND"), "\xA3", "\xA3", this.pos, 0, this.line, col);
746
+ yield new LexerToken("POUND", chunkFI4WDYSL_cjs.tokenTypeId("POUND"), "\xA3", "\xA3", this.pos, 0, this.line, col);
746
747
  this.pos++;
747
748
  tokenIndex++;
748
749
  } else if (c0 === 8364) {
749
- yield new LexerToken("EURO", chunkGW32KPCU_cjs.tokenTypeId("EURO"), "\u20AC", "\u20AC", this.pos, 0, this.line, col);
750
+ yield new LexerToken("EURO", chunkFI4WDYSL_cjs.tokenTypeId("EURO"), "\u20AC", "\u20AC", this.pos, 0, this.line, col);
750
751
  this.pos++;
751
752
  tokenIndex++;
752
753
  } else if (c0 === 165) {
753
- yield new LexerToken("YEN", chunkGW32KPCU_cjs.tokenTypeId("YEN"), "\xA5", "\xA5", this.pos, 0, this.line, col);
754
+ yield new LexerToken("YEN", chunkFI4WDYSL_cjs.tokenTypeId("YEN"), "\xA5", "\xA5", this.pos, 0, this.line, col);
754
755
  this.pos++;
755
756
  tokenIndex++;
756
757
  } else if (c0 === 8381) {
757
- yield new LexerToken("RUBLE", chunkGW32KPCU_cjs.tokenTypeId("RUBLE"), "\u20BD", "\u20BD", this.pos, 0, this.line, col);
758
+ yield new LexerToken("RUBLE", chunkFI4WDYSL_cjs.tokenTypeId("RUBLE"), "\u20BD", "\u20BD", this.pos, 0, this.line, col);
758
759
  this.pos++;
759
760
  tokenIndex++;
760
761
  } else if (c0 === 8361) {
761
- yield new LexerToken("WON", chunkGW32KPCU_cjs.tokenTypeId("WON"), "\u20A9", "\u20A9", this.pos, 0, this.line, col);
762
+ yield new LexerToken("WON", chunkFI4WDYSL_cjs.tokenTypeId("WON"), "\u20A9", "\u20A9", this.pos, 0, this.line, col);
762
763
  this.pos++;
763
764
  tokenIndex++;
764
765
  } else if (c0 === 8377) {
765
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20B9", "\u20B9", this.pos, 0, this.line, col);
766
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20B9", "\u20B9", this.pos, 0, this.line, col);
766
767
  this.pos++;
767
768
  tokenIndex++;
768
769
  } else if (c0 === 8378) {
769
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20BA", "\u20BA", this.pos, 0, this.line, col);
770
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20BA", "\u20BA", this.pos, 0, this.line, col);
770
771
  this.pos++;
771
772
  tokenIndex++;
772
773
  } else if (c0 === 8372) {
773
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20B4", "\u20B4", this.pos, 0, this.line, col);
774
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20B4", "\u20B4", this.pos, 0, this.line, col);
774
775
  this.pos++;
775
776
  tokenIndex++;
776
777
  } else if (c0 === 8362) {
777
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20AA", "\u20AA", this.pos, 0, this.line, col);
778
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20AA", "\u20AA", this.pos, 0, this.line, col);
778
779
  this.pos++;
779
780
  tokenIndex++;
780
781
  } else if (c0 === 8363) {
781
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20AB", "\u20AB", this.pos, 0, this.line, col);
782
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20AB", "\u20AB", this.pos, 0, this.line, col);
782
783
  this.pos++;
783
784
  tokenIndex++;
784
785
  } else if (c0 === 8358) {
785
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20A6", "\u20A6", this.pos, 0, this.line, col);
786
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20A6", "\u20A6", this.pos, 0, this.line, col);
786
787
  this.pos++;
787
788
  tokenIndex++;
788
789
  } else if (c0 === 8369) {
789
- yield new LexerToken("CURRENCY_SYMBOL", chunkGW32KPCU_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20B1", "\u20B1", this.pos, 0, this.line, col);
790
+ yield new LexerToken("CURRENCY_SYMBOL", chunkFI4WDYSL_cjs.tokenTypeId("CURRENCY_SYMBOL"), "\u20B1", "\u20B1", this.pos, 0, this.line, col);
790
791
  this.pos++;
791
792
  tokenIndex++;
792
793
  } else if (c0 >= 128) {
@@ -827,7 +828,7 @@ var _ExpressionLexer = class _ExpressionLexer {
827
828
  }
828
829
  const text2 = input.slice(start, pos);
829
830
  this.pos = pos;
830
- return new LexerToken("NUMBER", chunkGW32KPCU_cjs.tokenTypeId("NUMBER"), text2, text2, start, 0, this.line, startCol);
831
+ return new LexerToken("NUMBER", chunkFI4WDYSL_cjs.tokenTypeId("NUMBER"), text2, text2, start, 0, this.line, startCol);
831
832
  }
832
833
  if (next === 98 || next === 66) {
833
834
  pos += 2;
@@ -836,7 +837,7 @@ var _ExpressionLexer = class _ExpressionLexer {
836
837
  }
837
838
  const text2 = input.slice(start, pos);
838
839
  this.pos = pos;
839
- return new LexerToken("NUMBER", chunkGW32KPCU_cjs.tokenTypeId("NUMBER"), text2, text2, start, 0, this.line, startCol);
840
+ return new LexerToken("NUMBER", chunkFI4WDYSL_cjs.tokenTypeId("NUMBER"), text2, text2, start, 0, this.line, startCol);
840
841
  }
841
842
  if (next === 111 || next === 79) {
842
843
  pos += 2;
@@ -845,7 +846,7 @@ var _ExpressionLexer = class _ExpressionLexer {
845
846
  }
846
847
  const text2 = input.slice(start, pos);
847
848
  this.pos = pos;
848
- return new LexerToken("NUMBER", chunkGW32KPCU_cjs.tokenTypeId("NUMBER"), text2, text2, start, 0, this.line, startCol);
849
+ return new LexerToken("NUMBER", chunkFI4WDYSL_cjs.tokenTypeId("NUMBER"), text2, text2, start, 0, this.line, startCol);
849
850
  }
850
851
  }
851
852
  let hasIntPart = false;
@@ -903,12 +904,12 @@ var _ExpressionLexer = class _ExpressionLexer {
903
904
  pos++;
904
905
  const text2 = input.slice(start, pos);
905
906
  this.pos = pos;
906
- return new LexerToken("BIGINT", chunkGW32KPCU_cjs.tokenTypeId("BIGINT"), text2, text2, start, 0, this.line, startCol);
907
+ return new LexerToken("BIGINT", chunkFI4WDYSL_cjs.tokenTypeId("BIGINT"), text2, text2, start, 0, this.line, startCol);
907
908
  }
908
909
  }
909
910
  const text = input.slice(start, pos);
910
911
  this.pos = pos;
911
- return new LexerToken("NUMBER", chunkGW32KPCU_cjs.tokenTypeId("NUMBER"), text, text, start, 0, this.line, startCol);
912
+ return new LexerToken("NUMBER", chunkFI4WDYSL_cjs.tokenTypeId("NUMBER"), text, text, start, 0, this.line, startCol);
912
913
  }
913
914
  // ── Inline identifier / keyword tokenizer ──────────────────────────────
914
915
  /**
@@ -940,22 +941,22 @@ var _ExpressionLexer = class _ExpressionLexer {
940
941
  pos++;
941
942
  this.pos = pos;
942
943
  const fullText = input.slice(start, pos);
943
- return new LexerToken("INLINE_SOLVE_START", chunkGW32KPCU_cjs.tokenTypeId("INLINE_SOLVE_START"), fullText, fullText, start, 0, this.line, startCol);
944
+ return new LexerToken("INLINE_SOLVE_START", chunkFI4WDYSL_cjs.tokenTypeId("INLINE_SOLVE_START"), fullText, fullText, start, 0, this.line, startCol);
944
945
  }
945
946
  const isKnownUnit = this.mergedUnits.has(identText);
946
947
  if (isKnownUnit) {
947
948
  if (!this.isFollowedByLParen(pos)) {
948
949
  this.pos = pos;
949
- return new LexerToken("UNIT", chunkGW32KPCU_cjs.tokenTypeId("UNIT"), identText, identText, start, 0, this.line, startCol);
950
+ return new LexerToken("UNIT", chunkFI4WDYSL_cjs.tokenTypeId("UNIT"), identText, identText, start, 0, this.line, startCol);
950
951
  }
951
952
  }
952
953
  const localeKwType = this.mergedKeywords.get(identLower);
953
954
  if (localeKwType) {
954
955
  this.pos = pos;
955
- return new LexerToken(localeKwType, chunkGW32KPCU_cjs.tokenTypeId(localeKwType), identText, identText, start, 0, this.line, startCol);
956
+ return new LexerToken(localeKwType, chunkFI4WDYSL_cjs.tokenTypeId(localeKwType), identText, identText, start, 0, this.line, startCol);
956
957
  }
957
958
  this.pos = pos;
958
- return new LexerToken("IDENT", chunkGW32KPCU_cjs.tokenTypeId("IDENT"), identText, identText, start, 0, this.line, startCol);
959
+ return new LexerToken("IDENT", chunkFI4WDYSL_cjs.tokenTypeId("IDENT"), identText, identText, start, 0, this.line, startCol);
959
960
  }
960
961
  /**
961
962
  * Peek past in-expression whitespace (space, tab) from `pos` to check
@@ -992,7 +993,7 @@ var _ExpressionLexer = class _ExpressionLexer {
992
993
  if (twoCharType) {
993
994
  const text2 = input.slice(pos, pos + 2);
994
995
  this.pos = pos + 2;
995
- return new LexerToken(twoCharType, chunkGW32KPCU_cjs.tokenTypeId(twoCharType), text2, text2, pos, 0, this.line, col);
996
+ return new LexerToken(twoCharType, chunkFI4WDYSL_cjs.tokenTypeId(twoCharType), text2, text2, pos, 0, this.line, col);
996
997
  }
997
998
  }
998
999
  if (c0 === 47 && c1 === 47) {
@@ -1004,19 +1005,19 @@ var _ExpressionLexer = class _ExpressionLexer {
1004
1005
  }
1005
1006
  const text2 = input.slice(pos, commentPos);
1006
1007
  this.pos = commentPos;
1007
- return new LexerToken("COMMENT", chunkGW32KPCU_cjs.tokenTypeId("COMMENT"), text2, text2, pos, 0, this.line, col);
1008
+ return new LexerToken("COMMENT", chunkFI4WDYSL_cjs.tokenTypeId("COMMENT"), text2, text2, pos, 0, this.line, col);
1008
1009
  }
1009
1010
  if (c0 === 60 && c1 === 60) {
1010
1011
  this.pos = pos + 2;
1011
- return new LexerToken("LSHIFT", chunkGW32KPCU_cjs.tokenTypeId("LSHIFT"), "<<", "<<", pos, 0, this.line, col);
1012
+ return new LexerToken("LSHIFT", chunkFI4WDYSL_cjs.tokenTypeId("LSHIFT"), "<<", "<<", pos, 0, this.line, col);
1012
1013
  }
1013
1014
  if (c0 === 62 && c1 === 62) {
1014
1015
  if (input.charCodeAt(pos + 2) === 62) {
1015
1016
  this.pos = pos + 3;
1016
- return new LexerToken("URSHIFT", chunkGW32KPCU_cjs.tokenTypeId("URSHIFT"), ">>>", ">>>", pos, 0, this.line, col);
1017
+ return new LexerToken("URSHIFT", chunkFI4WDYSL_cjs.tokenTypeId("URSHIFT"), ">>>", ">>>", pos, 0, this.line, col);
1017
1018
  }
1018
1019
  this.pos = pos + 2;
1019
- return new LexerToken("RSHIFT", chunkGW32KPCU_cjs.tokenTypeId("RSHIFT"), ">>", ">>", pos, 0, this.line, col);
1020
+ return new LexerToken("RSHIFT", chunkFI4WDYSL_cjs.tokenTypeId("RSHIFT"), ">>", ">>", pos, 0, this.line, col);
1020
1021
  }
1021
1022
  if (this.hasPluginOps) {
1022
1023
  const pluginInner = this.pluginOperators.get(c0);
@@ -1025,7 +1026,7 @@ var _ExpressionLexer = class _ExpressionLexer {
1025
1026
  if (pluginType) {
1026
1027
  const text2 = input.slice(pos, pos + 2);
1027
1028
  this.pos = pos + 2;
1028
- return new LexerToken(pluginType, chunkGW32KPCU_cjs.tokenTypeId(pluginType), text2, text2, pos, 0, this.line, col);
1029
+ return new LexerToken(pluginType, chunkFI4WDYSL_cjs.tokenTypeId(pluginType), text2, text2, pos, 0, this.line, col);
1029
1030
  }
1030
1031
  }
1031
1032
  }
@@ -1033,7 +1034,7 @@ var _ExpressionLexer = class _ExpressionLexer {
1033
1034
  this.pos = pos + 1;
1034
1035
  const opType = OP_MAP[c0];
1035
1036
  const text = input.charAt(pos);
1036
- return new LexerToken(opType || "ERROR", chunkGW32KPCU_cjs.tokenTypeId(opType || "ERROR"), text, text, pos, 0, this.line, col);
1037
+ return new LexerToken(opType || "ERROR", chunkFI4WDYSL_cjs.tokenTypeId(opType || "ERROR"), text, text, pos, 0, this.line, col);
1037
1038
  }
1038
1039
  // ── String literal tokenizer ──────────────────────────────────────────
1039
1040
  /**
@@ -1052,7 +1053,7 @@ var _ExpressionLexer = class _ExpressionLexer {
1052
1053
  pos++;
1053
1054
  const text2 = input.slice(start, pos);
1054
1055
  this.pos = pos;
1055
- return new LexerToken("STRING", chunkGW32KPCU_cjs.tokenTypeId("STRING"), text2, text2, start, lineBreaks, this.line, startCol);
1056
+ return new LexerToken("STRING", chunkFI4WDYSL_cjs.tokenTypeId("STRING"), text2, text2, start, lineBreaks, this.line, startCol);
1056
1057
  }
1057
1058
  if (c0 === 92 && pos + 1 < len) {
1058
1059
  pos += 2;
@@ -1067,7 +1068,7 @@ var _ExpressionLexer = class _ExpressionLexer {
1067
1068
  }
1068
1069
  const text = input.slice(start, pos);
1069
1070
  this.pos = pos;
1070
- return new LexerToken("STRING", chunkGW32KPCU_cjs.tokenTypeId("STRING"), text, text, start, lineBreaks, this.line, startCol);
1071
+ return new LexerToken("STRING", chunkFI4WDYSL_cjs.tokenTypeId("STRING"), text, text, start, lineBreaks, this.line, startCol);
1071
1072
  }
1072
1073
  // ── Markdown line scanner (Phase B) ───────────────────────────────────
1073
1074
  /**
@@ -1315,7 +1316,7 @@ var _ExpressionLexer = class _ExpressionLexer {
1315
1316
  }
1316
1317
  const text = input.slice(start, pos);
1317
1318
  this.pos = pos;
1318
- return new LexerToken("COMMENT", chunkGW32KPCU_cjs.tokenTypeId("COMMENT"), text, text, start, 0, this.line, startCol);
1319
+ return new LexerToken("COMMENT", chunkFI4WDYSL_cjs.tokenTypeId("COMMENT"), text, text, start, 0, this.line, startCol);
1319
1320
  }
1320
1321
  };
1321
1322
  _ExpressionLexer.CHAR_CLASS = buildCharClassTable();
@@ -1323,5 +1324,5 @@ var ExpressionLexer = _ExpressionLexer;
1323
1324
 
1324
1325
  exports.ExpressionLexer = ExpressionLexer;
1325
1326
  exports.LexerToken = LexerToken;
1326
- //# sourceMappingURL=chunk-NMD5VRN4.cjs.map
1327
- //# sourceMappingURL=chunk-NMD5VRN4.cjs.map
1327
+ //# sourceMappingURL=chunk-2R7SVDDB.cjs.map
1328
+ //# sourceMappingURL=chunk-2R7SVDDB.cjs.map