solve-engine 1.1.1 → 2.0.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 (395) hide show
  1. package/README.md +12 -17
  2. package/dist/{BytecodeBuilder-Bp9xeTmX.d.cts → BytecodeBuilder-DGGeByAP.d.cts} +18 -0
  3. package/dist/{BytecodeBuilder-Bp9xeTmX.d.ts → BytecodeBuilder-DGGeByAP.d.ts} +18 -0
  4. package/dist/{Configuration-C9W8tJv_.d.cts → Configuration-B6W0-T67.d.cts} +17 -4
  5. package/dist/{Configuration-C9W8tJv_.d.ts → Configuration-B6W0-T67.d.ts} +17 -4
  6. package/dist/{EngineError-B61GS1jp.d.cts → EngineError-Ce1lPkjZ.d.cts} +8 -0
  7. package/dist/{EngineError-B61GS1jp.d.ts → EngineError-Ce1lPkjZ.d.ts} +8 -0
  8. package/dist/{Lexer-BOs7euZe.d.cts → Lexer-B4C1qHXu.d.cts} +1 -1
  9. package/dist/{Lexer-CSI_lwbW.d.ts → Lexer-DKMlj7Sy.d.ts} +1 -1
  10. package/dist/{PackageCompatibility-B-7rK1TD.d.cts → PackageCompatibility-Bn5jnBtA.d.cts} +2 -2
  11. package/dist/{PackageCompatibility-Dh59eF-X.d.ts → PackageCompatibility-CIvq2MP5.d.ts} +2 -2
  12. package/dist/{PackageRegistry-_8rDlvxI.d.ts → PackageRegistry-DzeiWcv4.d.ts} +143 -175
  13. package/dist/{PackageRegistry-BHWJP83F.d.cts → PackageRegistry-dpdurBVO.d.cts} +143 -175
  14. package/dist/{Parselet-BBT8riYh.d.ts → Parselet-B-zoPrTa.d.ts} +9 -6
  15. package/dist/{Parselet-BHcgK9S7.d.cts → Parselet-C4Wu055_.d.cts} +9 -6
  16. package/dist/{ScopeManager-CxA24W5n.d.ts → ScopeManager-C2LDOrDx.d.ts} +14 -16
  17. package/dist/{ScopeManager-8vf02dwj.d.cts → ScopeManager-D7uMXbhS.d.cts} +14 -16
  18. package/dist/{Token-B1hdkedD.d.cts → Token-CbP_OutD.d.cts} +9 -0
  19. package/dist/{Token-B1hdkedD.d.ts → Token-CbP_OutD.d.ts} +9 -0
  20. package/dist/{TokenNormalizer-C6VzZgHa.d.ts → TokenNormalizer-DCWdZjGz.d.ts} +1 -1
  21. package/dist/{TokenNormalizer-DRc1Js1V.d.cts → TokenNormalizer-DnlL7_8c.d.cts} +1 -1
  22. package/dist/{VMCheckpoints-MK--EBH2.d.ts → VMCheckpoints-CGyFhivM.d.ts} +3 -3
  23. package/dist/{VMCheckpoints-ELYqITdF.d.cts → VMCheckpoints-I9jg3jWR.d.cts} +3 -3
  24. package/dist/{Value-BUi1RA3S.d.cts → Value-CCi_Eecs.d.cts} +72 -5
  25. package/dist/{Value-BUi1RA3S.d.ts → Value-CCi_Eecs.d.ts} +72 -5
  26. package/dist/{WorkerError-gzmaopj2.d.cts → WorkerError-B4p6PNfx.d.cts} +1 -1
  27. package/dist/{WorkerError-_-RkoQ5P.d.ts → WorkerError-Dhj9BQ_A.d.ts} +1 -1
  28. package/dist/chunk-2JMFUQZH.js +2 -0
  29. package/dist/chunk-2JMFUQZH.js.map +1 -0
  30. package/dist/chunk-2RWAXT6O.js +0 -1
  31. package/dist/chunk-4BZIYU7S.cjs +3 -0
  32. package/dist/chunk-4BZIYU7S.cjs.map +1 -0
  33. package/dist/chunk-4J7XZSZJ.cjs +5 -0
  34. package/dist/chunk-4J7XZSZJ.cjs.map +1 -0
  35. package/dist/chunk-4QVBSG6B.cjs +2 -0
  36. package/dist/chunk-4QVBSG6B.cjs.map +1 -0
  37. package/dist/chunk-5IJD5L3O.cjs +2 -0
  38. package/dist/chunk-5IJD5L3O.cjs.map +1 -0
  39. package/dist/chunk-62LMTO4F.js +2 -0
  40. package/dist/chunk-62LMTO4F.js.map +1 -0
  41. package/dist/chunk-6CY44ZPG.js +2 -0
  42. package/dist/chunk-6CY44ZPG.js.map +1 -0
  43. package/dist/chunk-6G3PMEPA.js +2 -0
  44. package/dist/chunk-6G3PMEPA.js.map +1 -0
  45. package/dist/chunk-6INX773F.cjs +2 -0
  46. package/dist/chunk-6INX773F.cjs.map +1 -0
  47. package/dist/chunk-6KFVG6UY.cjs +2 -0
  48. package/dist/chunk-6KFVG6UY.cjs.map +1 -0
  49. package/dist/chunk-76F3LCIL.js +4 -0
  50. package/dist/chunk-76F3LCIL.js.map +1 -0
  51. package/dist/chunk-7GK3XEZF.js +2 -0
  52. package/dist/chunk-7GK3XEZF.js.map +1 -0
  53. package/dist/chunk-APN442VD.cjs +2 -0
  54. package/dist/chunk-APN442VD.cjs.map +1 -0
  55. package/dist/chunk-AXMQG5TS.cjs +2 -0
  56. package/dist/chunk-AXMQG5TS.cjs.map +1 -0
  57. package/dist/chunk-CIQOK7Q4.cjs +2 -0
  58. package/dist/chunk-CIQOK7Q4.cjs.map +1 -0
  59. package/dist/chunk-E6Z4NQAS.js +2 -0
  60. package/dist/chunk-E6Z4NQAS.js.map +1 -0
  61. package/dist/chunk-EFJCC6FJ.cjs +2 -0
  62. package/dist/chunk-EFJCC6FJ.cjs.map +1 -0
  63. package/dist/chunk-ESUN2THE.cjs +2 -0
  64. package/dist/chunk-ESUN2THE.cjs.map +1 -0
  65. package/dist/chunk-EVAOPEO4.js +2 -0
  66. package/dist/chunk-EVAOPEO4.js.map +1 -0
  67. package/dist/chunk-EYRBENHC.js +3 -0
  68. package/dist/chunk-EYRBENHC.js.map +1 -0
  69. package/dist/chunk-FDE5HWDI.cjs +2 -0
  70. package/dist/chunk-FDE5HWDI.cjs.map +1 -0
  71. package/dist/chunk-FWW3M36J.cjs +2 -0
  72. package/dist/chunk-FWW3M36J.cjs.map +1 -0
  73. package/dist/chunk-GOIQYUWV.js +2 -0
  74. package/dist/chunk-GOIQYUWV.js.map +1 -0
  75. package/dist/chunk-HFKDWQUL.js +2 -0
  76. package/dist/chunk-HFKDWQUL.js.map +1 -0
  77. package/dist/chunk-HLBYHXQD.cjs +3 -0
  78. package/dist/chunk-HLBYHXQD.cjs.map +1 -0
  79. package/dist/chunk-IANAMBJQ.cjs +2 -0
  80. package/dist/chunk-IANAMBJQ.cjs.map +1 -0
  81. package/dist/chunk-IJMNVBIS.js +2 -0
  82. package/dist/chunk-IJMNVBIS.js.map +1 -0
  83. package/dist/chunk-J4LZD4ZY.js +3 -0
  84. package/dist/chunk-J4LZD4ZY.js.map +1 -0
  85. package/dist/chunk-JAK3RAFA.cjs +2 -0
  86. package/dist/chunk-JAK3RAFA.cjs.map +1 -0
  87. package/dist/chunk-JFAJN3C2.cjs +2 -0
  88. package/dist/chunk-JFAJN3C2.cjs.map +1 -0
  89. package/dist/chunk-JPFCXLJV.js +2 -0
  90. package/dist/chunk-JPFCXLJV.js.map +1 -0
  91. package/dist/chunk-JSPKKNPQ.js +3 -0
  92. package/dist/chunk-JSPKKNPQ.js.map +1 -0
  93. package/dist/chunk-L3FPQSGN.js +2 -0
  94. package/dist/chunk-L3FPQSGN.js.map +1 -0
  95. package/dist/chunk-LR4E4A4W.cjs +2 -0
  96. package/dist/chunk-LR4E4A4W.cjs.map +1 -0
  97. package/dist/chunk-MIQBJGGR.js +2 -0
  98. package/dist/chunk-MIQBJGGR.js.map +1 -0
  99. package/dist/chunk-MPB7KUN5.js +3 -0
  100. package/dist/chunk-MPB7KUN5.js.map +1 -0
  101. package/dist/chunk-MSYX32PF.cjs +2 -0
  102. package/dist/chunk-MSYX32PF.cjs.map +1 -0
  103. package/dist/chunk-MVZUTETT.js +2 -0
  104. package/dist/chunk-MVZUTETT.js.map +1 -0
  105. package/dist/chunk-N7N7MPMK.cjs +2 -0
  106. package/dist/chunk-N7N7MPMK.cjs.map +1 -0
  107. package/dist/chunk-NGBBNL4K.cjs +1 -3
  108. package/dist/chunk-P6WPEUAJ.cjs +2 -0
  109. package/dist/chunk-P6WPEUAJ.cjs.map +1 -0
  110. package/dist/chunk-PS272DZJ.cjs +2 -0
  111. package/dist/chunk-PS272DZJ.cjs.map +1 -0
  112. package/dist/chunk-QXQE7X4S.js +2 -0
  113. package/dist/chunk-QXQE7X4S.js.map +1 -0
  114. package/dist/chunk-R2ENWQ76.js +2 -0
  115. package/dist/chunk-R2ENWQ76.js.map +1 -0
  116. package/dist/chunk-R2SZFJTT.cjs +2 -0
  117. package/dist/chunk-R2SZFJTT.cjs.map +1 -0
  118. package/dist/chunk-RAF57WYO.js +2 -0
  119. package/dist/chunk-RAF57WYO.js.map +1 -0
  120. package/dist/chunk-RSF25YSJ.js +2 -0
  121. package/dist/chunk-RSF25YSJ.js.map +1 -0
  122. package/dist/chunk-SOMGSIO4.cjs +3 -0
  123. package/dist/chunk-SOMGSIO4.cjs.map +1 -0
  124. package/dist/chunk-SUXRZWH2.cjs +3 -0
  125. package/dist/chunk-SUXRZWH2.cjs.map +1 -0
  126. package/dist/chunk-SYYE3QAX.cjs +2 -0
  127. package/dist/chunk-SYYE3QAX.cjs.map +1 -0
  128. package/dist/chunk-SZGK6RIP.cjs +2 -0
  129. package/dist/chunk-SZGK6RIP.cjs.map +1 -0
  130. package/dist/chunk-TCZSPH4A.js +2 -0
  131. package/dist/chunk-TCZSPH4A.js.map +1 -0
  132. package/dist/chunk-TLG7VZRX.cjs +2 -0
  133. package/dist/chunk-TLG7VZRX.cjs.map +1 -0
  134. package/dist/chunk-TRBXW6HW.js +2 -0
  135. package/dist/{chunk-AQNHHJMJ.cjs.map → chunk-TRBXW6HW.js.map} +1 -1
  136. package/dist/chunk-TTFO4YDP.cjs +2 -0
  137. package/dist/chunk-TTFO4YDP.cjs.map +1 -0
  138. package/dist/chunk-TWC7K3ZX.js +2 -0
  139. package/dist/chunk-TWC7K3ZX.js.map +1 -0
  140. package/dist/chunk-UDQ57ZRX.cjs +2 -0
  141. package/dist/chunk-UDQ57ZRX.cjs.map +1 -0
  142. package/dist/chunk-UI6IFGBT.js +2 -0
  143. package/dist/chunk-UI6IFGBT.js.map +1 -0
  144. package/dist/chunk-UURM7P3P.cjs +4 -0
  145. package/dist/chunk-UURM7P3P.cjs.map +1 -0
  146. package/dist/chunk-W2JAR233.js +2 -0
  147. package/dist/chunk-W2JAR233.js.map +1 -0
  148. package/dist/chunk-WGZ3FNHI.js +2 -0
  149. package/dist/chunk-WGZ3FNHI.js.map +1 -0
  150. package/dist/chunk-WN5CMP4T.cjs +3 -0
  151. package/dist/chunk-WN5CMP4T.cjs.map +1 -0
  152. package/dist/chunk-XEIDV5JP.js +2 -0
  153. package/dist/chunk-XEIDV5JP.js.map +1 -0
  154. package/dist/chunk-XNIWQHXY.js +2 -0
  155. package/dist/chunk-XNIWQHXY.js.map +1 -0
  156. package/dist/chunk-XR7HEC7B.js +5 -0
  157. package/dist/chunk-XR7HEC7B.js.map +1 -0
  158. package/dist/chunk-Y7O4D3BJ.cjs +2 -0
  159. package/dist/chunk-Y7O4D3BJ.cjs.map +1 -0
  160. package/dist/chunk-YAYBVVG2.js +3 -0
  161. package/dist/chunk-YAYBVVG2.js.map +1 -0
  162. package/dist/chunk-YJ2OPULK.js +2 -0
  163. package/dist/chunk-YJ2OPULK.js.map +1 -0
  164. package/dist/chunk-YVKHEAFT.js +2 -0
  165. package/dist/chunk-YVKHEAFT.js.map +1 -0
  166. package/dist/chunk-ZCNBT44X.cjs +2 -0
  167. package/dist/chunk-ZCNBT44X.cjs.map +1 -0
  168. package/dist/chunk-ZLRJ7TDP.cjs +2 -0
  169. package/dist/chunk-ZLRJ7TDP.cjs.map +1 -0
  170. package/dist/constants.cjs +1 -21
  171. package/dist/constants.d.cts +1 -1
  172. package/dist/constants.d.ts +1 -1
  173. package/dist/constants.js +1 -4
  174. package/dist/engine.cjs +1 -94
  175. package/dist/engine.d.cts +29 -14
  176. package/dist/engine.d.ts +29 -14
  177. package/dist/engine.js +1 -37
  178. package/dist/errors.cjs +1 -105
  179. package/dist/errors.d.cts +3 -3
  180. package/dist/errors.d.ts +3 -3
  181. package/dist/errors.js +1 -4
  182. package/dist/format.cjs +1 -26
  183. package/dist/format.d.cts +2 -2
  184. package/dist/format.d.ts +2 -2
  185. package/dist/format.js +1 -9
  186. package/dist/index.cjs +1 -314
  187. package/dist/index.cjs.map +1 -1
  188. package/dist/index.d.cts +55 -23
  189. package/dist/index.d.ts +55 -23
  190. package/dist/index.js +1 -278
  191. package/dist/index.js.map +1 -1
  192. package/dist/language.cjs +1 -369
  193. package/dist/language.cjs.map +1 -1
  194. package/dist/language.d.cts +12 -13
  195. package/dist/language.d.ts +12 -13
  196. package/dist/language.js +1 -348
  197. package/dist/language.js.map +1 -1
  198. package/dist/lexer.cjs +1 -63
  199. package/dist/lexer.d.cts +3 -3
  200. package/dist/lexer.d.ts +3 -3
  201. package/dist/lexer.js +1 -10
  202. package/dist/normalizer.cjs +1 -39
  203. package/dist/normalizer.d.cts +3 -3
  204. package/dist/normalizer.d.ts +3 -3
  205. package/dist/normalizer.js +1 -10
  206. package/dist/packages.cjs +1 -128
  207. package/dist/packages.d.cts +39 -14
  208. package/dist/packages.d.ts +39 -14
  209. package/dist/packages.js +1 -23
  210. package/dist/parser.cjs +1 -54
  211. package/dist/parser.d.cts +9 -9
  212. package/dist/parser.d.ts +9 -9
  213. package/dist/parser.js +1 -9
  214. package/dist/{pipeline-CtfJtPQc.d.cts → pipeline-72QmQlGx.d.ts} +3 -3
  215. package/dist/{pipeline-DCd5M6Gk.d.ts → pipeline-DCQicwWX.d.cts} +3 -3
  216. package/dist/resolvers.cjs +1 -12
  217. package/dist/resolvers.d.cts +3 -3
  218. package/dist/resolvers.d.ts +3 -3
  219. package/dist/resolvers.js +1 -3
  220. package/dist/services.cjs +1 -20
  221. package/dist/services.js +1 -3
  222. package/dist/testing.cjs +3 -477
  223. package/dist/testing.cjs.map +1 -1
  224. package/dist/testing.d.cts +12 -13
  225. package/dist/testing.d.ts +12 -13
  226. package/dist/testing.js +3 -469
  227. package/dist/testing.js.map +1 -1
  228. package/dist/uom.cjs +1 -55
  229. package/dist/uom.d.cts +3 -3
  230. package/dist/uom.d.ts +3 -3
  231. package/dist/uom.js +1 -10
  232. package/dist/utilities.cjs +1 -36
  233. package/dist/utilities.js +1 -7
  234. package/dist/vm.cjs +1 -295
  235. package/dist/vm.cjs.map +1 -1
  236. package/dist/vm.d.cts +22 -10
  237. package/dist/vm.d.ts +22 -10
  238. package/dist/vm.js +1 -193
  239. package/dist/vm.js.map +1 -1
  240. package/dist/worker.cjs +2 -492
  241. package/dist/worker.cjs.map +1 -1
  242. package/dist/worker.d.cts +19 -20
  243. package/dist/worker.d.ts +19 -20
  244. package/dist/worker.js +2 -483
  245. package/dist/worker.js.map +1 -1
  246. package/package.json +1 -13
  247. package/dist/chunk-267JPOTF.js +0 -406
  248. package/dist/chunk-267JPOTF.js.map +0 -1
  249. package/dist/chunk-2TZKENDH.cjs +0 -448
  250. package/dist/chunk-2TZKENDH.cjs.map +0 -1
  251. package/dist/chunk-3BOK2LDK.js +0 -17
  252. package/dist/chunk-3BOK2LDK.js.map +0 -1
  253. package/dist/chunk-3OWCDIPN.js +0 -215
  254. package/dist/chunk-3OWCDIPN.js.map +0 -1
  255. package/dist/chunk-3VGDNEE3.js +0 -84
  256. package/dist/chunk-3VGDNEE3.js.map +0 -1
  257. package/dist/chunk-4D6NIHE2.js +0 -451
  258. package/dist/chunk-4D6NIHE2.js.map +0 -1
  259. package/dist/chunk-4HQKTMWG.js +0 -7985
  260. package/dist/chunk-4HQKTMWG.js.map +0 -1
  261. package/dist/chunk-536WPM2V.cjs +0 -283
  262. package/dist/chunk-536WPM2V.cjs.map +0 -1
  263. package/dist/chunk-5HRB36DK.js +0 -405
  264. package/dist/chunk-5HRB36DK.js.map +0 -1
  265. package/dist/chunk-5ON7PUAZ.js +0 -12
  266. package/dist/chunk-5ON7PUAZ.js.map +0 -1
  267. package/dist/chunk-7KYSUDQO.js +0 -109
  268. package/dist/chunk-7KYSUDQO.js.map +0 -1
  269. package/dist/chunk-7ZX6B7SY.cjs +0 -3222
  270. package/dist/chunk-7ZX6B7SY.cjs.map +0 -1
  271. package/dist/chunk-ADBA3XBE.cjs +0 -20
  272. package/dist/chunk-ADBA3XBE.cjs.map +0 -1
  273. package/dist/chunk-ALYRJ72W.cjs +0 -434
  274. package/dist/chunk-ALYRJ72W.cjs.map +0 -1
  275. package/dist/chunk-AMOJYLG2.cjs +0 -1692
  276. package/dist/chunk-AMOJYLG2.cjs.map +0 -1
  277. package/dist/chunk-AQNHHJMJ.cjs +0 -261
  278. package/dist/chunk-B4HBEFTB.cjs +0 -375
  279. package/dist/chunk-B4HBEFTB.cjs.map +0 -1
  280. package/dist/chunk-B7LXJ6LC.cjs +0 -36
  281. package/dist/chunk-B7LXJ6LC.cjs.map +0 -1
  282. package/dist/chunk-B7NLZMQ3.cjs +0 -74
  283. package/dist/chunk-B7NLZMQ3.cjs.map +0 -1
  284. package/dist/chunk-BLI4NIQY.js +0 -98
  285. package/dist/chunk-BLI4NIQY.js.map +0 -1
  286. package/dist/chunk-BYJBUL7U.js +0 -499
  287. package/dist/chunk-BYJBUL7U.js.map +0 -1
  288. package/dist/chunk-CCBZZQAE.js +0 -312
  289. package/dist/chunk-CCBZZQAE.js.map +0 -1
  290. package/dist/chunk-CKQMXMHR.cjs +0 -219
  291. package/dist/chunk-CKQMXMHR.cjs.map +0 -1
  292. package/dist/chunk-CUR2WLI4.cjs +0 -507
  293. package/dist/chunk-CUR2WLI4.cjs.map +0 -1
  294. package/dist/chunk-DLEBSLF4.js +0 -336
  295. package/dist/chunk-DLEBSLF4.js.map +0 -1
  296. package/dist/chunk-E23GZEWL.cjs +0 -209
  297. package/dist/chunk-E23GZEWL.cjs.map +0 -1
  298. package/dist/chunk-EJ3ILXX6.cjs +0 -223
  299. package/dist/chunk-EJ3ILXX6.cjs.map +0 -1
  300. package/dist/chunk-ENKKJYD3.js +0 -333
  301. package/dist/chunk-ENKKJYD3.js.map +0 -1
  302. package/dist/chunk-ENRIK36Q.cjs +0 -94
  303. package/dist/chunk-ENRIK36Q.cjs.map +0 -1
  304. package/dist/chunk-ERCOHGXD.js +0 -356
  305. package/dist/chunk-ERCOHGXD.js.map +0 -1
  306. package/dist/chunk-FD5ZZHEU.js +0 -92
  307. package/dist/chunk-FD5ZZHEU.js.map +0 -1
  308. package/dist/chunk-FEAIOR7N.cjs +0 -91
  309. package/dist/chunk-FEAIOR7N.cjs.map +0 -1
  310. package/dist/chunk-GCM5JHMX.js +0 -88
  311. package/dist/chunk-GCM5JHMX.js.map +0 -1
  312. package/dist/chunk-GLA4JXBO.js +0 -204
  313. package/dist/chunk-GLA4JXBO.js.map +0 -1
  314. package/dist/chunk-HIQ5HSZL.cjs +0 -1923
  315. package/dist/chunk-HIQ5HSZL.cjs.map +0 -1
  316. package/dist/chunk-HVRVSI2Z.cjs +0 -829
  317. package/dist/chunk-HVRVSI2Z.cjs.map +0 -1
  318. package/dist/chunk-I4GAWIPW.js +0 -825
  319. package/dist/chunk-I4GAWIPW.js.map +0 -1
  320. package/dist/chunk-J45BCEZ4.cjs +0 -339
  321. package/dist/chunk-J45BCEZ4.cjs.map +0 -1
  322. package/dist/chunk-JG6ZJ2WU.js +0 -1513
  323. package/dist/chunk-JG6ZJ2WU.js.map +0 -1
  324. package/dist/chunk-L2TE7PMO.cjs +0 -14
  325. package/dist/chunk-L2TE7PMO.cjs.map +0 -1
  326. package/dist/chunk-LHZ6VOA7.js +0 -1764
  327. package/dist/chunk-LHZ6VOA7.js.map +0 -1
  328. package/dist/chunk-MN3LHRGV.cjs +0 -8012
  329. package/dist/chunk-MN3LHRGV.cjs.map +0 -1
  330. package/dist/chunk-MVTOCRV2.js +0 -213
  331. package/dist/chunk-MVTOCRV2.js.map +0 -1
  332. package/dist/chunk-N5NNW4VG.cjs +0 -341
  333. package/dist/chunk-N5NNW4VG.cjs.map +0 -1
  334. package/dist/chunk-N7FNVFXW.cjs +0 -32
  335. package/dist/chunk-N7FNVFXW.cjs.map +0 -1
  336. package/dist/chunk-NKW7LKYU.js +0 -3185
  337. package/dist/chunk-NKW7LKYU.js.map +0 -1
  338. package/dist/chunk-NLNDMWZC.js +0 -31
  339. package/dist/chunk-NLNDMWZC.js.map +0 -1
  340. package/dist/chunk-NNQ2TYDF.js +0 -1848
  341. package/dist/chunk-NNQ2TYDF.js.map +0 -1
  342. package/dist/chunk-NNZAEUDW.js +0 -6792
  343. package/dist/chunk-NNZAEUDW.js.map +0 -1
  344. package/dist/chunk-OUHT5Z36.cjs +0 -393
  345. package/dist/chunk-OUHT5Z36.cjs.map +0 -1
  346. package/dist/chunk-QFTDTX6K.cjs +0 -457
  347. package/dist/chunk-QFTDTX6K.cjs.map +0 -1
  348. package/dist/chunk-SBUFNJVE.js +0 -258
  349. package/dist/chunk-SBUFNJVE.js.map +0 -1
  350. package/dist/chunk-SRGQ72IR.cjs +0 -2800
  351. package/dist/chunk-SRGQ72IR.cjs.map +0 -1
  352. package/dist/chunk-SSV46KFA.cjs +0 -112
  353. package/dist/chunk-SSV46KFA.cjs.map +0 -1
  354. package/dist/chunk-T6ZYQJ63.cjs +0 -6807
  355. package/dist/chunk-T6ZYQJ63.cjs.map +0 -1
  356. package/dist/chunk-UKQHXPGW.js +0 -30
  357. package/dist/chunk-UKQHXPGW.js.map +0 -1
  358. package/dist/chunk-UO6BUV6K.js +0 -278
  359. package/dist/chunk-UO6BUV6K.js.map +0 -1
  360. package/dist/chunk-V4XG5QF6.js +0 -1685
  361. package/dist/chunk-V4XG5QF6.js.map +0 -1
  362. package/dist/chunk-VEKIWQ3F.cjs +0 -39
  363. package/dist/chunk-VEKIWQ3F.cjs.map +0 -1
  364. package/dist/chunk-WWQEY7BV.js +0 -67
  365. package/dist/chunk-WWQEY7BV.js.map +0 -1
  366. package/dist/chunk-WXEHD6TT.js +0 -2795
  367. package/dist/chunk-WXEHD6TT.js.map +0 -1
  368. package/dist/chunk-X6K3HUOY.cjs +0 -86
  369. package/dist/chunk-X6K3HUOY.cjs.map +0 -1
  370. package/dist/chunk-XA4CKRML.cjs +0 -316
  371. package/dist/chunk-XA4CKRML.cjs.map +0 -1
  372. package/dist/chunk-XBTEO4OB.js +0 -391
  373. package/dist/chunk-XBTEO4OB.js.map +0 -1
  374. package/dist/chunk-XIYYHA65.cjs +0 -101
  375. package/dist/chunk-XIYYHA65.cjs.map +0 -1
  376. package/dist/chunk-YLJ4XMA6.js +0 -33
  377. package/dist/chunk-YLJ4XMA6.js.map +0 -1
  378. package/dist/chunk-YRIKITGF.cjs +0 -1768
  379. package/dist/chunk-YRIKITGF.cjs.map +0 -1
  380. package/dist/chunk-Z2XP767T.cjs +0 -35
  381. package/dist/chunk-Z2XP767T.cjs.map +0 -1
  382. package/dist/chunk-Z4X2RWOF.js +0 -37
  383. package/dist/chunk-Z4X2RWOF.js.map +0 -1
  384. package/dist/chunk-Z7XGGLI2.js +0 -455
  385. package/dist/chunk-Z7XGGLI2.js.map +0 -1
  386. package/dist/chunk-ZMW6NU2K.cjs +0 -1516
  387. package/dist/chunk-ZMW6NU2K.cjs.map +0 -1
  388. package/dist/chunk-ZVTWQLK4.cjs +0 -459
  389. package/dist/chunk-ZVTWQLK4.cjs.map +0 -1
  390. package/dist/variables.cjs +0 -17
  391. package/dist/variables.cjs.map +0 -1
  392. package/dist/variables.d.cts +0 -87
  393. package/dist/variables.d.ts +0 -87
  394. package/dist/variables.js +0 -4
  395. package/dist/variables.js.map +0 -1
@@ -1,393 +0,0 @@
1
- 'use strict';
2
-
3
- // src/constants/locales/en.ts
4
- var enLocale = {
5
- code: "en",
6
- label: "English",
7
- keywordMap: {
8
- pi: "PI",
9
- e: "E",
10
- plus: "PLUS",
11
- add: "PLUS",
12
- and: "AND_CONJ",
13
- with: "PLUS",
14
- minus: "MINUS",
15
- subtract: "MINUS",
16
- remove: "MINUS",
17
- take: "MINUS",
18
- without: "MINUS",
19
- times: "STAR",
20
- multiply: "STAR",
21
- mul: "STAR",
22
- divide: "SLASH",
23
- modulo: "MOD",
24
- mod: "MOD",
25
- exponent: "CARET",
26
- prime: "CARET",
27
- xor: "BIT_XOR",
28
- of: "OF",
29
- now: "NOW",
30
- today: "TODAY",
31
- tomorrow: "TOMORROW",
32
- yesterday: "YESTERDAY",
33
- roll: "ROLL",
34
- sqrt: "FUNC",
35
- abs: "FUNC",
36
- sin: "FUNC",
37
- cos: "FUNC",
38
- tan: "FUNC",
39
- log: "FUNC",
40
- ceil: "FUNC",
41
- floor: "FUNC",
42
- round: "FUNC",
43
- min: "FUNC",
44
- max: "FUNC",
45
- asin: "FUNC",
46
- acos: "FUNC",
47
- atan: "FUNC",
48
- atan2: "FUNC",
49
- // Long-form aliases for asin/acos/atan (Numi/older-calculator naming
50
- // convention). Same FunctionCallParselet indices, not new behavior.
51
- arcsin: "FUNC",
52
- arccos: "FUNC",
53
- arctan: "FUNC",
54
- sinh: "FUNC",
55
- cosh: "FUNC",
56
- tanh: "FUNC",
57
- asinh: "FUNC",
58
- acosh: "FUNC",
59
- atanh: "FUNC",
60
- cbrt: "FUNC",
61
- clz32: "FUNC",
62
- expm1: "FUNC",
63
- exp: "FUNC",
64
- // root(n, x) -- n-th root; fact/factorial(n) -- factorial. Bare FUNC
65
- // keywords, matching gcd/lcm/cbrt's precedent above (technical,
66
- // call-syntax-only names, not plausible :variableName choices).
67
- root: "FUNC",
68
- fact: "FUNC",
69
- factorial: "FUNC",
70
- fround: "FUNC",
71
- hypot: "FUNC",
72
- imul: "FUNC",
73
- sind: "FUNC",
74
- cosd: "FUNC",
75
- tand: "FUNC",
76
- asind: "FUNC",
77
- acosd: "FUNC",
78
- atand: "FUNC",
79
- log10: "FUNC",
80
- log1p: "FUNC",
81
- log2: "FUNC",
82
- pow: "FUNC",
83
- random: "FUNC",
84
- sign: "FUNC",
85
- trunc: "FUNC",
86
- degtorad: "FUNC",
87
- radtodeg: "FUNC",
88
- gcd: "FUNC",
89
- lcm: "FUNC",
90
- permutation: "FUNC",
91
- combination: "FUNC",
92
- // hex/bin double as CONVERTER_NAME below ("255 as hex") AND as FUNC
93
- // call-syntax ("hex(255)"), a word can only have one lexer token
94
- // type, so these win FUNC (removed from the CONVERTER_NAME list
95
- // below) and AsConverterParselet.ts's "as <name>" check was widened
96
- // to also accept a FUNC-typed token, preserving "as hex"/"as bin"
97
- // unchanged. See AsConverterParselet.ts's class doc for the full
98
- // reasoning.
99
- hex: "FUNC",
100
- bin: "FUNC",
101
- int: "FUNC",
102
- // Finance (packages/finance/) function-call forms. Bare keywords, not
103
- // phrase-fused, these are camelCase call-only names (e.g.
104
- // "compoundInterest(...)"), not natural-language words a user would
105
- // plausibly choose as a variable name, so the bare-keyword collision
106
- // risk that blocks "interest"/"tax"/"principal" etc. doesn't apply here
107
- // (matches "gcd"/"lcm"/... above, not "clamp" below).
108
- compoundinterest: "FUNC",
109
- interestearned: "FUNC",
110
- compoundinterestrate: "FUNC",
111
- compoundinterestyears: "FUNC",
112
- loanrepayment: "FUNC",
113
- loaninterest: "FUNC",
114
- monthlypayment: "FUNC",
115
- taxadd: "FUNC",
116
- taxremove: "FUNC",
117
- // Inflation-adjusted value function-call form (packages/finance/).
118
- inflationadjust: "FUNC",
119
- // Matrix (packages/matrix/) function-call forms -- also reachable via
120
- // `^T`/`^-1` operator syntax and `|a|` (see FunctionCallParselet.ts's
121
- // builtinNameToIndex comment for indices 63-66).
122
- transpose: "FUNC",
123
- det: "FUNC",
124
- inv: "FUNC",
125
- dot: "FUNC",
126
- // map/reduce/sum/prod (packages/mapreduce/) are NOT bare keywordMap
127
- // entries. See packages/mapreduce/normalizer/MapReduceCallNormalizerRule.ts
128
- // which fuses them ONLY when immediately followed by "(" (same
129
- // "conditional-on-LPAREN" pattern as packages/lines/'s own
130
- // sum(/total(/average( fusion), so `:map = [...]`/`:sum = 100`/etc.
131
- // keep working as ordinary variable names.
132
- clamp: "CLAMP",
133
- // `into` is a third spelling of the conversion operator, alongside `to` and
134
- // `in`. It reads better before a unit than either ("300 cm into m"), and
135
- // costs nothing: it is not a plausible variable name and has no other
136
- // meaning in the grammar.
137
- convert: "CONVERT",
138
- to: "TO",
139
- best: "BEST",
140
- in: "IN",
141
- into: "IN",
142
- next: "NEXT",
143
- last: "LAST",
144
- until: "UNTIL",
145
- since: "SINCE",
146
- sunday: "SUNDAY",
147
- monday: "MONDAY",
148
- tuesday: "TUESDAY",
149
- wednesday: "WEDNESDAY",
150
- thursday: "THURSDAY",
151
- friday: "FRIDAY",
152
- saturday: "SATURDAY",
153
- between: "BETWEEN",
154
- from: "FROM",
155
- increase: "INCREASE",
156
- decrease: "DECREASE",
157
- // Finance (packages/finance/) phrase-grammar connectors. Bare
158
- // prepositions, same accepted-risk category as "between"/"from" above
159
- // see Token.ts's OVER/RATE_AT doc comment.
160
- over: "OVER",
161
- at: "RATE_AT",
162
- // Only "rounded". Bare "round" is already the round(x) function above.
163
- rounded: "ROUNDED",
164
- is: "IS",
165
- // The investment grammar (packages/finance/). See Token.ts.
166
- after: "AFTER",
167
- for: "FOR_DURATION",
168
- compounding: "COMPOUNDING",
169
- invested: "INVESTED",
170
- returned: "RETURNED",
171
- by: "BY",
172
- vec2: "VEC2",
173
- vec3: "VEC3",
174
- vec4: "VEC4",
175
- float: "FLOAT",
176
- global: "GLOBAL",
177
- or: "OR",
178
- true: "TRUE",
179
- false: "FALSE",
180
- if: "IF",
181
- then: "THEN",
182
- else: "ELSE",
183
- as: "AS",
184
- percent: "CONVERTER_NAME",
185
- percentage: "CONVERTER_NAME",
186
- decimal: "CONVERTER_NAME",
187
- dec: "CONVERTER_NAME",
188
- number: "CONVERTER_NAME",
189
- fraction: "CONVERTER_NAME",
190
- multiplier: "CONVERTER_NAME",
191
- sci: "CONVERTER_NAME",
192
- scientific: "CONVERTER_NAME",
193
- // hex/bin are FUNC (see above), not CONVERTER_NAME, "as hex"/"as bin"
194
- // still work via AsConverterParselet.ts's widened token-type check.
195
- binary: "CONVERTER_NAME",
196
- octal: "CONVERTER_NAME",
197
- oct: "CONVERTER_NAME"
198
- },
199
- display: {
200
- resultPrefix: "= ",
201
- dateFormat: "default",
202
- decimalSeparator: ".",
203
- thousandsSeparator: ",",
204
- vectorFormat: "[{values}]",
205
- percentageSuffix: "%"
206
- }
207
- };
208
-
209
- // src/constants/locales/de.ts
210
- var deLocale = {
211
- code: "de",
212
- label: "Deutsch",
213
- keywordMap: {
214
- pi: "PI",
215
- e: "E",
216
- plus: "PLUS",
217
- add: "PLUS",
218
- und: "AND_CONJ",
219
- minus: "MINUS",
220
- subtract: "MINUS",
221
- entfernen: "MINUS",
222
- nehmen: "MINUS",
223
- mal: "STAR",
224
- multiplizieren: "STAR",
225
- teilen: "SLASH",
226
- modulo: "MOD",
227
- mod: "MOD",
228
- exponent: "CARET",
229
- potenz: "CARET",
230
- von: "OF",
231
- jetzt: "NOW",
232
- heute: "TODAY",
233
- morgen: "TOMORROW",
234
- gestern: "YESTERDAY",
235
- rollen: "ROLL",
236
- wurzel: "FUNC",
237
- abs: "FUNC",
238
- sin: "FUNC",
239
- cos: "FUNC",
240
- tan: "FUNC",
241
- log: "FUNC",
242
- aufrunden: "FUNC",
243
- abrunden: "FUNC",
244
- runden: "FUNC",
245
- min: "FUNC",
246
- max: "FUNC",
247
- asin: "FUNC",
248
- acos: "FUNC",
249
- atan: "FUNC",
250
- atan2: "FUNC",
251
- sinh: "FUNC",
252
- cosh: "FUNC",
253
- tanh: "FUNC",
254
- asinh: "FUNC",
255
- acosh: "FUNC",
256
- atanh: "FUNC",
257
- kubikwurzel: "FUNC",
258
- clz32: "FUNC",
259
- expm1: "FUNC",
260
- exp: "FUNC",
261
- fround: "FUNC",
262
- hypot: "FUNC",
263
- imul: "FUNC",
264
- log10: "FUNC",
265
- log1p: "FUNC",
266
- log2: "FUNC",
267
- pow: "FUNC",
268
- zufall: "FUNC",
269
- zeichen: "FUNC",
270
- ganzzahl: "FUNC",
271
- degtorad: "FUNC",
272
- radtodeg: "FUNC",
273
- konvertieren: "CONVERT",
274
- in: "TO",
275
- amBesten: "BEST",
276
- naechste: "NEXT",
277
- letzte: "LAST",
278
- bis: "UNTIL",
279
- seit: "SINCE",
280
- sonntag: "SUNDAY",
281
- montag: "MONDAY",
282
- dienstag: "TUESDAY",
283
- mittwoch: "WEDNESDAY",
284
- donnerstag: "THURSDAY",
285
- freitag: "FRIDAY",
286
- samstag: "SATURDAY",
287
- zwischen: "BETWEEN",
288
- von_ab: "FROM",
289
- erhoehen: "INCREASE",
290
- verringern: "DECREASE",
291
- vec2: "VEC2",
292
- vec3: "VEC3",
293
- vec4: "VEC4"
294
- },
295
- display: {
296
- resultPrefix: "= ",
297
- dateFormat: "default",
298
- decimalSeparator: ",",
299
- thousandsSeparator: ".",
300
- vectorFormat: "[{values}]",
301
- percentageSuffix: "%"
302
- }
303
- };
304
-
305
- // src/constants/locales/fr.ts
306
- var frLocale = {
307
- code: "fr",
308
- label: "Fran\xE7ais",
309
- keywordMap: {
310
- pi: "PI",
311
- e: "E",
312
- plus: "PLUS",
313
- ajouter: "PLUS",
314
- et: "AND_CONJ",
315
- moins: "MINUS",
316
- soustraire: "MINUS",
317
- enlever: "MINUS",
318
- fois: "STAR",
319
- multiplier: "STAR",
320
- diviser: "SLASH",
321
- modulo: "MOD",
322
- mod: "MOD",
323
- exposant: "CARET",
324
- puissance: "CARET",
325
- xor: "BIT_XOR",
326
- maintenant: "NOW",
327
- // "aujourd'hui". See this file's own doc comment for why the
328
- // apostrophe is dropped here.
329
- aujourdhui: "TODAY",
330
- demain: "TOMORROW",
331
- hier: "YESTERDAY",
332
- lancer: "ROLL",
333
- // Same spellings as English on purpose, not a translation gap: the
334
- // FUNC token's NAME is looked up in a separate, locale-independent
335
- // dispatch table (FunctionCallParselet.ts's builtinNameToIndex) that
336
- // only knows English names, "racine" (root) would lex fine as a
337
- // FUNC token via this keywordMap but then fail at call time with
338
- // "Unknown function", so it's deliberately left out rather than
339
- // shipped half-working. Widening that dispatch table to be
340
- // locale-aware is a separate, larger change (it would need the same
341
- // fix for German too, "wurzel" has this identical problem today).
342
- abs: "FUNC",
343
- sin: "FUNC",
344
- cos: "FUNC",
345
- tan: "FUNC",
346
- log: "FUNC",
347
- min: "FUNC",
348
- max: "FUNC",
349
- convertir: "CONVERT",
350
- prochain: "NEXT",
351
- dernier: "LAST",
352
- dimanche: "SUNDAY",
353
- lundi: "MONDAY",
354
- mardi: "TUESDAY",
355
- mercredi: "WEDNESDAY",
356
- jeudi: "THURSDAY",
357
- vendredi: "FRIDAY",
358
- samedi: "SATURDAY",
359
- entre: "BETWEEN",
360
- augmenter: "INCREASE",
361
- diminuer: "DECREASE",
362
- vec2: "VEC2",
363
- vec3: "VEC3",
364
- vec4: "VEC4",
365
- vrai: "TRUE",
366
- faux: "FALSE",
367
- si: "IF",
368
- alors: "THEN",
369
- sinon: "ELSE"
370
- },
371
- display: {
372
- resultPrefix: "= ",
373
- dateFormat: "default",
374
- decimalSeparator: ",",
375
- thousandsSeparator: " ",
376
- vectorFormat: "[{values}]",
377
- percentageSuffix: "%"
378
- }
379
- };
380
-
381
- // src/constants/locales/index.ts
382
- var locales = {
383
- en: enLocale,
384
- de: deLocale,
385
- fr: frLocale
386
- };
387
- function getLocale(code) {
388
- return locales[code] || enLocale;
389
- }
390
-
391
- exports.getLocale = getLocale;
392
- //# sourceMappingURL=chunk-OUHT5Z36.cjs.map
393
- //# sourceMappingURL=chunk-OUHT5Z36.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/constants/locales/en.ts","../src/constants/locales/de.ts","../src/constants/locales/fr.ts","../src/constants/locales/index.ts"],"names":[],"mappings":"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","file":"chunk-OUHT5Z36.cjs","sourcesContent":["/** What a locale supplies: keywords, units, and number formatting conventions. */\nexport interface ILocale {\n code: string;\n label: string;\n keywordMap: Record<string, string>;\n display: {\n resultPrefix: string;\n dateFormat: string;\n decimalSeparator: string;\n thousandsSeparator: string;\n vectorFormat: string;\n percentageSuffix: string;\n };\n}\n\n/** English keywords, units and number formatting. The default and the fallback. */\nexport const enLocale: ILocale = {\n code: \"en\",\n label: \"English\",\n keywordMap: {\n pi: \"PI\", e: \"E\",\n plus: \"PLUS\", add: \"PLUS\", and: \"AND_CONJ\", with: \"PLUS\",\n minus: \"MINUS\", subtract: \"MINUS\", remove: \"MINUS\", take: \"MINUS\",\n without: \"MINUS\",\n times: \"STAR\", multiply: \"STAR\", mul: \"STAR\",\n divide: \"SLASH\",\n modulo: \"MOD\", mod: \"MOD\",\n exponent: \"CARET\", prime: \"CARET\",\n xor: \"BIT_XOR\",\n of: \"OF\",\n now: \"NOW\", today: \"TODAY\", tomorrow: \"TOMORROW\", yesterday: \"YESTERDAY\",\n roll: \"ROLL\",\n sqrt: \"FUNC\", abs: \"FUNC\", sin: \"FUNC\", cos: \"FUNC\", tan: \"FUNC\",\n log: \"FUNC\", ceil: \"FUNC\", floor: \"FUNC\", round: \"FUNC\", min: \"FUNC\", max: \"FUNC\",\n asin: \"FUNC\", acos: \"FUNC\", atan: \"FUNC\", atan2: \"FUNC\",\n // Long-form aliases for asin/acos/atan (Numi/older-calculator naming\n // convention). Same FunctionCallParselet indices, not new behavior.\n arcsin: \"FUNC\", arccos: \"FUNC\", arctan: \"FUNC\",\n sinh: \"FUNC\", cosh: \"FUNC\", tanh: \"FUNC\",\n asinh: \"FUNC\", acosh: \"FUNC\", atanh: \"FUNC\",\n cbrt: \"FUNC\", clz32: \"FUNC\", expm1: \"FUNC\", exp: \"FUNC\",\n // root(n, x) -- n-th root; fact/factorial(n) -- factorial. Bare FUNC\n // keywords, matching gcd/lcm/cbrt's precedent above (technical,\n // call-syntax-only names, not plausible :variableName choices).\n root: \"FUNC\", fact: \"FUNC\", factorial: \"FUNC\",\n fround: \"FUNC\", hypot: \"FUNC\", imul: \"FUNC\",\n sind: \"FUNC\", cosd: \"FUNC\", tand: \"FUNC\",\n asind: \"FUNC\", acosd: \"FUNC\", atand: \"FUNC\",\n log10: \"FUNC\", log1p: \"FUNC\", log2: \"FUNC\",\n pow: \"FUNC\", random: \"FUNC\", sign: \"FUNC\", trunc: \"FUNC\",\n degtorad: \"FUNC\", radtodeg: \"FUNC\",\n gcd: \"FUNC\", lcm: \"FUNC\", permutation: \"FUNC\", combination: \"FUNC\",\n // hex/bin double as CONVERTER_NAME below (\"255 as hex\") AND as FUNC\n // call-syntax (\"hex(255)\"), a word can only have one lexer token\n // type, so these win FUNC (removed from the CONVERTER_NAME list\n // below) and AsConverterParselet.ts's \"as <name>\" check was widened\n // to also accept a FUNC-typed token, preserving \"as hex\"/\"as bin\"\n // unchanged. See AsConverterParselet.ts's class doc for the full\n // reasoning.\n hex: \"FUNC\", bin: \"FUNC\", int: \"FUNC\",\n // Finance (packages/finance/) function-call forms. Bare keywords, not\n // phrase-fused, these are camelCase call-only names (e.g.\n // \"compoundInterest(...)\"), not natural-language words a user would\n // plausibly choose as a variable name, so the bare-keyword collision\n // risk that blocks \"interest\"/\"tax\"/\"principal\" etc. doesn't apply here\n // (matches \"gcd\"/\"lcm\"/... above, not \"clamp\" below).\n compoundinterest: \"FUNC\", interestearned: \"FUNC\",\n compoundinterestrate: \"FUNC\", compoundinterestyears: \"FUNC\",\n loanrepayment: \"FUNC\", loaninterest: \"FUNC\", monthlypayment: \"FUNC\",\n taxadd: \"FUNC\", taxremove: \"FUNC\",\n // Inflation-adjusted value function-call form (packages/finance/).\n inflationadjust: \"FUNC\",\n // Matrix (packages/matrix/) function-call forms -- also reachable via\n // `^T`/`^-1` operator syntax and `|a|` (see FunctionCallParselet.ts's\n // builtinNameToIndex comment for indices 63-66).\n transpose: \"FUNC\", det: \"FUNC\", inv: \"FUNC\", dot: \"FUNC\",\n // map/reduce/sum/prod (packages/mapreduce/) are NOT bare keywordMap\n // entries. See packages/mapreduce/normalizer/MapReduceCallNormalizerRule.ts\n // which fuses them ONLY when immediately followed by \"(\" (same\n // \"conditional-on-LPAREN\" pattern as packages/lines/'s own\n // sum(/total(/average( fusion), so `:map = [...]`/`:sum = 100`/etc.\n // keep working as ordinary variable names.\n clamp: \"CLAMP\",\n // `into` is a third spelling of the conversion operator, alongside `to` and\n // `in`. It reads better before a unit than either (\"300 cm into m\"), and\n // costs nothing: it is not a plausible variable name and has no other\n // meaning in the grammar.\n convert: \"CONVERT\", to: \"TO\", best: \"BEST\", in: \"IN\", into: \"IN\",\n next: \"NEXT\", last: \"LAST\", until: \"UNTIL\", since: \"SINCE\",\n sunday: \"SUNDAY\", monday: \"MONDAY\", tuesday: \"TUESDAY\", wednesday: \"WEDNESDAY\",\n thursday: \"THURSDAY\", friday: \"FRIDAY\", saturday: \"SATURDAY\",\n between: \"BETWEEN\", from: \"FROM\",\n increase: \"INCREASE\", decrease: \"DECREASE\",\n // Finance (packages/finance/) phrase-grammar connectors. Bare\n // prepositions, same accepted-risk category as \"between\"/\"from\" above\n // see Token.ts's OVER/RATE_AT doc comment.\n over: \"OVER\", at: \"RATE_AT\",\n // Only \"rounded\". Bare \"round\" is already the round(x) function above.\n rounded: \"ROUNDED\",\n is: \"IS\",\n // The investment grammar (packages/finance/). See Token.ts.\n after: \"AFTER\", for: \"FOR_DURATION\", compounding: \"COMPOUNDING\",\n invested: \"INVESTED\", returned: \"RETURNED\",\n by: \"BY\",\n vec2: \"VEC2\", vec3: \"VEC3\", vec4: \"VEC4\",\n float: \"FLOAT\",\n global: \"GLOBAL\",\n or: \"OR\",\n true: \"TRUE\", false: \"FALSE\",\n if: \"IF\", then: \"THEN\", else: \"ELSE\",\n as: \"AS\",\n percent: \"CONVERTER_NAME\", percentage: \"CONVERTER_NAME\",\n decimal: \"CONVERTER_NAME\", dec: \"CONVERTER_NAME\", number: \"CONVERTER_NAME\",\n fraction: \"CONVERTER_NAME\",\n multiplier: \"CONVERTER_NAME\",\n sci: \"CONVERTER_NAME\", scientific: \"CONVERTER_NAME\",\n // hex/bin are FUNC (see above), not CONVERTER_NAME, \"as hex\"/\"as bin\"\n // still work via AsConverterParselet.ts's widened token-type check.\n binary: \"CONVERTER_NAME\",\n octal: \"CONVERTER_NAME\", oct: \"CONVERTER_NAME\",\n },\n display: {\n resultPrefix: \"= \",\n dateFormat: \"default\",\n decimalSeparator: \".\",\n thousandsSeparator: \",\",\n vectorFormat: \"[{values}]\",\n percentageSuffix: \"%\",\n },\n};\n","import { ILocale } from \"./en\";\n\n/** German keywords, units and number formatting. */\nexport const deLocale: ILocale = {\n code: \"de\",\n label: \"Deutsch\",\n keywordMap: {\n pi: \"PI\", e: \"E\",\n plus: \"PLUS\", add: \"PLUS\", und: \"AND_CONJ\",\n minus: \"MINUS\", subtract: \"MINUS\", entfernen: \"MINUS\", nehmen: \"MINUS\",\n mal: \"STAR\", multiplizieren: \"STAR\",\n teilen: \"SLASH\",\n modulo: \"MOD\", mod: \"MOD\",\n exponent: \"CARET\", potenz: \"CARET\",\n von: \"OF\",\n jetzt: \"NOW\", heute: \"TODAY\", morgen: \"TOMORROW\", gestern: \"YESTERDAY\",\n rollen: \"ROLL\",\n wurzel: \"FUNC\", abs: \"FUNC\", sin: \"FUNC\", cos: \"FUNC\", tan: \"FUNC\",\n log: \"FUNC\", aufrunden: \"FUNC\", abrunden: \"FUNC\", runden: \"FUNC\", min: \"FUNC\", max: \"FUNC\",\n asin: \"FUNC\", acos: \"FUNC\", atan: \"FUNC\", atan2: \"FUNC\",\n sinh: \"FUNC\", cosh: \"FUNC\", tanh: \"FUNC\",\n asinh: \"FUNC\", acosh: \"FUNC\", atanh: \"FUNC\",\n kubikwurzel: \"FUNC\", clz32: \"FUNC\", expm1: \"FUNC\", exp: \"FUNC\",\n fround: \"FUNC\", hypot: \"FUNC\", imul: \"FUNC\",\n log10: \"FUNC\", log1p: \"FUNC\", log2: \"FUNC\",\n pow: \"FUNC\", zufall: \"FUNC\", zeichen: \"FUNC\", ganzzahl: \"FUNC\",\n degtorad: \"FUNC\", radtodeg: \"FUNC\",\n konvertieren: \"CONVERT\", in: \"TO\", amBesten: \"BEST\",\n naechste: \"NEXT\", letzte: \"LAST\", bis: \"UNTIL\", seit: \"SINCE\",\n sonntag: \"SUNDAY\", montag: \"MONDAY\", dienstag: \"TUESDAY\", mittwoch: \"WEDNESDAY\",\n donnerstag: \"THURSDAY\", freitag: \"FRIDAY\", samstag: \"SATURDAY\",\n zwischen: \"BETWEEN\",\n von_ab: \"FROM\",\n erhoehen: \"INCREASE\", verringern: \"DECREASE\",\n vec2: \"VEC2\", vec3: \"VEC3\", vec4: \"VEC4\",\n },\n display: {\n resultPrefix: \"= \",\n dateFormat: \"default\",\n decimalSeparator: \",\",\n thousandsSeparator: \".\",\n vectorFormat: \"[{values}]\",\n percentageSuffix: \"%\",\n },\n};","import { ILocale } from \"./en\";\n\n/**\n * French locale. See GitHub issue #77 (\"Please allow for localized day\n * of the week\"). Matches `de.ts`'s scope, not `en.ts`'s full coverage: a\n * confident, reviewed core set (arithmetic words, date keywords, weekday\n * names, a handful of common functions), not a guess at every FUNC/phrase\n * keyword across every package. Widening this is a good first issue for\n * a native French speaker, PRs welcome, same as this project's existing\n * convention for locale gaps.\n *\n * \"aujourd'hui\" (today) is deliberately spelled without its apostrophe\n * here (`aujourdhui`), `ExpressionLexer`'s identifier reader only\n * accepts `[a-zA-Z_][a-zA-Z0-9_]*` plus Unicode, so the standard spelling\n * can't lex as a single IDENT token at all. This is a real, disclosed\n * limitation, not a translation choice, anyone typing the standard\n * apostrophed spelling won't get a match today.\n */\nexport const frLocale: ILocale = {\n code: \"fr\",\n label: \"Français\",\n keywordMap: {\n pi: \"PI\", e: \"E\",\n plus: \"PLUS\", ajouter: \"PLUS\", et: \"AND_CONJ\",\n moins: \"MINUS\", soustraire: \"MINUS\", enlever: \"MINUS\",\n fois: \"STAR\", multiplier: \"STAR\",\n diviser: \"SLASH\",\n modulo: \"MOD\", mod: \"MOD\",\n exposant: \"CARET\", puissance: \"CARET\",\n xor: \"BIT_XOR\",\n maintenant: \"NOW\",\n // \"aujourd'hui\". See this file's own doc comment for why the\n // apostrophe is dropped here.\n aujourdhui: \"TODAY\",\n demain: \"TOMORROW\", hier: \"YESTERDAY\",\n lancer: \"ROLL\",\n // Same spellings as English on purpose, not a translation gap: the\n // FUNC token's NAME is looked up in a separate, locale-independent\n // dispatch table (FunctionCallParselet.ts's builtinNameToIndex) that\n // only knows English names, \"racine\" (root) would lex fine as a\n // FUNC token via this keywordMap but then fail at call time with\n // \"Unknown function\", so it's deliberately left out rather than\n // shipped half-working. Widening that dispatch table to be\n // locale-aware is a separate, larger change (it would need the same\n // fix for German too, \"wurzel\" has this identical problem today).\n abs: \"FUNC\", sin: \"FUNC\", cos: \"FUNC\", tan: \"FUNC\",\n log: \"FUNC\", min: \"FUNC\", max: \"FUNC\",\n convertir: \"CONVERT\",\n prochain: \"NEXT\", dernier: \"LAST\",\n dimanche: \"SUNDAY\", lundi: \"MONDAY\", mardi: \"TUESDAY\", mercredi: \"WEDNESDAY\",\n jeudi: \"THURSDAY\", vendredi: \"FRIDAY\", samedi: \"SATURDAY\",\n entre: \"BETWEEN\",\n augmenter: \"INCREASE\", diminuer: \"DECREASE\",\n vec2: \"VEC2\", vec3: \"VEC3\", vec4: \"VEC4\",\n vrai: \"TRUE\", faux: \"FALSE\",\n si: \"IF\", alors: \"THEN\", sinon: \"ELSE\",\n },\n display: {\n resultPrefix: \"= \",\n dateFormat: \"default\",\n decimalSeparator: \",\",\n thousandsSeparator: \" \",\n vectorFormat: \"[{values}]\",\n percentageSuffix: \"%\",\n },\n};\n","import { enLocale, type ILocale } from \"./en\";\nimport { deLocale } from \"./de\";\nimport { frLocale } from \"./fr\";\n\nconst locales: Record<string, ILocale> = {\n en: enLocale,\n de: deLocale,\n fr: frLocale,\n};\n\n/**\n * Look up a locale by code.\n *\n * @param code - Locale code, for example `\"en\"` or `\"de\"`.\n * @returns The locale, or English when the code is unknown. Falling back\n * rather than throwing means an unrecognised code degrades to a working engine\n * instead of a dead one.\n */\nexport function getLocale(code: string): ILocale {\n return locales[code] || enLocale;\n}\n\n/**\n * Add a locale, or replace one already registered under the same code.\n *\n * @param code - Locale code to register under.\n * @param locale - Keywords, units and formatting for that locale.\n */\nexport function registerLocale(code: string, locale: ILocale): void {\n locales[code] = locale;\n}\n\nexport { enLocale, deLocale, frLocale, type ILocale };"]}