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

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 (171) hide show
  1. package/dist/{Lexer-D9l4Yrk2.d.ts → Lexer-Cfm79Dak.d.cts} +18 -2
  2. package/dist/{Lexer-BJdhlnej.d.cts → Lexer-W9MBOP0V.d.ts} +18 -2
  3. package/dist/{PackageRegistry-DaH4aIKP.d.ts → PackageRegistry-CjDt-Jy_.d.ts} +60 -4
  4. package/dist/{PackageRegistry-D-Tv_7ca.d.cts → PackageRegistry-pHtKythi.d.cts} +60 -4
  5. package/dist/{Parselet-CK8cQu2a.d.cts → Parselet-Cu0bLSis.d.cts} +1 -1
  6. package/dist/{Parselet-ConOIdRO.d.ts → Parselet-DEdF9I7n.d.ts} +1 -1
  7. package/dist/{Token-0jpvUdPY.d.cts → Token-BzG5G4ja.d.cts} +44 -0
  8. package/dist/{Token-0jpvUdPY.d.ts → Token-BzG5G4ja.d.ts} +44 -0
  9. package/dist/TokenNormalizer-DGVa24Q-.d.cts +377 -0
  10. package/dist/TokenNormalizer-t_GotBxr.d.ts +377 -0
  11. package/dist/{chunk-HWSZJQCI.js → chunk-2CS6OMZK.js} +37 -15
  12. package/dist/chunk-2CS6OMZK.js.map +1 -0
  13. package/dist/{chunk-XJCMXB2E.cjs → chunk-2MV4HBKC.cjs} +187 -61
  14. package/dist/chunk-2MV4HBKC.cjs.map +1 -0
  15. package/dist/{chunk-J73SJHR3.cjs → chunk-2NPS5DQ3.cjs} +558 -341
  16. package/dist/chunk-2NPS5DQ3.cjs.map +1 -0
  17. package/dist/{chunk-QWY3VEZN.js → chunk-3MNKQZ77.js} +65 -12
  18. package/dist/chunk-3MNKQZ77.js.map +1 -0
  19. package/dist/{chunk-RZCWSXTA.cjs → chunk-43G3JT2E.cjs} +1491 -218
  20. package/dist/chunk-43G3JT2E.cjs.map +1 -0
  21. package/dist/{chunk-WQTTOGXC.cjs → chunk-4AVD7NZW.cjs} +4 -4
  22. package/dist/{chunk-WQTTOGXC.cjs.map → chunk-4AVD7NZW.cjs.map} +1 -1
  23. package/dist/{chunk-HTXVVJRA.cjs → chunk-4CVLFLOB.cjs} +112 -2
  24. package/dist/chunk-4CVLFLOB.cjs.map +1 -0
  25. package/dist/{chunk-5YEMOYSE.js → chunk-6GCKCWLB.js} +9 -3
  26. package/dist/chunk-6GCKCWLB.js.map +1 -0
  27. package/dist/{chunk-EBSPLUW4.cjs → chunk-AHCLWAM5.cjs} +28 -10
  28. package/dist/chunk-AHCLWAM5.cjs.map +1 -0
  29. package/dist/{chunk-KVILKGMS.js → chunk-AJA6LUI7.js} +36 -2
  30. package/dist/chunk-AJA6LUI7.js.map +1 -0
  31. package/dist/{chunk-EHAHVROS.cjs → chunk-CLVQBF5C.cjs} +5 -5
  32. package/dist/{chunk-EHAHVROS.cjs.map → chunk-CLVQBF5C.cjs.map} +1 -1
  33. package/dist/{chunk-34RRD7PC.js → chunk-CYFK5SY2.js} +111 -3
  34. package/dist/chunk-CYFK5SY2.js.map +1 -0
  35. package/dist/{chunk-M5LX5AOO.js → chunk-DDQVZGLO.js} +25 -12
  36. package/dist/chunk-DDQVZGLO.js.map +1 -0
  37. package/dist/{chunk-LR7YASZF.cjs → chunk-EAAHVJ4P.cjs} +3 -3
  38. package/dist/chunk-EAAHVJ4P.cjs.map +1 -0
  39. package/dist/{chunk-3PPFLFH4.js → chunk-FIFQPKBA.js} +1417 -144
  40. package/dist/chunk-FIFQPKBA.js.map +1 -0
  41. package/dist/{chunk-RIN643A3.js → chunk-GPPLSM2Z.js} +61 -2
  42. package/dist/chunk-GPPLSM2Z.js.map +1 -0
  43. package/dist/{chunk-4QADQTWS.js → chunk-KHJUSHFU.js} +231 -14
  44. package/dist/chunk-KHJUSHFU.js.map +1 -0
  45. package/dist/{chunk-NMD5VRN4.cjs → chunk-M4F66R4O.cjs} +74 -73
  46. package/dist/chunk-M4F66R4O.cjs.map +1 -0
  47. package/dist/{chunk-6NTVRDQV.cjs → chunk-M4Q47KHF.cjs} +126 -73
  48. package/dist/chunk-M4Q47KHF.cjs.map +1 -0
  49. package/dist/{chunk-LIPPNDBE.js → chunk-M5E34VG5.js} +3 -3
  50. package/dist/{chunk-LIPPNDBE.js.map → chunk-M5E34VG5.js.map} +1 -1
  51. package/dist/{chunk-53B6KDDJ.cjs → chunk-MBNQVDVC.cjs} +38 -3
  52. package/dist/{chunk-53B6KDDJ.cjs.map → chunk-MBNQVDVC.cjs.map} +1 -1
  53. package/dist/{chunk-SDGRK7EP.js → chunk-MEOHSQEH.js} +6 -5
  54. package/dist/chunk-MEOHSQEH.js.map +1 -0
  55. package/dist/{chunk-NMCRQP3Z.cjs → chunk-MTX2KVU7.cjs} +71 -70
  56. package/dist/chunk-MTX2KVU7.cjs.map +1 -0
  57. package/dist/{chunk-QNJ4ACRT.cjs → chunk-NJTXJ5AG.cjs} +37 -15
  58. package/dist/chunk-NJTXJ5AG.cjs.map +1 -0
  59. package/dist/{chunk-C4XZV6E7.cjs → chunk-NZFKROS7.cjs} +26 -20
  60. package/dist/chunk-NZFKROS7.cjs.map +1 -0
  61. package/dist/{chunk-64W6GLLZ.js → chunk-OFXOTECC.js} +24 -6
  62. package/dist/chunk-OFXOTECC.js.map +1 -0
  63. package/dist/{chunk-3YNVWKR2.cjs → chunk-OUHT5Z36.cjs} +28 -5
  64. package/dist/chunk-OUHT5Z36.cjs.map +1 -0
  65. package/dist/{chunk-EIGTWK5N.js → chunk-OWRHDUJD.js} +3 -3
  66. package/dist/chunk-OWRHDUJD.js.map +1 -0
  67. package/dist/{chunk-4MG4XKO2.js → chunk-PCPX42KL.js} +38 -3
  68. package/dist/{chunk-4MG4XKO2.js.map → chunk-PCPX42KL.js.map} +1 -1
  69. package/dist/{chunk-GW32KPCU.cjs → chunk-R24DI24X.cjs} +61 -2
  70. package/dist/chunk-R24DI24X.cjs.map +1 -0
  71. package/dist/{chunk-XVWCOTR6.js → chunk-SFQWJMKT.js} +7 -6
  72. package/dist/chunk-SFQWJMKT.js.map +1 -0
  73. package/dist/{chunk-6BKTCEUP.cjs → chunk-TY3TLZAW.cjs} +36 -2
  74. package/dist/chunk-TY3TLZAW.cjs.map +1 -0
  75. package/dist/{chunk-DM3LMRBC.js → chunk-UKPGSAZW.js} +187 -61
  76. package/dist/chunk-UKPGSAZW.js.map +1 -0
  77. package/dist/{chunk-NH2O2AUR.js → chunk-WC5FFSHB.js} +26 -4
  78. package/dist/chunk-WC5FFSHB.js.map +1 -0
  79. package/dist/{chunk-CLL7RUQV.cjs → chunk-WWOLFXTX.cjs} +40 -18
  80. package/dist/chunk-WWOLFXTX.cjs.map +1 -0
  81. package/dist/{chunk-JBSYC7BB.cjs → chunk-X2BWAZAU.cjs} +66 -53
  82. package/dist/chunk-X2BWAZAU.cjs.map +1 -0
  83. package/dist/{chunk-GOLDJNMZ.js → chunk-XBTEO4OB.js} +28 -5
  84. package/dist/chunk-XBTEO4OB.js.map +1 -0
  85. package/dist/{chunk-EPOXXJBK.js → chunk-YU2CUNFO.js} +3 -3
  86. package/dist/{chunk-EPOXXJBK.js.map → chunk-YU2CUNFO.js.map} +1 -1
  87. package/dist/constants.cjs +4 -4
  88. package/dist/constants.js +1 -1
  89. package/dist/engine.cjs +29 -30
  90. package/dist/engine.d.cts +6 -6
  91. package/dist/engine.d.ts +6 -6
  92. package/dist/engine.js +19 -20
  93. package/dist/format.cjs +7 -8
  94. package/dist/format.cjs.map +1 -1
  95. package/dist/format.js +2 -3
  96. package/dist/format.js.map +1 -1
  97. package/dist/index.cjs +28 -29
  98. package/dist/index.cjs.map +1 -1
  99. package/dist/index.d.cts +6 -6
  100. package/dist/index.d.ts +6 -6
  101. package/dist/index.js +20 -21
  102. package/dist/index.js.map +1 -1
  103. package/dist/language.cjs +74 -12
  104. package/dist/language.cjs.map +1 -1
  105. package/dist/language.d.cts +6 -6
  106. package/dist/language.d.ts +6 -6
  107. package/dist/language.js +68 -6
  108. package/dist/language.js.map +1 -1
  109. package/dist/lexer.cjs +19 -19
  110. package/dist/lexer.d.cts +3 -3
  111. package/dist/lexer.d.ts +3 -3
  112. package/dist/lexer.js +7 -7
  113. package/dist/normalizer.cjs +12 -12
  114. package/dist/normalizer.d.cts +4 -210
  115. package/dist/normalizer.d.ts +4 -210
  116. package/dist/normalizer.js +6 -6
  117. package/dist/packages.cjs +36 -37
  118. package/dist/packages.d.cts +5 -47
  119. package/dist/packages.d.ts +5 -47
  120. package/dist/packages.js +13 -14
  121. package/dist/parser.cjs +12 -12
  122. package/dist/parser.d.cts +3 -2
  123. package/dist/parser.d.ts +3 -2
  124. package/dist/parser.js +4 -4
  125. package/dist/resolvers.d.cts +1 -1
  126. package/dist/resolvers.d.ts +1 -1
  127. package/dist/uom.cjs +14 -14
  128. package/dist/uom.d.cts +12 -4
  129. package/dist/uom.d.ts +12 -4
  130. package/dist/uom.js +4 -4
  131. package/dist/vm.cjs +17 -17
  132. package/dist/vm.js +6 -6
  133. package/package.json +2 -1
  134. package/dist/NormalizerRule-BrVoVjmP.d.cts +0 -163
  135. package/dist/NormalizerRule-CEjf1FyD.d.ts +0 -163
  136. package/dist/chunk-34RRD7PC.js.map +0 -1
  137. package/dist/chunk-3PPFLFH4.js.map +0 -1
  138. package/dist/chunk-3YNVWKR2.cjs.map +0 -1
  139. package/dist/chunk-4QADQTWS.js.map +0 -1
  140. package/dist/chunk-5YEMOYSE.js.map +0 -1
  141. package/dist/chunk-64W6GLLZ.js.map +0 -1
  142. package/dist/chunk-6BKTCEUP.cjs.map +0 -1
  143. package/dist/chunk-6NTVRDQV.cjs.map +0 -1
  144. package/dist/chunk-C4XZV6E7.cjs.map +0 -1
  145. package/dist/chunk-CLL7RUQV.cjs.map +0 -1
  146. package/dist/chunk-DM3LMRBC.js.map +0 -1
  147. package/dist/chunk-EBSPLUW4.cjs.map +0 -1
  148. package/dist/chunk-EIGTWK5N.js.map +0 -1
  149. package/dist/chunk-GOLDJNMZ.js.map +0 -1
  150. package/dist/chunk-GW32KPCU.cjs.map +0 -1
  151. package/dist/chunk-HTXVVJRA.cjs.map +0 -1
  152. package/dist/chunk-HWSZJQCI.js.map +0 -1
  153. package/dist/chunk-J73SJHR3.cjs.map +0 -1
  154. package/dist/chunk-JBSYC7BB.cjs.map +0 -1
  155. package/dist/chunk-KVILKGMS.js.map +0 -1
  156. package/dist/chunk-LR7YASZF.cjs.map +0 -1
  157. package/dist/chunk-M5LX5AOO.js.map +0 -1
  158. package/dist/chunk-NH2O2AUR.js.map +0 -1
  159. package/dist/chunk-NMCRQP3Z.cjs.map +0 -1
  160. package/dist/chunk-NMD5VRN4.cjs.map +0 -1
  161. package/dist/chunk-OT6OJY7C.cjs +0 -114
  162. package/dist/chunk-OT6OJY7C.cjs.map +0 -1
  163. package/dist/chunk-QNJ4ACRT.cjs.map +0 -1
  164. package/dist/chunk-QWY3VEZN.js.map +0 -1
  165. package/dist/chunk-RFYD5TJE.js +0 -111
  166. package/dist/chunk-RFYD5TJE.js.map +0 -1
  167. package/dist/chunk-RIN643A3.js.map +0 -1
  168. package/dist/chunk-RZCWSXTA.cjs.map +0 -1
  169. package/dist/chunk-SDGRK7EP.js.map +0 -1
  170. package/dist/chunk-XJCMXB2E.cjs.map +0 -1
  171. package/dist/chunk-XVWCOTR6.js.map +0 -1
@@ -1487,6 +1487,114 @@ function collectionToValues(v) {
1487
1487
  );
1488
1488
  }
1489
1489
 
1490
- export { COMPLEX_I, RATIONAL_ONE, RATIONAL_ZERO, callNode, cancelSymbolic, coefficientGcd, collectionToValues, columnMajorToRowMajor, compareMonomials, complex, complexNode, constNode, determinant, exactIntegerCbrt, exactIntegerSqrt, exactRationalSqrt2 as exactRationalSqrt, expandSymbolic, formatSymbolic, freeVariables, fromPolynomial, inBounds, inverse, isRationalOne, isRationalZero, isZeroPolynomial, matAt, matIndex, matrixCompare, matrixEntryToValue, matrixMultiply, monomialFromKey, monomialToKey, polyCoefficients, polyDegree, polyUnivariateVar, polynomialDivide, powNode, rationalAdd, rationalCompare, rationalDiv, rationalFromNumber, rationalMul, rationalNeg, rationalSub, rationalToNumber, rowMajorToColumnMajor, sameShape, signedSurdNode, simplifySymbolic, substitute, surdNode, symbolicKey, symbolicToEntry, toPolynomial, transpose, varNode };
1491
- //# sourceMappingURL=chunk-34RRD7PC.js.map
1492
- //# sourceMappingURL=chunk-34RRD7PC.js.map
1490
+ // src/uom/CurrencyAliases.ts
1491
+ var CURRENCY_SYMBOL_ALIASES = {
1492
+ "$": "USD",
1493
+ "\xA3": "GBP",
1494
+ "\u20AC": "EUR",
1495
+ // ¥ is genuinely ambiguous between JPY and CNY in real-world usage, JPY
1496
+ // is the conventional default (matches Numi/most calculator apps' own
1497
+ // choice); a user wanting CNY specifically can still type "CNY" directly.
1498
+ "\xA5": "JPY",
1499
+ "\u20BD": "RUB",
1500
+ "\u20A9": "KRW",
1501
+ "\u20B9": "INR",
1502
+ "\u20BA": "TRY",
1503
+ "\u20B4": "UAH",
1504
+ "\u20AA": "ILS",
1505
+ "\u20AB": "VND",
1506
+ "\u20A6": "NGN",
1507
+ "\u20B1": "PHP"
1508
+ };
1509
+ var CURRENCY_WORD_ALIASES = {
1510
+ dollar: "USD",
1511
+ dollars: "USD",
1512
+ euro: "EUR",
1513
+ euros: "EUR",
1514
+ yen: "JPY",
1515
+ ruble: "RUB",
1516
+ rubles: "RUB",
1517
+ rouble: "RUB",
1518
+ roubles: "RUB",
1519
+ won: "KRW",
1520
+ rupee: "INR",
1521
+ rupees: "INR",
1522
+ yuan: "CNY",
1523
+ renminbi: "CNY",
1524
+ franc: "CHF",
1525
+ francs: "CHF",
1526
+ rand: "ZAR",
1527
+ krona: "SEK",
1528
+ kronor: "SEK",
1529
+ krone: "NOK",
1530
+ kroner: "NOK",
1531
+ real: "BRL",
1532
+ reais: "BRL",
1533
+ peso: "MXN",
1534
+ pesos: "MXN",
1535
+ shekel: "ILS",
1536
+ shekels: "ILS",
1537
+ lira: "TRY",
1538
+ hryvnia: "UAH",
1539
+ hryvnias: "UAH",
1540
+ zloty: "PLN",
1541
+ zlotys: "PLN",
1542
+ forint: "HUF",
1543
+ koruna: "CZK",
1544
+ dirham: "AED",
1545
+ dirhams: "AED",
1546
+ riyal: "SAR",
1547
+ riyals: "SAR",
1548
+ rial: "SAR",
1549
+ rials: "SAR",
1550
+ ringgit: "MYR",
1551
+ rupiah: "IDR",
1552
+ baht: "THB",
1553
+ dong: "VND",
1554
+ naira: "NGN"
1555
+ };
1556
+ function resolveCurrencyAlias(text) {
1557
+ return CURRENCY_SYMBOL_ALIASES[text] ?? CURRENCY_WORD_ALIASES[text.toLowerCase()];
1558
+ }
1559
+ var CURRENCY_DISPLAY = {
1560
+ USD: { symbol: "$", position: "prefix", spaced: false },
1561
+ AUD: { symbol: "$", position: "prefix", spaced: false },
1562
+ CAD: { symbol: "$", position: "prefix", spaced: false },
1563
+ NZD: { symbol: "$", position: "prefix", spaced: false },
1564
+ HKD: { symbol: "$", position: "prefix", spaced: false },
1565
+ SGD: { symbol: "$", position: "prefix", spaced: false },
1566
+ MXN: { symbol: "$", position: "prefix", spaced: false },
1567
+ GBP: { symbol: "\xA3", position: "prefix", spaced: false },
1568
+ // English-language convention (€100.00), many EU locales instead suffix
1569
+ // with a space ("100,00 €"); this engine's default locale is "en", so
1570
+ // the English convention was chosen. A locale-aware override would be a
1571
+ // reasonable future extension, not attempted here.
1572
+ EUR: { symbol: "\u20AC", position: "prefix", spaced: false },
1573
+ JPY: { symbol: "\xA5", position: "prefix", spaced: false },
1574
+ CNY: { symbol: "\xA5", position: "prefix", spaced: false },
1575
+ KRW: { symbol: "\u20A9", position: "prefix", spaced: false },
1576
+ INR: { symbol: "\u20B9", position: "prefix", spaced: false },
1577
+ // Russian convention places the ruble sign AFTER the amount, with a space.
1578
+ RUB: { symbol: "\u20BD", position: "suffix", spaced: true },
1579
+ TRY: { symbol: "\u20BA", position: "prefix", spaced: false },
1580
+ UAH: { symbol: "\u20B4", position: "suffix", spaced: true },
1581
+ ILS: { symbol: "\u20AA", position: "prefix", spaced: false },
1582
+ // Vietnamese convention: no space, symbol after the amount.
1583
+ VND: { symbol: "\u20AB", position: "suffix", spaced: false },
1584
+ NGN: { symbol: "\u20A6", position: "prefix", spaced: false },
1585
+ PHP: { symbol: "\u20B1", position: "prefix", spaced: false },
1586
+ BRL: { symbol: "R$", position: "prefix", spaced: false },
1587
+ ZAR: { symbol: "R", position: "prefix", spaced: false },
1588
+ // Scandinavian convention: amount then "kr", space-separated.
1589
+ SEK: { symbol: "kr", position: "suffix", spaced: true },
1590
+ NOK: { symbol: "kr", position: "suffix", spaced: true },
1591
+ DKK: { symbol: "kr", position: "suffix", spaced: true },
1592
+ PLN: { symbol: "z\u0142", position: "suffix", spaced: true },
1593
+ CHF: { symbol: "Fr", position: "suffix", spaced: true },
1594
+ HUF: { symbol: "Ft", position: "suffix", spaced: true },
1595
+ CZK: { symbol: "K\u010D", position: "suffix", spaced: true }
1596
+ };
1597
+
1598
+ export { COMPLEX_I, CURRENCY_DISPLAY, RATIONAL_ONE, RATIONAL_ZERO, callNode, cancelSymbolic, coefficientGcd, collectionToValues, columnMajorToRowMajor, compareMonomials, complex, complexNode, constNode, determinant, exactIntegerCbrt, exactIntegerSqrt, exactRationalSqrt2 as exactRationalSqrt, expandSymbolic, formatSymbolic, freeVariables, fromPolynomial, inBounds, inverse, isRationalOne, isRationalZero, isZeroPolynomial, matAt, matIndex, matrixCompare, matrixEntryToValue, matrixMultiply, monomialFromKey, monomialToKey, polyCoefficients, polyDegree, polyUnivariateVar, polynomialDivide, powNode, rationalAdd, rationalCompare, rationalDiv, rationalFromNumber, rationalMul, rationalNeg, rationalSub, rationalToNumber, resolveCurrencyAlias, rowMajorToColumnMajor, sameShape, signedSurdNode, simplifySymbolic, substitute, surdNode, symbolicKey, symbolicToEntry, toPolynomial, transpose, varNode };
1599
+ //# sourceMappingURL=chunk-CYFK5SY2.js.map
1600
+ //# sourceMappingURL=chunk-CYFK5SY2.js.map