@ricsam/formula-engine 0.2.2 → 0.2.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 (337) hide show
  1. package/dist/cjs/core/ast-traverser.cjs +19 -9
  2. package/dist/cjs/core/ast-traverser.cjs.map +2 -2
  3. package/dist/cjs/core/autofill-utils.cjs +19 -9
  4. package/dist/cjs/core/autofill-utils.cjs.map +2 -2
  5. package/dist/cjs/core/cell-mover.cjs +19 -9
  6. package/dist/cjs/core/cell-mover.cjs.map +2 -2
  7. package/dist/cjs/core/commands/command-executor.cjs +24 -13
  8. package/dist/cjs/core/commands/command-executor.cjs.map +3 -3
  9. package/dist/cjs/core/commands/content-commands.cjs +292 -9
  10. package/dist/cjs/core/commands/content-commands.cjs.map +3 -3
  11. package/dist/cjs/core/commands/metadata-commands.cjs +19 -9
  12. package/dist/cjs/core/commands/metadata-commands.cjs.map +2 -2
  13. package/dist/cjs/core/commands/named-expression-commands.cjs +138 -13
  14. package/dist/cjs/core/commands/named-expression-commands.cjs.map +3 -3
  15. package/dist/cjs/core/commands/structure-commands.cjs +216 -15
  16. package/dist/cjs/core/commands/structure-commands.cjs.map +3 -3
  17. package/dist/cjs/core/commands/style-commands.cjs +19 -9
  18. package/dist/cjs/core/commands/style-commands.cjs.map +2 -2
  19. package/dist/cjs/core/commands/table-commands.cjs +134 -13
  20. package/dist/cjs/core/commands/table-commands.cjs.map +3 -3
  21. package/dist/cjs/core/commands/types.cjs +36 -9
  22. package/dist/cjs/core/commands/types.cjs.map +3 -3
  23. package/dist/cjs/core/engine-snapshot.cjs +51 -0
  24. package/dist/cjs/core/engine-snapshot.cjs.map +10 -0
  25. package/dist/cjs/core/engine.cjs +51 -34
  26. package/dist/cjs/core/engine.cjs.map +3 -3
  27. package/dist/cjs/core/managers/cache-manager.cjs +123 -9
  28. package/dist/cjs/core/managers/cache-manager.cjs.map +3 -3
  29. package/dist/cjs/core/managers/copy-manager.cjs +19 -9
  30. package/dist/cjs/core/managers/copy-manager.cjs.map +2 -2
  31. package/dist/cjs/core/managers/dependency-manager.cjs +697 -9
  32. package/dist/cjs/core/managers/dependency-manager.cjs.map +3 -3
  33. package/dist/cjs/core/managers/dependency-node.cjs +14 -8
  34. package/dist/cjs/core/managers/dependency-node.cjs.map +1 -1
  35. package/dist/cjs/core/managers/evaluation-manager.cjs +296 -11
  36. package/dist/cjs/core/managers/evaluation-manager.cjs.map +3 -3
  37. package/dist/cjs/core/managers/event-manager.cjs +19 -9
  38. package/dist/cjs/core/managers/event-manager.cjs.map +2 -2
  39. package/dist/cjs/core/managers/frontier-dependency-manager.cjs +65 -12
  40. package/dist/cjs/core/managers/frontier-dependency-manager.cjs.map +3 -3
  41. package/dist/cjs/core/managers/isDependencyNode.cjs +19 -9
  42. package/dist/cjs/core/managers/isDependencyNode.cjs.map +2 -2
  43. package/dist/cjs/core/managers/named-expression-manager.cjs +121 -29
  44. package/dist/cjs/core/managers/named-expression-manager.cjs.map +3 -3
  45. package/dist/cjs/core/managers/range-eval-order-builder.cjs +19 -9
  46. package/dist/cjs/core/managers/range-eval-order-builder.cjs.map +2 -2
  47. package/dist/cjs/core/managers/reference-manager.cjs +25 -9
  48. package/dist/cjs/core/managers/reference-manager.cjs.map +3 -3
  49. package/dist/cjs/core/managers/schema-manager.cjs +19 -9
  50. package/dist/cjs/core/managers/schema-manager.cjs.map +2 -2
  51. package/dist/cjs/core/managers/style-manager.cjs +28 -9
  52. package/dist/cjs/core/managers/style-manager.cjs.map +3 -3
  53. package/dist/cjs/core/managers/table-manager.cjs +27 -11
  54. package/dist/cjs/core/managers/table-manager.cjs.map +3 -3
  55. package/dist/cjs/core/managers/workbook-manager.cjs +38 -13
  56. package/dist/cjs/core/managers/workbook-manager.cjs.map +3 -3
  57. package/dist/cjs/core/map-serializer.cjs +19 -9
  58. package/dist/cjs/core/map-serializer.cjs.map +2 -2
  59. package/dist/cjs/core/named-expression-renamer.cjs +19 -9
  60. package/dist/cjs/core/named-expression-renamer.cjs.map +2 -2
  61. package/dist/cjs/core/resource-keys.cjs +67 -0
  62. package/dist/cjs/core/resource-keys.cjs.map +10 -0
  63. package/dist/cjs/core/schema/cell-orm.cjs +19 -9
  64. package/dist/cjs/core/schema/cell-orm.cjs.map +2 -2
  65. package/dist/cjs/core/schema/grid-orm.cjs +19 -9
  66. package/dist/cjs/core/schema/grid-orm.cjs.map +2 -2
  67. package/dist/cjs/core/schema/schema-builder.cjs +19 -9
  68. package/dist/cjs/core/schema/schema-builder.cjs.map +2 -2
  69. package/dist/cjs/core/schema/schema-helpers.cjs +19 -9
  70. package/dist/cjs/core/schema/schema-helpers.cjs.map +2 -2
  71. package/dist/cjs/core/schema/schema.cjs +19 -9
  72. package/dist/cjs/core/schema/schema.cjs.map +2 -2
  73. package/dist/cjs/core/schema/table-orm.cjs +19 -9
  74. package/dist/cjs/core/schema/table-orm.cjs.map +2 -2
  75. package/dist/cjs/core/sheet-renamer.cjs +19 -9
  76. package/dist/cjs/core/sheet-renamer.cjs.map +2 -2
  77. package/dist/cjs/core/sheet-utils.cjs +19 -9
  78. package/dist/cjs/core/sheet-utils.cjs.map +2 -2
  79. package/dist/cjs/core/table-renamer.cjs +19 -9
  80. package/dist/cjs/core/table-renamer.cjs.map +2 -2
  81. package/dist/cjs/core/types.cjs +19 -9
  82. package/dist/cjs/core/types.cjs.map +2 -2
  83. package/dist/cjs/core/utils/color-utils.cjs +19 -9
  84. package/dist/cjs/core/utils/color-utils.cjs.map +2 -2
  85. package/dist/cjs/core/utils/range-serializer.cjs +19 -9
  86. package/dist/cjs/core/utils/range-serializer.cjs.map +2 -2
  87. package/dist/cjs/core/utils/range-utils.cjs +19 -9
  88. package/dist/cjs/core/utils/range-utils.cjs.map +2 -2
  89. package/dist/cjs/core/utils/spreadsheet-visualizer.cjs +19 -9
  90. package/dist/cjs/core/utils/spreadsheet-visualizer.cjs.map +2 -2
  91. package/dist/cjs/core/utils.cjs +19 -9
  92. package/dist/cjs/core/utils.cjs.map +2 -2
  93. package/dist/cjs/core/workbook-renamer.cjs +19 -9
  94. package/dist/cjs/core/workbook-renamer.cjs.map +2 -2
  95. package/dist/cjs/debug/flags.cjs +19 -9
  96. package/dist/cjs/debug/flags.cjs.map +2 -2
  97. package/dist/cjs/evaluator/arithmetic/add/add.cjs +19 -9
  98. package/dist/cjs/evaluator/arithmetic/add/add.cjs.map +2 -2
  99. package/dist/cjs/evaluator/arithmetic/divide/divide.cjs +19 -9
  100. package/dist/cjs/evaluator/arithmetic/divide/divide.cjs.map +2 -2
  101. package/dist/cjs/evaluator/arithmetic/multiply/multiply.cjs +19 -9
  102. package/dist/cjs/evaluator/arithmetic/multiply/multiply.cjs.map +2 -2
  103. package/dist/cjs/evaluator/arithmetic/power/power.cjs +19 -9
  104. package/dist/cjs/evaluator/arithmetic/power/power.cjs.map +2 -2
  105. package/dist/cjs/evaluator/arithmetic/subtract/subtract.cjs +19 -9
  106. package/dist/cjs/evaluator/arithmetic/subtract/subtract.cjs.map +2 -2
  107. package/dist/cjs/evaluator/comparison/equals.cjs +19 -9
  108. package/dist/cjs/evaluator/comparison/equals.cjs.map +2 -2
  109. package/dist/cjs/evaluator/comparison/greater-than-or-equal.cjs +19 -9
  110. package/dist/cjs/evaluator/comparison/greater-than-or-equal.cjs.map +2 -2
  111. package/dist/cjs/evaluator/comparison/greater-than.cjs +19 -9
  112. package/dist/cjs/evaluator/comparison/greater-than.cjs.map +2 -2
  113. package/dist/cjs/evaluator/comparison/less-than-or-equal.cjs +19 -9
  114. package/dist/cjs/evaluator/comparison/less-than-or-equal.cjs.map +2 -2
  115. package/dist/cjs/evaluator/comparison/less-than.cjs +19 -9
  116. package/dist/cjs/evaluator/comparison/less-than.cjs.map +2 -2
  117. package/dist/cjs/evaluator/comparison/not-equals.cjs +19 -9
  118. package/dist/cjs/evaluator/comparison/not-equals.cjs.map +2 -2
  119. package/dist/cjs/evaluator/concatenation/concatenate.cjs +19 -9
  120. package/dist/cjs/evaluator/concatenation/concatenate.cjs.map +2 -2
  121. package/dist/cjs/evaluator/dependency-nodes/ast-evaluation-node.cjs +19 -9
  122. package/dist/cjs/evaluator/dependency-nodes/ast-evaluation-node.cjs.map +2 -2
  123. package/dist/cjs/evaluator/dependency-nodes/base-eval-node.cjs +35 -9
  124. package/dist/cjs/evaluator/dependency-nodes/base-eval-node.cjs.map +3 -3
  125. package/dist/cjs/evaluator/dependency-nodes/cell-value-node.cjs +22 -9
  126. package/dist/cjs/evaluator/dependency-nodes/cell-value-node.cjs.map +3 -3
  127. package/dist/cjs/evaluator/dependency-nodes/empty-cell-evaluation-node.cjs +35 -11
  128. package/dist/cjs/evaluator/dependency-nodes/empty-cell-evaluation-node.cjs.map +3 -3
  129. package/dist/cjs/evaluator/dependency-nodes/resource-dependency-node.cjs +61 -0
  130. package/dist/cjs/evaluator/dependency-nodes/resource-dependency-node.cjs.map +10 -0
  131. package/dist/cjs/evaluator/dependency-nodes/spill-meta-node.cjs +19 -9
  132. package/dist/cjs/evaluator/dependency-nodes/spill-meta-node.cjs.map +2 -2
  133. package/dist/cjs/evaluator/dependency-nodes/virtual-cell-value-node.cjs +22 -9
  134. package/dist/cjs/evaluator/dependency-nodes/virtual-cell-value-node.cjs.map +3 -3
  135. package/dist/cjs/evaluator/evaluate-scalar-operator.cjs +19 -9
  136. package/dist/cjs/evaluator/evaluate-scalar-operator.cjs.map +2 -2
  137. package/dist/cjs/evaluator/evaluation-context.cjs +19 -9
  138. package/dist/cjs/evaluator/evaluation-context.cjs.map +2 -2
  139. package/dist/cjs/evaluator/evaluation-error.cjs +19 -9
  140. package/dist/cjs/evaluator/evaluation-error.cjs.map +2 -2
  141. package/dist/cjs/evaluator/formula-evaluator.cjs +55 -12
  142. package/dist/cjs/evaluator/formula-evaluator.cjs.map +3 -3
  143. package/dist/cjs/evaluator/range-evaluation-node.cjs +35 -11
  144. package/dist/cjs/evaluator/range-evaluation-node.cjs.map +3 -3
  145. package/dist/cjs/functions/_template/template.cjs +19 -9
  146. package/dist/cjs/functions/_template/template.cjs.map +2 -2
  147. package/dist/cjs/functions/array/sequence/sequence.cjs +19 -9
  148. package/dist/cjs/functions/array/sequence/sequence.cjs.map +2 -2
  149. package/dist/cjs/functions/criteria-parser.cjs +19 -9
  150. package/dist/cjs/functions/criteria-parser.cjs.map +2 -2
  151. package/dist/cjs/functions/criteria-utils.cjs +19 -9
  152. package/dist/cjs/functions/criteria-utils.cjs.map +2 -2
  153. package/dist/cjs/functions/function-registry.cjs +19 -9
  154. package/dist/cjs/functions/function-registry.cjs.map +2 -2
  155. package/dist/cjs/functions/function-utils.cjs +19 -9
  156. package/dist/cjs/functions/function-utils.cjs.map +2 -2
  157. package/dist/cjs/functions/information/cell/cell.cjs +19 -9
  158. package/dist/cjs/functions/information/cell/cell.cjs.map +2 -2
  159. package/dist/cjs/functions/information/column/column.cjs +19 -9
  160. package/dist/cjs/functions/information/column/column.cjs.map +2 -2
  161. package/dist/cjs/functions/information/row/row.cjs +19 -9
  162. package/dist/cjs/functions/information/row/row.cjs.map +2 -2
  163. package/dist/cjs/functions/logical/and/and.cjs +19 -9
  164. package/dist/cjs/functions/logical/and/and.cjs.map +2 -2
  165. package/dist/cjs/functions/logical/if/if.cjs +19 -9
  166. package/dist/cjs/functions/logical/if/if.cjs.map +2 -2
  167. package/dist/cjs/functions/logical/iferror/iferror.cjs +19 -9
  168. package/dist/cjs/functions/logical/iferror/iferror.cjs.map +2 -2
  169. package/dist/cjs/functions/logical/or/or.cjs +19 -9
  170. package/dist/cjs/functions/logical/or/or.cjs.map +2 -2
  171. package/dist/cjs/functions/lookup/count/count-utils.cjs +19 -9
  172. package/dist/cjs/functions/lookup/count/count-utils.cjs.map +2 -2
  173. package/dist/cjs/functions/lookup/count/count.cjs +19 -9
  174. package/dist/cjs/functions/lookup/count/count.cjs.map +2 -2
  175. package/dist/cjs/functions/lookup/count/countif.cjs +19 -9
  176. package/dist/cjs/functions/lookup/count/countif.cjs.map +2 -2
  177. package/dist/cjs/functions/lookup/count/countifs.cjs +19 -9
  178. package/dist/cjs/functions/lookup/count/countifs.cjs.map +2 -2
  179. package/dist/cjs/functions/lookup/index-lookup/index-lookup.cjs +19 -9
  180. package/dist/cjs/functions/lookup/index-lookup/index-lookup.cjs.map +2 -2
  181. package/dist/cjs/functions/lookup/match/match.cjs +21 -10
  182. package/dist/cjs/functions/lookup/match/match.cjs.map +3 -3
  183. package/dist/cjs/functions/lookup/xlookup/xlookup.cjs +19 -9
  184. package/dist/cjs/functions/lookup/xlookup/xlookup.cjs.map +2 -2
  185. package/dist/cjs/functions/math/average/average-utils.cjs +19 -9
  186. package/dist/cjs/functions/math/average/average-utils.cjs.map +2 -2
  187. package/dist/cjs/functions/math/average/average.cjs +19 -9
  188. package/dist/cjs/functions/math/average/average.cjs.map +2 -2
  189. package/dist/cjs/functions/math/average/averageif.cjs +19 -9
  190. package/dist/cjs/functions/math/average/averageif.cjs.map +2 -2
  191. package/dist/cjs/functions/math/average/averageifs.cjs +19 -9
  192. package/dist/cjs/functions/math/average/averageifs.cjs.map +2 -2
  193. package/dist/cjs/functions/math/ceiling/ceiling.cjs +19 -9
  194. package/dist/cjs/functions/math/ceiling/ceiling.cjs.map +2 -2
  195. package/dist/cjs/functions/math/max/max-utils.cjs +19 -9
  196. package/dist/cjs/functions/math/max/max-utils.cjs.map +2 -2
  197. package/dist/cjs/functions/math/max/max.cjs +19 -9
  198. package/dist/cjs/functions/math/max/max.cjs.map +2 -2
  199. package/dist/cjs/functions/math/max/maxif.cjs +19 -9
  200. package/dist/cjs/functions/math/max/maxif.cjs.map +2 -2
  201. package/dist/cjs/functions/math/max/maxifs.cjs +19 -9
  202. package/dist/cjs/functions/math/max/maxifs.cjs.map +2 -2
  203. package/dist/cjs/functions/math/min/min-utils.cjs +19 -9
  204. package/dist/cjs/functions/math/min/min-utils.cjs.map +2 -2
  205. package/dist/cjs/functions/math/min/min.cjs +19 -9
  206. package/dist/cjs/functions/math/min/min.cjs.map +2 -2
  207. package/dist/cjs/functions/math/min/minif.cjs +19 -9
  208. package/dist/cjs/functions/math/min/minif.cjs.map +2 -2
  209. package/dist/cjs/functions/math/min/minifs.cjs +19 -9
  210. package/dist/cjs/functions/math/min/minifs.cjs.map +2 -2
  211. package/dist/cjs/functions/math/sum/sum.cjs +19 -9
  212. package/dist/cjs/functions/math/sum/sum.cjs.map +2 -2
  213. package/dist/cjs/functions/math/sum/sumif.cjs +19 -9
  214. package/dist/cjs/functions/math/sum/sumif.cjs.map +2 -2
  215. package/dist/cjs/functions/math/sum/sumifs.cjs +19 -9
  216. package/dist/cjs/functions/math/sum/sumifs.cjs.map +2 -2
  217. package/dist/cjs/functions/math/sum/summation-utils.cjs +19 -9
  218. package/dist/cjs/functions/math/sum/summation-utils.cjs.map +2 -2
  219. package/dist/cjs/functions/reference/address/address.cjs +19 -9
  220. package/dist/cjs/functions/reference/address/address.cjs.map +2 -2
  221. package/dist/cjs/functions/reference/indirect/indirect.cjs +19 -9
  222. package/dist/cjs/functions/reference/indirect/indirect.cjs.map +2 -2
  223. package/dist/cjs/functions/reference/offset/offset.cjs +19 -9
  224. package/dist/cjs/functions/reference/offset/offset.cjs.map +2 -2
  225. package/dist/cjs/functions/text/concatenate/concatenate.cjs +21 -9
  226. package/dist/cjs/functions/text/concatenate/concatenate.cjs.map +3 -3
  227. package/dist/cjs/functions/text/exact/exact.cjs +19 -9
  228. package/dist/cjs/functions/text/exact/exact.cjs.map +2 -2
  229. package/dist/cjs/functions/text/find/find.cjs +19 -9
  230. package/dist/cjs/functions/text/find/find.cjs.map +2 -2
  231. package/dist/cjs/functions/text/left/left.cjs +19 -9
  232. package/dist/cjs/functions/text/left/left.cjs.map +2 -2
  233. package/dist/cjs/functions/text/len/len.cjs +19 -9
  234. package/dist/cjs/functions/text/len/len.cjs.map +2 -2
  235. package/dist/cjs/functions/text/mid/mid.cjs +19 -9
  236. package/dist/cjs/functions/text/mid/mid.cjs.map +2 -2
  237. package/dist/cjs/functions/text/right/right.cjs +19 -9
  238. package/dist/cjs/functions/text/right/right.cjs.map +2 -2
  239. package/dist/cjs/functions/text/text-helpers.cjs +19 -9
  240. package/dist/cjs/functions/text/text-helpers.cjs.map +2 -2
  241. package/dist/cjs/functions/text/textjoin/textjoin.cjs +19 -9
  242. package/dist/cjs/functions/text/textjoin/textjoin.cjs.map +2 -2
  243. package/dist/cjs/lib.cjs +24 -13
  244. package/dist/cjs/lib.cjs.map +2 -2
  245. package/dist/cjs/package.json +1 -1
  246. package/dist/cjs/parser/ast.cjs +19 -9
  247. package/dist/cjs/parser/ast.cjs.map +2 -2
  248. package/dist/cjs/parser/formatter.cjs +19 -9
  249. package/dist/cjs/parser/formatter.cjs.map +2 -2
  250. package/dist/cjs/parser/grammar.cjs +19 -9
  251. package/dist/cjs/parser/grammar.cjs.map +2 -2
  252. package/dist/cjs/parser/lexer.cjs +19 -9
  253. package/dist/cjs/parser/lexer.cjs.map +2 -2
  254. package/dist/cjs/parser/parser.cjs +19 -9
  255. package/dist/cjs/parser/parser.cjs.map +2 -2
  256. package/dist/cjs/react/hooks.cjs +31 -10
  257. package/dist/cjs/react/hooks.cjs.map +2 -2
  258. package/dist/mjs/core/commands/command-executor.mjs +7 -5
  259. package/dist/mjs/core/commands/command-executor.mjs.map +3 -3
  260. package/dist/mjs/core/commands/content-commands.mjs +279 -2
  261. package/dist/mjs/core/commands/content-commands.mjs.map +3 -3
  262. package/dist/mjs/core/commands/named-expression-commands.mjs +121 -6
  263. package/dist/mjs/core/commands/named-expression-commands.mjs.map +3 -3
  264. package/dist/mjs/core/commands/structure-commands.mjs +204 -8
  265. package/dist/mjs/core/commands/structure-commands.mjs.map +3 -3
  266. package/dist/mjs/core/commands/table-commands.mjs +117 -6
  267. package/dist/mjs/core/commands/table-commands.mjs.map +3 -3
  268. package/dist/mjs/core/commands/types.mjs +18 -1
  269. package/dist/mjs/core/commands/types.mjs.map +3 -3
  270. package/dist/mjs/core/engine-snapshot.mjs +11 -0
  271. package/dist/mjs/core/engine-snapshot.mjs.map +10 -0
  272. package/dist/mjs/core/engine.mjs +35 -26
  273. package/dist/mjs/core/engine.mjs.map +3 -3
  274. package/dist/mjs/core/managers/cache-manager.mjs +105 -1
  275. package/dist/mjs/core/managers/cache-manager.mjs.map +3 -3
  276. package/dist/mjs/core/managers/dependency-manager.mjs +687 -2
  277. package/dist/mjs/core/managers/dependency-manager.mjs.map +3 -3
  278. package/dist/mjs/core/managers/evaluation-manager.mjs +283 -4
  279. package/dist/mjs/core/managers/evaluation-manager.mjs.map +3 -3
  280. package/dist/mjs/core/managers/frontier-dependency-manager.mjs +47 -4
  281. package/dist/mjs/core/managers/frontier-dependency-manager.mjs.map +3 -3
  282. package/dist/mjs/core/managers/named-expression-manager.mjs +104 -21
  283. package/dist/mjs/core/managers/named-expression-manager.mjs.map +3 -3
  284. package/dist/mjs/core/managers/reference-manager.mjs +7 -1
  285. package/dist/mjs/core/managers/reference-manager.mjs.map +3 -3
  286. package/dist/mjs/core/managers/style-manager.mjs +10 -1
  287. package/dist/mjs/core/managers/style-manager.mjs.map +3 -3
  288. package/dist/mjs/core/managers/table-manager.mjs +14 -4
  289. package/dist/mjs/core/managers/table-manager.mjs.map +3 -3
  290. package/dist/mjs/core/managers/workbook-manager.mjs +20 -5
  291. package/dist/mjs/core/managers/workbook-manager.mjs.map +3 -3
  292. package/dist/mjs/core/resource-keys.mjs +27 -0
  293. package/dist/mjs/core/resource-keys.mjs.map +10 -0
  294. package/dist/mjs/evaluator/dependency-nodes/base-eval-node.mjs +17 -1
  295. package/dist/mjs/evaluator/dependency-nodes/base-eval-node.mjs.map +3 -3
  296. package/dist/mjs/evaluator/dependency-nodes/cell-value-node.mjs +4 -1
  297. package/dist/mjs/evaluator/dependency-nodes/cell-value-node.mjs.map +3 -3
  298. package/dist/mjs/evaluator/dependency-nodes/empty-cell-evaluation-node.mjs +17 -3
  299. package/dist/mjs/evaluator/dependency-nodes/empty-cell-evaluation-node.mjs.map +3 -3
  300. package/dist/mjs/evaluator/dependency-nodes/resource-dependency-node.mjs +21 -0
  301. package/dist/mjs/evaluator/dependency-nodes/resource-dependency-node.mjs.map +10 -0
  302. package/dist/mjs/evaluator/dependency-nodes/virtual-cell-value-node.mjs +4 -1
  303. package/dist/mjs/evaluator/dependency-nodes/virtual-cell-value-node.mjs.map +3 -3
  304. package/dist/mjs/evaluator/formula-evaluator.mjs +42 -4
  305. package/dist/mjs/evaluator/formula-evaluator.mjs.map +3 -3
  306. package/dist/mjs/evaluator/range-evaluation-node.mjs +17 -3
  307. package/dist/mjs/evaluator/range-evaluation-node.mjs.map +3 -3
  308. package/dist/mjs/functions/lookup/match/match.mjs +3 -2
  309. package/dist/mjs/functions/lookup/match/match.mjs.map +3 -3
  310. package/dist/mjs/functions/text/concatenate/concatenate.mjs +3 -1
  311. package/dist/mjs/functions/text/concatenate/concatenate.mjs.map +3 -3
  312. package/dist/mjs/package.json +1 -1
  313. package/dist/types/core/commands/content-commands.d.ts +31 -1
  314. package/dist/types/core/commands/named-expression-commands.d.ts +16 -1
  315. package/dist/types/core/commands/structure-commands.d.ts +24 -1
  316. package/dist/types/core/commands/table-commands.d.ts +16 -1
  317. package/dist/types/core/commands/types.d.ts +25 -1
  318. package/dist/types/core/engine-snapshot.d.ts +138 -0
  319. package/dist/types/core/engine.d.ts +1 -0
  320. package/dist/types/core/managers/cache-manager.d.ts +9 -0
  321. package/dist/types/core/managers/dependency-manager.d.ts +56 -1
  322. package/dist/types/core/managers/dependency-node.d.ts +2 -1
  323. package/dist/types/core/managers/evaluation-manager.d.ts +21 -1
  324. package/dist/types/core/managers/frontier-dependency-manager.d.ts +12 -2
  325. package/dist/types/core/managers/named-expression-manager.d.ts +17 -1
  326. package/dist/types/core/managers/reference-manager.d.ts +3 -0
  327. package/dist/types/core/managers/style-manager.d.ts +3 -0
  328. package/dist/types/core/managers/table-manager.d.ts +3 -0
  329. package/dist/types/core/managers/workbook-manager.d.ts +4 -1
  330. package/dist/types/core/resource-keys.d.ts +14 -0
  331. package/dist/types/evaluator/dependency-nodes/base-eval-node.d.ts +5 -0
  332. package/dist/types/evaluator/dependency-nodes/cell-value-node.d.ts +1 -0
  333. package/dist/types/evaluator/dependency-nodes/empty-cell-evaluation-node.d.ts +8 -1
  334. package/dist/types/evaluator/dependency-nodes/resource-dependency-node.d.ts +8 -0
  335. package/dist/types/evaluator/dependency-nodes/virtual-cell-value-node.d.ts +1 -0
  336. package/dist/types/evaluator/range-evaluation-node.d.ts +8 -1
  337. package/package.json +6 -2
package/dist/cjs/lib.cjs CHANGED
@@ -2,44 +2,55 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ function __accessProp(key) {
6
+ return this[key];
7
+ }
5
8
  var __reExport = (target, mod, secondTarget) => {
6
- for (let key of __getOwnPropNames(mod))
9
+ var keys = __getOwnPropNames(mod);
10
+ for (let key of keys)
7
11
  if (!__hasOwnProp.call(target, key) && key !== "default")
8
12
  __defProp(target, key, {
9
- get: () => mod[key],
13
+ get: __accessProp.bind(mod, key),
10
14
  enumerable: true
11
15
  });
12
16
  if (secondTarget) {
13
- for (let key of __getOwnPropNames(mod))
17
+ for (let key of keys)
14
18
  if (!__hasOwnProp.call(secondTarget, key) && key !== "default")
15
19
  __defProp(secondTarget, key, {
16
- get: () => mod[key],
20
+ get: __accessProp.bind(mod, key),
17
21
  enumerable: true
18
22
  });
19
23
  return secondTarget;
20
24
  }
21
25
  };
22
- var __moduleCache = /* @__PURE__ */ new WeakMap;
23
26
  var __toCommonJS = (from) => {
24
- var entry = __moduleCache.get(from), desc;
27
+ var entry = (__moduleCache ??= new WeakMap).get(from), desc;
25
28
  if (entry)
26
29
  return entry;
27
30
  entry = __defProp({}, "__esModule", { value: true });
28
- if (from && typeof from === "object" || typeof from === "function")
29
- __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
30
- get: () => from[key],
31
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
32
- }));
31
+ if (from && typeof from === "object" || typeof from === "function") {
32
+ for (var key of __getOwnPropNames(from))
33
+ if (!__hasOwnProp.call(entry, key))
34
+ __defProp(entry, key, {
35
+ get: __accessProp.bind(from, key),
36
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
37
+ });
38
+ }
33
39
  __moduleCache.set(from, entry);
34
40
  return entry;
35
41
  };
42
+ var __moduleCache;
43
+ var __returnValue = (v) => v;
44
+ function __exportSetter(name, newValue) {
45
+ this[name] = __returnValue.bind(null, newValue);
46
+ }
36
47
  var __export = (target, all) => {
37
48
  for (var name in all)
38
49
  __defProp(target, name, {
39
50
  get: all[name],
40
51
  enumerable: true,
41
52
  configurable: true,
42
- set: (newValue) => all[name] = () => newValue
53
+ set: __exportSetter.bind(all, name)
43
54
  });
44
55
  };
45
56
 
@@ -65,4 +76,4 @@ var import_cell_orm = require("./core/schema/cell-orm.cjs");
65
76
  var import_schema_manager = require("./core/managers/schema-manager.cjs");
66
77
  var import_command_executor = require("./core/commands/command-executor.cjs");
67
78
 
68
- //# debugId=7606169475E9CE8764756E2164756E21
79
+ //# debugId=838957A8257084BD64756E2164756E21
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "export { FormulaEngine } from \"./core/engine.cjs\";\nexport * from \"./core/types.cjs\";\nexport * from \"./core/utils.cjs\";\nexport * from \"./core/utils/color-utils.cjs\";\n\n// Schema exports\nexport { defineSchema, defineHeader } from \"./core/schema/schema.cjs\";\nexport type { CreateSchema, SchemaDeclaration, Schema, TableSchemaDefinition, CellSchemaDefinition, TableOrmSchema, CellOrmSchema } from \"./core/schema/schema.cjs\";\nexport { TableOrm } from \"./core/schema/table-orm.cjs\";\nexport { CellOrm } from \"./core/schema/cell-orm.cjs\";\nexport { SchemaValidationError } from \"./core/managers/schema-manager.cjs\";\nexport type { ValidationResult } from \"./core/managers/schema-manager.cjs\";\n\n// Command Pattern exports\nexport { SchemaIntegrityError } from \"./core/commands/command-executor.cjs\";\nexport type { EngineAction, EngineCommand } from \"./core/commands/types.cjs\";\n"
6
6
  ],
7
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA8B,IAA9B;AACA;AACA;AACA;AAG2C,IAA3C;AAEyB,IAAzB;AACwB,IAAxB;AACsC,IAAtC;AAIqC,IAArC;",
8
- "debugId": "7606169475E9CE8764756E2164756E21",
7
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA8B,IAA9B;AACA;AACA;AACA;AAG2C,IAA3C;AAEyB,IAAzB;AACwB,IAAxB;AACsC,IAAtC;AAIqC,IAArC;",
8
+ "debugId": "838957A8257084BD64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@ricsam/formula-engine",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "type": "commonjs"
5
5
  }
@@ -2,27 +2,37 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __moduleCache = /* @__PURE__ */ new WeakMap;
5
+ function __accessProp(key) {
6
+ return this[key];
7
+ }
6
8
  var __toCommonJS = (from) => {
7
- var entry = __moduleCache.get(from), desc;
9
+ var entry = (__moduleCache ??= new WeakMap).get(from), desc;
8
10
  if (entry)
9
11
  return entry;
10
12
  entry = __defProp({}, "__esModule", { value: true });
11
- if (from && typeof from === "object" || typeof from === "function")
12
- __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
13
- get: () => from[key],
14
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
- }));
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (var key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(entry, key))
16
+ __defProp(entry, key, {
17
+ get: __accessProp.bind(from, key),
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
16
21
  __moduleCache.set(from, entry);
17
22
  return entry;
18
23
  };
24
+ var __moduleCache;
25
+ var __returnValue = (v) => v;
26
+ function __exportSetter(name, newValue) {
27
+ this[name] = __returnValue.bind(null, newValue);
28
+ }
19
29
  var __export = (target, all) => {
20
30
  for (var name in all)
21
31
  __defProp(target, name, {
22
32
  get: all[name],
23
33
  enumerable: true,
24
34
  configurable: true,
25
- set: (newValue) => all[name] = () => newValue
35
+ set: __exportSetter.bind(all, name)
26
36
  });
27
37
  };
28
38
 
@@ -172,4 +182,4 @@ function createInfinityNode(position) {
172
182
  };
173
183
  }
174
184
 
175
- //# debugId=01361EAD00AC639464756E2164756E21
185
+ //# debugId=BF83F2E97D917F0F64756E2164756E21
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "/**\n * Abstract Syntax Tree (AST) node definitions for formula parsing\n */\n\nimport type {\n CellAddress,\n CellValue,\n FormulaError,\n SpreadsheetRange,\n} from \"../core/types.cjs\";\n\n/**\n * Base interface for all AST nodes\n */\ntype ASTNodeBase = {\n position?: {\n start: number;\n end: number;\n };\n};\n\n/**\n * Literal value node (number, string, boolean, error)\n */\nexport type ValueNode = ASTNodeBase & {\n type: \"value\";\n value: CellValue;\n};\n\n/**\n * Cell reference node (e.g., A1, Sheet1!B2)\n */\nexport type ReferenceNode = ASTNodeBase & {\n type: \"reference\";\n address: {\n colIndex: number;\n rowIndex: number;\n };\n sheetName?: string;\n workbookName?: string;\n isAbsolute: {\n col: boolean;\n row: boolean;\n };\n};\n\n/**\n * Range reference node (e.g., A1:B10)\n */\nexport type RangeNode = ASTNodeBase & {\n type: \"range\";\n sheetName?: string;\n workbookName?: string;\n range: SpreadsheetRange;\n isAbsolute: {\n start: {\n col: boolean;\n row: boolean;\n };\n end: {\n col: boolean;\n row: boolean;\n };\n };\n};\n\n/**\n * Function call node (e.g., SUM(A1:A10))\n */\nexport type FunctionNode = ASTNodeBase & {\n type: \"function\";\n name: string;\n args: ASTNode[];\n};\n\n/**\n * Unary operator node (e.g., -A1, +B2)\n */\nexport type UnaryOpNode = ASTNodeBase & {\n type: \"unary-op\";\n operator: \"+\" | \"-\" | \"%\";\n operand: ASTNode;\n};\n\n/**\n * Binary operator node (e.g., A1+B1, C1*D1)\n */\nexport type BinaryOpNode = ASTNodeBase & {\n type: \"binary-op\";\n operator:\n | \"+\"\n | \"-\"\n | \"*\"\n | \"/\"\n | \"^\"\n | \"&\"\n | \"=\"\n | \"<>\"\n | \"<\"\n | \">\"\n | \"<=\"\n | \">=\";\n left: ASTNode;\n right: ASTNode;\n};\n\n/**\n * Array literal node (e.g., {1,2,3;4,5,6})\n */\nexport type ArrayNode = ASTNodeBase & {\n type: \"array\";\n elements: ASTNode[][]; // 2D array of elements\n};\n\n/**\n * 3D range node (e.g., Sheet1:Sheet3!A1)\n */\nexport type ThreeDRangeNode = ASTNodeBase & {\n type: \"3d-range\";\n startSheet: string;\n endSheet: string;\n workbookName?: string;\n reference: ReferenceNode | RangeNode;\n};\n\n/**\n * Structured reference node (e.g., Table1[Column1])\n */\nexport type StructuredReferenceNode = ASTNodeBase & {\n type: \"structured-reference\";\n tableName?: string;\n sheetName?: string;\n workbookName?: string;\n cols?: {\n startCol: string;\n endCol: string;\n };\n selector?: \"#All\" | \"#Data\" | \"#Headers\";\n isCurrentRow: boolean;\n};\n\n/**\n * Infinity literal node\n */\nexport type InfinityNode = ASTNodeBase & {\n type: \"infinity\";\n};\n\nexport type ASTNode =\n | ValueNode\n | ReferenceNode\n | RangeNode\n | FunctionNode\n | UnaryOpNode\n | BinaryOpNode\n | ArrayNode\n | NamedExpressionNode\n | ErrorNode\n | EmptyNode\n | ThreeDRangeNode\n | StructuredReferenceNode\n | InfinityNode;\n\n/**\n * Named expression reference node\n */\nexport type NamedExpressionNode = ASTNodeBase & {\n type: \"named-expression\";\n name: string;\n sheetName?: string;\n workbookName?: string;\n};\n\n/**\n * Error node for parsing errors\n */\nexport type ErrorNode = ASTNodeBase & {\n type: \"error\";\n error: FormulaError;\n message: string;\n};\n\nexport type EmptyNode = ASTNodeBase & {\n type: \"empty\";\n};\n\n/**\n * Helper function to create a value node\n */\nexport function createValueNode(\n value: CellValue,\n position?: {\n start: number;\n end: number;\n }\n): ValueNode {\n return {\n type: \"value\",\n value,\n position,\n };\n}\n\nexport function createEmptyNode(position?: {\n start: number;\n end: number;\n}): EmptyNode {\n return { type: \"empty\", position };\n}\n\n/**\n * Helper function to create a reference node\n */\nexport function createReferenceNode({\n address,\n isAbsolute,\n position,\n sheetName,\n workbookName,\n}: {\n address: {\n colIndex: number;\n rowIndex: number;\n };\n isAbsolute: { col: boolean; row: boolean };\n position?: {\n start: number;\n end: number;\n };\n sheetName?: string;\n workbookName?: string;\n}): ReferenceNode {\n return {\n type: \"reference\",\n address,\n isAbsolute,\n sheetName,\n workbookName,\n position,\n };\n}\n\n/**\n * Helper function to create a range node\n */\nexport function createRangeNode({\n sheetName,\n workbookName,\n range,\n isAbsolute,\n position,\n}: {\n sheetName?: string;\n workbookName?: string;\n range: SpreadsheetRange;\n isAbsolute: RangeNode[\"isAbsolute\"];\n position?: {\n start: number;\n end: number;\n };\n}): RangeNode {\n return {\n type: \"range\",\n range,\n sheetName,\n workbookName,\n isAbsolute,\n position,\n };\n}\n\n/**\n * Helper function to create a function node\n */\nexport function createFunctionNode(\n name: string,\n args: ASTNode[],\n position?: {\n start: number;\n end: number;\n }\n): FunctionNode {\n return {\n type: \"function\",\n name: name.toUpperCase(), // Normalize function names to uppercase\n args,\n position,\n };\n}\n\n/**\n * Helper function to create a unary operator node\n */\nexport function createUnaryOpNode(\n operator: UnaryOpNode[\"operator\"],\n operand: ASTNode,\n position?: {\n start: number;\n end: number;\n }\n): UnaryOpNode {\n return {\n type: \"unary-op\",\n operator,\n operand,\n position,\n };\n}\n\n/**\n * Helper function to create a binary operator node\n */\nexport function createBinaryOpNode(\n operator: BinaryOpNode[\"operator\"],\n left: ASTNode,\n right: ASTNode,\n position?: {\n start: number;\n end: number;\n }\n): BinaryOpNode {\n return {\n type: \"binary-op\",\n operator,\n left,\n right,\n position,\n };\n}\n\n/**\n * Helper function to create an array node\n */\nexport function createArrayNode(\n elements: ASTNode[][],\n position?: {\n start: number;\n end: number;\n }\n): ArrayNode {\n return {\n type: \"array\",\n elements,\n position,\n };\n}\n\n/**\n * Helper function to create a named expression node\n */\nexport function createNamedExpressionNode(\n name: string,\n position?: {\n start: number;\n end: number;\n },\n sheetName?: string,\n workbookName?: string\n): NamedExpressionNode {\n return {\n type: \"named-expression\",\n name,\n sheetName,\n workbookName,\n position,\n };\n}\n\n/**\n * Helper function to create an error node\n */\nexport function createErrorNode(\n error: FormulaError,\n message: string,\n position?: {\n start: number;\n end: number;\n }\n): ErrorNode {\n return {\n type: \"error\",\n error,\n message,\n position,\n };\n}\n\n/**\n * Helper function to create a 3D range node\n */\nexport function createThreeDRangeNode(\n startSheet: string,\n endSheet: string,\n reference: ReferenceNode | RangeNode,\n position?: {\n start: number;\n end: number;\n },\n workbookName?: string\n): ThreeDRangeNode {\n return {\n type: \"3d-range\",\n startSheet,\n endSheet,\n workbookName,\n reference,\n position,\n };\n}\n\n/**\n * Helper function to create a structured reference node\n */\nexport function createStructuredReferenceNode({\n tableName,\n sheetName,\n workbookName,\n cols,\n selector,\n isCurrentRow = false,\n position,\n}: {\n tableName?: string;\n sheetName?: string;\n workbookName?: string;\n cols?: {\n startCol: string;\n endCol: string;\n };\n selector?: \"#All\" | \"#Data\" | \"#Headers\";\n isCurrentRow?: boolean;\n position?: {\n start: number;\n end: number;\n };\n}): StructuredReferenceNode {\n return {\n type: \"structured-reference\",\n tableName,\n sheetName,\n workbookName,\n cols,\n selector,\n isCurrentRow,\n position,\n };\n}\n\n/**\n * Helper function to create an infinity node\n */\nexport function createInfinityNode(position?: {\n start: number;\n end: number;\n}): InfinityNode {\n return {\n type: \"infinity\",\n position,\n };\n}\n\n/**\n * AST visitor interface for traversing the tree\n */\nexport interface ASTVisitor<T = void> {\n visitValue?(node: ValueNode): T;\n visitReference?(node: ReferenceNode): T;\n visitRange?(node: RangeNode): T;\n visitFunction?(node: FunctionNode): T;\n visitUnaryOp?(node: UnaryOpNode): T;\n visitBinaryOp?(node: BinaryOpNode): T;\n visitArray?(node: ArrayNode): T;\n visitNamedExpression?(node: NamedExpressionNode): T;\n visitError?(node: ErrorNode): T;\n visitEmpty?(node: EmptyNode): T;\n visitThreeDRange?(node: ThreeDRangeNode): T;\n visitStructuredReference?(node: StructuredReferenceNode): T;\n visitInfinity?(node: InfinityNode): T;\n}\n"
6
6
  ],
7
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6LO,SAAS,eAAe,CAC7B,OACA,UAIW;AAAA,EACX,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF;AAAA;AAGK,SAAS,eAAe,CAAC,UAGlB;AAAA,EACZ,OAAO,EAAE,MAAM,SAAS,SAAS;AAAA;AAM5B,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAagB;AAAA,EAChB,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAUY;AAAA,EACZ,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,kBAAkB,CAChC,MACA,MACA,UAIc;AAAA,EACd,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM,KAAK,YAAY;AAAA,IACvB;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,iBAAiB,CAC/B,UACA,SACA,UAIa;AAAA,EACb,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,kBAAkB,CAChC,UACA,MACA,OACA,UAIc;AAAA,EACd,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,eAAe,CAC7B,UACA,UAIW;AAAA,EACX,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,yBAAyB,CACvC,MACA,UAIA,WACA,cACqB;AAAA,EACrB,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,eAAe,CAC7B,OACA,SACA,UAIW;AAAA,EACX,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,qBAAqB,CACnC,YACA,UACA,WACA,UAIA,cACiB;AAAA,EACjB,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,6BAA6B;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf;AAAA,GAe0B;AAAA,EAC1B,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,kBAAkB,CAAC,UAGlB;AAAA,EACf,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,EACF;AAAA;",
8
- "debugId": "01361EAD00AC639464756E2164756E21",
7
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6LO,SAAS,eAAe,CAC7B,OACA,UAIW;AAAA,EACX,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF;AAAA;AAGK,SAAS,eAAe,CAAC,UAGlB;AAAA,EACZ,OAAO,EAAE,MAAM,SAAS,SAAS;AAAA;AAM5B,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAagB;AAAA,EAChB,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAUY;AAAA,EACZ,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,kBAAkB,CAChC,MACA,MACA,UAIc;AAAA,EACd,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM,KAAK,YAAY;AAAA,IACvB;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,iBAAiB,CAC/B,UACA,SACA,UAIa;AAAA,EACb,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,kBAAkB,CAChC,UACA,MACA,OACA,UAIc;AAAA,EACd,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,eAAe,CAC7B,UACA,UAIW;AAAA,EACX,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,yBAAyB,CACvC,MACA,UAIA,WACA,cACqB;AAAA,EACrB,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,eAAe,CAC7B,OACA,SACA,UAIW;AAAA,EACX,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,qBAAqB,CACnC,YACA,UACA,WACA,UAIA,cACiB;AAAA,EACjB,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,6BAA6B;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf;AAAA,GAe0B;AAAA,EAC1B,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAMK,SAAS,kBAAkB,CAAC,UAGlB;AAAA,EACf,OAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,EACF;AAAA;",
8
+ "debugId": "BF83F2E97D917F0F64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -2,27 +2,37 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __moduleCache = /* @__PURE__ */ new WeakMap;
5
+ function __accessProp(key) {
6
+ return this[key];
7
+ }
6
8
  var __toCommonJS = (from) => {
7
- var entry = __moduleCache.get(from), desc;
9
+ var entry = (__moduleCache ??= new WeakMap).get(from), desc;
8
10
  if (entry)
9
11
  return entry;
10
12
  entry = __defProp({}, "__esModule", { value: true });
11
- if (from && typeof from === "object" || typeof from === "function")
12
- __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
13
- get: () => from[key],
14
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
- }));
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (var key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(entry, key))
16
+ __defProp(entry, key, {
17
+ get: __accessProp.bind(from, key),
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
16
21
  __moduleCache.set(from, entry);
17
22
  return entry;
18
23
  };
24
+ var __moduleCache;
25
+ var __returnValue = (v) => v;
26
+ function __exportSetter(name, newValue) {
27
+ this[name] = __returnValue.bind(null, newValue);
28
+ }
19
29
  var __export = (target, all) => {
20
30
  for (var name in all)
21
31
  __defProp(target, name, {
22
32
  get: all[name],
23
33
  enumerable: true,
24
34
  configurable: true,
25
- set: (newValue) => all[name] = () => newValue
35
+ set: __exportSetter.bind(all, name)
26
36
  });
27
37
  };
28
38
 
@@ -316,4 +326,4 @@ function isSerializedCellValueEqual(a, b) {
316
326
  return normalizedA === normalizedB;
317
327
  }
318
328
 
319
- //# debugId=9A962765FF02950C64756E2164756E21
329
+ //# debugId=DEDFCFE61428B68064756E2164756E21
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import { indexToColumn } from \"../core/utils.cjs\";\nimport { type CellValue, type SerializedCellValue } from \"../core/types.cjs\";\nimport { parseOpenEndedRange, parseInfiniteRange } from \"./grammar.cjs\";\nimport type {\n ArrayNode,\n ASTNode,\n BinaryOpNode,\n FunctionNode,\n NamedExpressionNode,\n RangeNode,\n ReferenceNode,\n StructuredReferenceNode,\n ThreeDRangeNode,\n UnaryOpNode,\n ValueNode,\n} from \"./ast.cjs\";\nimport { getOperatorPrecedence, getOperatorAssociativity } from \"./grammar.cjs\";\nimport { parseFormula } from \"./parser.cjs\";\n\nexport function astToString(ast: ASTNode): string {\n switch (ast.type) {\n case \"value\":\n return formatValue(ast.value);\n\n case \"reference\":\n return formatReference(ast);\n\n case \"range\":\n return formatRange(ast);\n\n case \"function\":\n return formatFunction(ast);\n\n case \"unary-op\":\n return formatUnaryOp(ast);\n\n case \"binary-op\":\n return formatBinaryOp(ast);\n\n case \"array\":\n return formatArray(ast);\n\n case \"named-expression\":\n return formatNamedExpression(ast);\n\n case \"error\":\n return ast.error;\n\n case \"empty\":\n return \"\";\n\n case \"3d-range\":\n return formatThreeDRange(ast);\n\n case \"structured-reference\":\n return formatStructuredReference(ast);\n\n case \"infinity\":\n return \"INFINITY\";\n\n default:\n throw new Error(`Unknown AST node type: ${(ast as any).type}`);\n }\n}\n\nfunction formatValue(value: CellValue): string {\n if (value.type === \"string\") {\n // Escape quotes by doubling them and wrap in quotes\n return `\"${value.value.replace(/\"/g, '\"\"')}\"`;\n } else if (value.type === \"boolean\") {\n return value.value ? \"TRUE\" : \"FALSE\";\n } else if (value.type === \"number\") {\n return value.value.toString();\n }\n return String(value);\n}\n\nfunction formatReference(ast: ReferenceNode): string {\n const { address, isAbsolute, sheetName, workbookName } = ast;\n const colLetter = indexToColumn(address.colIndex);\n const rowNumber = address.rowIndex + 1; // Convert from 0-based to 1-based\n\n const colRef = isAbsolute.col ? `$${colLetter}` : colLetter;\n const rowRef = isAbsolute.row ? `$${rowNumber}` : rowNumber.toString();\n\n const cellRef = `${colRef}${rowRef}`;\n\n let result = cellRef;\n\n if (sheetName) {\n const quotedSheet = sheetName.includes(\" \") ? `'${sheetName}'` : sheetName;\n result = `${quotedSheet}!${cellRef}`;\n }\n\n if (workbookName) {\n result = `[${workbookName}]${result}`;\n }\n\n return result;\n}\n\nfunction formatRange(ast: RangeNode): string {\n const { range, isAbsolute, sheetName, workbookName } = ast;\n\n // Handle infinite ranges\n if (range.end.col.type === \"infinity\" || range.end.row.type === \"infinity\") {\n return formatInfiniteRange(ast);\n }\n\n // Regular range\n const startCol = indexToColumn(range.start.col);\n const startRow = range.start.row + 1;\n const endCol = indexToColumn(range.end.col.value);\n const endRow = range.end.row.value + 1;\n\n const startColRef = isAbsolute.start.col ? `$${startCol}` : startCol;\n const startRowRef = isAbsolute.start.row\n ? `$${startRow}`\n : startRow.toString();\n const endColRef = isAbsolute.end.col ? `$${endCol}` : endCol;\n const endRowRef = isAbsolute.end.row ? `$${endRow}` : endRow.toString();\n\n const rangeRef = `${startColRef}${startRowRef}:${endColRef}${endRowRef}`;\n\n let result = rangeRef;\n\n if (sheetName) {\n const quotedSheet = sheetName.includes(\" \") ? `'${sheetName}'` : sheetName;\n result = `${quotedSheet}!${rangeRef}`;\n }\n\n if (workbookName) {\n result = `[${workbookName}]${result}`;\n }\n\n return result;\n}\n\nfunction formatInfiniteRange(ast: RangeNode): string {\n const { range, isAbsolute, sheetName, workbookName } = ast;\n\n let rangeRef: string;\n\n // Canonical formatting rules:\n // 1. Start is always explicit cell (A5, $A$5, etc.)\n // 2. End varies by openness:\n // - Open→: A5:10 (row-bounded)\n // - Open↓: A5:D (column-bounded)\n // - Open both: A5:INFINITY\n // 3. Excel compatibility: whole rows/columns use canonical cell form\n // - 5:5 → A5:5, A:A → A1:A\n\n const startCol = indexToColumn(range.start.col);\n const startRow = range.start.row + 1;\n\n const startColRef = isAbsolute.start.col ? `$${startCol}` : startCol;\n const startRowRef = isAbsolute.start.row\n ? `$${startRow}`\n : startRow.toString();\n\n if (range.end.col.type === \"infinity\" && range.end.row.type === \"infinity\") {\n // Open both: A5:INFINITY\n rangeRef = `${startColRef}${startRowRef}:INFINITY`;\n } else if (range.end.col.type === \"infinity\") {\n // Open→ (row-bounded): A5:10\n if (range.end.row.type !== \"number\") {\n throw new Error(\"Expected finite row for infinite column range\");\n }\n\n const endRow = range.end.row.value + 1;\n const endRowRef = isAbsolute.end.row ? `$${endRow}` : endRow.toString();\n\n // Always use canonical cell form: A5:10 (not 5:10)\n rangeRef = `${startColRef}${startRowRef}:${endRowRef}`;\n } else if (range.end.row.type === \"infinity\") {\n // Open↓ (column-bounded): A5:D\n if (range.end.col.type !== \"number\") {\n throw new Error(\"Expected finite column for infinite row range\");\n }\n\n const endCol = indexToColumn(range.end.col.value);\n const endColRef = isAbsolute.end.col ? `$${endCol}` : endCol;\n\n // Always use canonical cell form: A1:D (not A:D)\n rangeRef = `${startColRef}${startRowRef}:${endColRef}`;\n } else {\n throw new Error(\n \"Expected at least one infinite dimension for infinite range\"\n );\n }\n\n let result = rangeRef;\n\n if (sheetName) {\n const quotedSheet = sheetName.includes(\" \") ? `'${sheetName}'` : sheetName;\n result = `${quotedSheet}!${rangeRef}`;\n }\n\n if (workbookName) {\n result = `[${workbookName}]${result}`;\n }\n\n return result;\n}\n\nfunction formatFunction(ast: FunctionNode): string {\n const { name, args } = ast;\n const formattedArgs = args.map((arg: ASTNode) => astToString(arg)).join(\",\");\n return `${name}(${formattedArgs})`;\n}\n\nfunction formatUnaryOp(ast: UnaryOpNode): string {\n const { operator, operand } = ast;\n const operandStr = astToString(operand);\n\n if (operator === \"%\") {\n return `${operandStr}%`;\n } else {\n return `${operator}${operandStr}`;\n }\n}\n\nfunction formatBinaryOp(ast: BinaryOpNode): string {\n const { operator, left, right } = ast;\n\n // Determine if we need parentheses for left and right operands\n const leftNeedsParens = needsParentheses(left, ast, \"left\");\n const rightNeedsParens = needsParentheses(right, ast, \"right\");\n\n const leftStr = leftNeedsParens\n ? `(${astToString(left)})`\n : astToString(left);\n const rightStr = rightNeedsParens\n ? `(${astToString(right)})`\n : astToString(right);\n\n return `${leftStr}${operator}${rightStr}`;\n}\n\nfunction needsParentheses(\n child: ASTNode,\n parent: ASTNode,\n position: \"left\" | \"right\"\n): boolean {\n if (child.type !== \"binary-op\") {\n return false;\n }\n\n // Only binary operations need precedence checking\n if (parent.type !== \"binary-op\") {\n return false;\n }\n\n const childPrecedence = getOperatorPrecedence(child.operator);\n const parentPrecedence = getOperatorPrecedence(parent.operator);\n\n // Lower precedence always needs parentheses\n if (childPrecedence < parentPrecedence) {\n return true;\n }\n\n // For same precedence, check associativity\n if (childPrecedence === parentPrecedence) {\n const associativity = getOperatorAssociativity(parent.operator);\n\n // For left-associative operators, right side needs parentheses\n // For right-associative operators, left side needs parentheses\n if (associativity === \"left\" && position === \"right\") {\n return true;\n } else if (associativity === \"right\" && position === \"left\") {\n return true;\n }\n }\n\n return false;\n}\n\nfunction formatArray(ast: ArrayNode): string {\n const { elements } = ast;\n const rows = elements.map((row: ASTNode[]) =>\n row.map((cell: ASTNode) => astToString(cell)).join(\",\")\n );\n return `{${rows.join(\";\")}}`;\n}\n\nfunction formatNamedExpression(ast: NamedExpressionNode): string {\n const { name, sheetName, workbookName } = ast;\n\n let result = name;\n\n if (sheetName !== undefined) {\n // Sheet-scoped named expression\n const quotedSheet = sheetName.includes(\" \") ? `'${sheetName}'` : sheetName;\n result = `${quotedSheet}!${name}`;\n }\n\n if (workbookName) {\n result = `[${workbookName}]${result}`;\n }\n\n return result;\n}\n\nfunction formatThreeDRange(ast: ThreeDRangeNode): string {\n const { startSheet, endSheet, workbookName, reference } = ast;\n const refStr = astToString(reference);\n\n // Remove sheet name and workbook name from reference if present (since we're adding the 3D range prefix)\n let cleanRef = refStr;\n if (cleanRef.includes(\"!\")) {\n cleanRef = cleanRef.split(\"!\")[1]!;\n }\n // Remove workbook prefix if present\n if (cleanRef.startsWith(\"[\") && cleanRef.includes(\"]\")) {\n const bracketEnd = cleanRef.indexOf(\"]\");\n cleanRef = cleanRef.substring(bracketEnd + 1);\n }\n\n const quotedStartSheet = startSheet.includes(\" \")\n ? `'${startSheet}'`\n : startSheet;\n const quotedEndSheet = endSheet.includes(\" \") ? `'${endSheet}'` : endSheet;\n\n let result = `${quotedStartSheet}:${quotedEndSheet}!${cleanRef}`;\n\n if (workbookName) {\n result = `[${workbookName}]${result}`;\n }\n\n return result;\n}\n\n/**\n * Check if a column name contains special characters that require double bracket syntax\n */\nfunction needsColumnBrackets(columnName: string): boolean {\n // Column names need extra brackets if they contain spaces or special characters\n // Note: Colons are NOT included here since they can be part of column names\n // Column ranges must use explicit double-bracket syntax: [[Col1]:[Col2]]\n return /[\\s\\[\\]#@,=/]/.test(columnName);\n}\n\nfunction formatStructuredReference(ast: StructuredReferenceNode): string {\n const { tableName, sheetName, workbookName, cols, selector, isCurrentRow } =\n ast;\n\n if (!tableName && isCurrentRow) {\n // Current row reference like [@Column] or @Column\n if (cols && cols.startCol) {\n return `[@${cols.startCol}]`;\n }\n return \"@\";\n }\n\n if (!tableName && !isCurrentRow) {\n // Bare column reference like [Column] or [#Data]\n if (selector) {\n return `[${selector}]`;\n } else if (cols) {\n const startNeedsBrackets = needsColumnBrackets(cols.startCol);\n\n if (cols.startCol === cols.endCol) {\n // Single column\n if (startNeedsBrackets) {\n return `[[${cols.startCol}]]`;\n } else {\n return `[${cols.startCol}]`;\n }\n } else {\n // Column range - always use double-bracket syntax to avoid ambiguity\n // with column names that contain colons\n return `[[${cols.startCol}]:[${cols.endCol}]]`;\n }\n }\n return \"[]\"; // Empty bare reference (shouldn't happen)\n }\n\n let result = \"\";\n\n if (workbookName) {\n result += `[${workbookName}]`;\n }\n\n if (sheetName) {\n const quotedSheet = sheetName.includes(\" \") ? `'${sheetName}'` : sheetName;\n result += `${quotedSheet}!`;\n }\n\n result += tableName;\n\n if (selector && cols) {\n // Complex syntax like Table1[[#Headers],[Column1]] or Table1[[#Headers],[Col1]:[Col2]]\n const colRef =\n cols.startCol === cols.endCol\n ? `[${cols.startCol}]` // Single column: [Column]\n : `[${cols.startCol}]:[${cols.endCol}]`; // Range: [Col1]:[Col2]\n result += `[[${selector}],${colRef}]`;\n } else if (selector) {\n // Simple selector like Table1[#Data]\n result += `[${selector}]`;\n } else if (cols) {\n const startNeedsBrackets = needsColumnBrackets(cols.startCol);\n const endNeedsBrackets =\n cols.startCol !== cols.endCol && needsColumnBrackets(cols.endCol);\n const anyNeedsBrackets = startNeedsBrackets || endNeedsBrackets;\n\n if (isCurrentRow) {\n // Current row references\n if (cols.startCol === cols.endCol) {\n // Single column - always use simple format [@ColumnName]\n // No need for double brackets even if column name has spaces\n result += `[@${cols.startCol}]`;\n } else {\n // Column range - always use double-bracket syntax to avoid ambiguity\n // with column names that contain colons\n result += `[@[${cols.startCol}]:[${cols.endCol}]]`;\n }\n } else {\n // Regular column references\n if (cols.startCol === cols.endCol) {\n // Single column - always use single brackets for table references\n result += `[${cols.startCol}]`;\n } else {\n // Column range - always use double-bracket syntax to avoid ambiguity\n // with column names that contain colons\n result += `[[${cols.startCol}]:[${cols.endCol}]]`;\n }\n }\n }\n\n return result;\n}\n\nexport function formatFormula(formula: string): string {\n return astToString(parseFormula(formula));\n}\n\nexport function normalizeSerializedCellValue(\n value: SerializedCellValue\n): SerializedCellValue {\n if (value === undefined || (typeof value === \"string\" && value === \"\"))\n return \"\";\n\n if (typeof value === \"string\" && value.startsWith(\"=\")) {\n return `=${formatFormula(value.slice(1))}`;\n }\n\n return value;\n}\n\nexport function isSerializedCellValueEqual(\n a: SerializedCellValue,\n b: SerializedCellValue\n): boolean {\n const normalizedA = normalizeSerializedCellValue(a);\n const normalizedB = normalizeSerializedCellValue(b);\n\n return normalizedA === normalizedB;\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "9A962765FF02950C64756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "DEDFCFE61428B68064756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -2,27 +2,37 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __moduleCache = /* @__PURE__ */ new WeakMap;
5
+ function __accessProp(key) {
6
+ return this[key];
7
+ }
6
8
  var __toCommonJS = (from) => {
7
- var entry = __moduleCache.get(from), desc;
9
+ var entry = (__moduleCache ??= new WeakMap).get(from), desc;
8
10
  if (entry)
9
11
  return entry;
10
12
  entry = __defProp({}, "__esModule", { value: true });
11
- if (from && typeof from === "object" || typeof from === "function")
12
- __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
13
- get: () => from[key],
14
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
- }));
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (var key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(entry, key))
16
+ __defProp(entry, key, {
17
+ get: __accessProp.bind(from, key),
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
16
21
  __moduleCache.set(from, entry);
17
22
  return entry;
18
23
  };
24
+ var __moduleCache;
25
+ var __returnValue = (v) => v;
26
+ function __exportSetter(name, newValue) {
27
+ this[name] = __returnValue.bind(null, newValue);
28
+ }
19
29
  var __export = (target, all) => {
20
30
  for (var name in all)
21
31
  __defProp(target, name, {
22
32
  get: all[name],
23
33
  enumerable: true,
24
34
  configurable: true,
25
- set: (newValue) => all[name] = () => newValue
35
+ set: __exportSetter.bind(all, name)
26
36
  });
27
37
  };
28
38
 
@@ -372,4 +382,4 @@ function parseStructuredReference(ref) {
372
382
  };
373
383
  }
374
384
 
375
- //# debugId=DB9E90D22837B2F964756E2164756E21
385
+ //# debugId=638E802D80827AB664756E2164756E21
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "/**\n * Grammar rules and operator precedence for formula parsing\n */\n\nimport type { BinaryOpNode } from \"./ast.cjs\";\n\n/**\n * Operator precedence levels (higher number = higher precedence)\n */\nexport const OPERATOR_PRECEDENCE: Record<string, number> = {\n // Comparison operators (lowest precedence)\n \"=\": 1,\n \"<>\": 1,\n \"<\": 1,\n \">\": 1,\n \"<=\": 1,\n \">=\": 1,\n\n // Concatenation\n \"&\": 2,\n\n // Addition and subtraction\n \"+\": 3,\n \"-\": 3,\n\n // Multiplication and division\n \"*\": 4,\n \"/\": 4,\n\n // Exponentiation (highest precedence)\n \"^\": 5,\n};\n\n/**\n * Operator associativity\n */\ntype Associativity = \"left\" | \"right\";\n\nexport const OPERATOR_ASSOCIATIVITY: Record<string, Associativity> = {\n \"=\": \"left\",\n \"<>\": \"left\",\n \"<\": \"left\",\n \">\": \"left\",\n \"<=\": \"left\",\n \">=\": \"left\",\n \"&\": \"left\",\n \"+\": \"left\",\n \"-\": \"left\",\n \"*\": \"left\",\n \"/\": \"left\",\n \"^\": \"right\", // Exponentiation is right-associative\n};\n\n/**\n * Check if a string is a valid binary operator\n */\nexport function isBinaryOperator(op: string): op is BinaryOpNode[\"operator\"] {\n return op in OPERATOR_PRECEDENCE;\n}\n\n/**\n * Get operator precedence\n */\nexport function getOperatorPrecedence(op: string): number {\n return OPERATOR_PRECEDENCE[op] || 0;\n}\n\n/**\n * Get operator associativity\n */\nexport function getOperatorAssociativity(op: string): Associativity {\n return OPERATOR_ASSOCIATIVITY[op] || \"left\";\n}\n\n/**\n * Compare operator precedence\n * Returns:\n * - positive if op1 has higher precedence than op2\n * - negative if op1 has lower precedence than op2\n * - 0 if they have the same precedence\n */\nexport function compareOperatorPrecedence(op1: string, op2: string): number {\n return getOperatorPrecedence(op1) - getOperatorPrecedence(op2);\n}\n\n/**\n * Built-in function names that don't require parentheses in some contexts\n */\nexport const SPECIAL_FUNCTIONS = new Set([\n \"PI\", // PI() can be written as PI\n \"TRUE\", // TRUE() can be written as TRUE\n \"FALSE\", // FALSE() can be written as FALSE\n \"NA\", // NA() can be written as NA\n]);\n\n/**\n * Special constants\n */\nexport const SPECIAL_CONSTANTS = new Set([\n \"INFINITY\", // Infinity literal\n]);\n\n/**\n * Functions that accept variable number of arguments\n */\nexport const VARIADIC_FUNCTIONS = new Set([\n \"SUM\",\n \"PRODUCT\",\n \"COUNT\",\n \"MAX\",\n \"MIN\",\n \"AND\",\n \"OR\",\n \"XOR\",\n \"CONCATENATE\",\n \"CHOOSE\",\n \"IFS\",\n \"SWITCH\",\n]);\n\n/**\n * Functions that require at least one argument\n */\nexport const REQUIRED_ARG_FUNCTIONS = new Set([\n \"SUM\",\n \"PRODUCT\",\n \"COUNT\",\n \"MAX\",\n \"MIN\",\n \"AVERAGE\",\n \"MEDIAN\",\n \"STDEV\",\n \"VAR\",\n \"AND\",\n \"OR\",\n \"XOR\",\n \"CONCATENATE\",\n]);\n\n/**\n * Reserved keywords that cannot be used as names\n */\nexport const RESERVED_KEYWORDS = new Set([\n \"TRUE\",\n \"FALSE\",\n \"NULL\",\n \"DIV\",\n \"MOD\",\n \"AND\",\n \"OR\",\n \"NOT\",\n \"XOR\",\n]);\n\n/**\n * Check if a name is a reserved keyword\n */\nexport function isReservedKeyword(name: string): boolean {\n return RESERVED_KEYWORDS.has(name.toUpperCase());\n}\n\n/**\n * Grammar production rules (in BNF-like notation):\n *\n * Formula ::= Expression\n *\n * Expression ::= ComparisonExpr\n *\n * ComparisonExpr ::= ConcatExpr (ComparisonOp ConcatExpr)*\n * ComparisonOp ::= '=' | '<>' | '<' | '>' | '<=' | '>='\n *\n * ConcatExpr ::= AddExpr ('&' AddExpr)*\n *\n * AddExpr ::= MultExpr (AddOp MultExpr)*\n * AddOp ::= '+' | '-'\n *\n * MultExpr ::= PowerExpr (MultOp PowerExpr)*\n * MultOp ::= '*' | '/'\n *\n * PowerExpr ::= UnaryExpr ('^' PowerExpr)? // Right associative\n *\n * UnaryExpr ::= UnaryOp UnaryExpr | PostfixExpr\n * UnaryOp ::= '+' | '-'\n *\n * PostfixExpr ::= PrimaryExpr ('%')?\n *\n * PrimaryExpr ::= Number\n * | String\n * | Boolean\n * | Error\n * | CellReference\n * | RangeReference\n * | NamedExpression\n * | FunctionCall\n * | ArrayLiteral\n * | '(' Expression ')'\n *\n * CellReference ::= (SheetName '!')? AbsoluteIndicator? Column AbsoluteIndicator? Row\n * RangeReference ::= CellReference ':' CellReference\n *\n * SheetName ::= Identifier | '\\'' AnyCharsExceptQuote '\\''\n * AbsoluteIndicator ::= '$'\n *\n * NamedExpression ::= Identifier // Not followed by '(' or ':'\n *\n * FunctionCall ::= FunctionName '(' ArgumentList? ')'\n * ArgumentList ::= Expression (',' Expression)*\n *\n * ArrayLiteral ::= '{' ArrayRows '}'\n * ArrayRows ::= ArrayRow (';' ArrayRow)*\n * ArrayRow ::= Expression (',' Expression)*\n *\n * Number ::= [+-]? [0-9]+ ('.' [0-9]+)? ([eE] [+-]? [0-9]+)?\n * String ::= '\"' (AnyCharExceptQuote | '\"\"')* '\"'\n * Boolean ::= 'TRUE' | 'FALSE'\n * Error ::= '#DIV/0!' | '#N/A' | '#NAME?' | '#NUM!' | '#REF!' | '#VALUE!' | '#CYCLE!' | '#ERROR!'\n * Identifier ::= [A-Za-z_][A-Za-z0-9_]*\n * FunctionName ::= Identifier\n */\n\n/**\n * Cell reference patterns\n */\nexport const CELL_REFERENCE_PATTERNS = {\n // Column patterns\n COLUMN: /^[A-Z]+$/i,\n COLUMN_WITH_ABSOLUTE: /^\\$?[A-Z]+$/i,\n\n // Row patterns\n ROW: /^[1-9][0-9]*$/,\n ROW_WITH_ABSOLUTE: /^\\$?[1-9][0-9]*$/,\n\n // Full cell reference (e.g., A1, $A$1)\n CELL: /^(\\$)?([A-Z]+)(\\$)?([1-9][0-9]*)$/i,\n\n // Sheet qualified reference (e.g., Sheet1!A1, 'My Sheet'!$A$1)\n SHEET_QUALIFIED: /^(?:([A-Za-z_][A-Za-z0-9_]*)|'([^']+)')!(.+)$/,\n\n // 3D range sheet reference (e.g., Sheet1:Sheet5!A1)\n SHEET_RANGE_QUALIFIED:\n /^(?:(?:([A-Za-z_][A-Za-z0-9_]*)|'([^']+)'):(?:([A-Za-z_][A-Za-z0-9_]*)|'([^']+)'))!(.+)$/,\n\n // Infinite column range (e.g., A:A, $B:$B)\n INFINITE_COLUMN: /^(\\$)?([A-Z]+):(\\$)?([A-Z]+)$/i,\n\n // Infinite row range (e.g., 5:5, $10:$10)\n INFINITE_ROW: /^(\\$)?([1-9][0-9]*):(\\$)?([1-9][0-9]*)$/i,\n\n // Open-ended range patterns\n // A5:INFINITY (both row and column unbounded)\n OPEN_ENDED_INFINITY: /^(\\$)?([A-Z]+)(\\$)?([1-9][0-9]*):INFINITY$/i,\n \n // A5:D (open down only - bounded columns, unbounded rows)\n OPEN_ENDED_COLUMN: /^(\\$)?([A-Z]+)(\\$)?([1-9][0-9]*):(\\$)?([A-Z]+)$/i,\n \n // A5:15 (open right only - bounded rows, unbounded columns)\n OPEN_ENDED_ROW: /^(\\$)?([A-Z]+)(\\$)?([1-9][0-9]*):(\\$)?([1-9][0-9]*)$/i,\n\n // Structured reference patterns\n TABLE_REFERENCE: /^([A-Za-z_][A-Za-z0-9_]*)\\[(.+)\\]$/,\n CURRENT_ROW_REFERENCE: /^@([A-Za-z_][A-Za-z0-9_]*)$/,\n TABLE_SELECTOR: /^#(All|Data|Headers)$/i,\n};\n\n/**\n * Validate a column reference\n */\nexport function isValidColumn(col: string): boolean {\n return CELL_REFERENCE_PATTERNS.COLUMN.test(col);\n}\n\n/**\n * Validate a row reference\n */\nexport function isValidRow(row: string): boolean {\n return CELL_REFERENCE_PATTERNS.ROW.test(row);\n}\n\n/**\n * Parse a cell reference into components\n */\ninterface ParsedCellReference {\n sheet?: string;\n colAbsolute: boolean;\n col: string;\n rowAbsolute: boolean;\n row: string;\n}\n\ninterface ParsedInfiniteRange {\n sheet?: string;\n type: \"column\" | \"row\";\n startAbsolute: boolean;\n start: string;\n endAbsolute: boolean;\n end: string;\n}\n\nexport function parseCellReference(ref: string): ParsedCellReference | null {\n // Check for sheet qualifier\n const sheetMatch = ref.match(CELL_REFERENCE_PATTERNS.SHEET_QUALIFIED);\n let sheet: string | undefined;\n let cellPart: string;\n\n if (sheetMatch && sheetMatch[3]) {\n sheet = sheetMatch[1] || sheetMatch[2]; // Either unquoted or quoted sheet name\n cellPart = sheetMatch[3];\n } else {\n cellPart = ref;\n }\n\n // Parse cell part\n const cellMatch = cellPart.match(CELL_REFERENCE_PATTERNS.CELL);\n if (!cellMatch || !cellMatch[2] || !cellMatch[4]) {\n return null;\n }\n\n return {\n sheet,\n colAbsolute: cellMatch[1] === \"$\",\n col: cellMatch[2].toUpperCase(),\n rowAbsolute: cellMatch[3] === \"$\",\n row: cellMatch[4],\n };\n}\n\nexport function parseInfiniteRange(ref: string): ParsedInfiniteRange | null {\n // Check for sheet qualifier\n const sheetMatch = ref.match(CELL_REFERENCE_PATTERNS.SHEET_QUALIFIED);\n let sheet: string | undefined;\n let rangePart: string;\n\n if (sheetMatch && sheetMatch[3]) {\n sheet = sheetMatch[1] || sheetMatch[2]; // Either unquoted or quoted sheet name\n rangePart = sheetMatch[3];\n } else {\n rangePart = ref;\n }\n\n // Check for infinite column range (e.g., A:A, B:C)\n const colMatch = rangePart.match(CELL_REFERENCE_PATTERNS.INFINITE_COLUMN);\n if (colMatch && colMatch[2] && colMatch[4]) {\n return {\n sheet,\n type: \"column\",\n startAbsolute: colMatch[1] === \"$\",\n start: colMatch[2].toUpperCase(),\n endAbsolute: colMatch[3] === \"$\",\n end: colMatch[4].toUpperCase(),\n };\n }\n\n // Check for infinite row range (e.g., 5:5, 1:10)\n const rowMatch = rangePart.match(CELL_REFERENCE_PATTERNS.INFINITE_ROW);\n if (rowMatch && rowMatch[2] && rowMatch[4]) {\n return {\n sheet,\n type: \"row\",\n startAbsolute: rowMatch[1] === \"$\",\n start: rowMatch[2],\n endAbsolute: rowMatch[3] === \"$\",\n end: rowMatch[4],\n };\n }\n\n return null;\n}\n\n/**\n * Parse open-ended range patterns (A5:INFINITY, A5:D, A5:15)\n */\ninterface ParsedOpenEndedRange {\n sheet?: string;\n type: \"infinity\" | \"column-bounded\" | \"row-bounded\";\n startCol: string;\n startRow: string;\n startColAbsolute: boolean;\n startRowAbsolute: boolean;\n endCol?: string;\n endRow?: string;\n endColAbsolute?: boolean;\n endRowAbsolute?: boolean;\n}\n\nexport function parseOpenEndedRange(ref: string): ParsedOpenEndedRange | null {\n // Check for sheet qualifier\n const sheetMatch = ref.match(CELL_REFERENCE_PATTERNS.SHEET_QUALIFIED);\n let sheet: string | undefined;\n let rangePart: string;\n\n if (sheetMatch && sheetMatch[3]) {\n sheet = sheetMatch[1] || sheetMatch[2]; // Either unquoted or quoted sheet name\n rangePart = sheetMatch[3];\n } else {\n rangePart = ref;\n }\n\n // Check for A5:INFINITY pattern\n const infinityMatch = rangePart.match(CELL_REFERENCE_PATTERNS.OPEN_ENDED_INFINITY);\n if (infinityMatch && infinityMatch[2] && infinityMatch[4]) {\n return {\n sheet,\n type: \"infinity\",\n startCol: infinityMatch[2].toUpperCase(),\n startRow: infinityMatch[4],\n startColAbsolute: infinityMatch[1] === \"$\",\n startRowAbsolute: infinityMatch[3] === \"$\",\n };\n }\n\n // Check for A5:D pattern (open down only)\n // We need to be more careful here to distinguish from normal cell ranges\n const colonIndex = rangePart.indexOf(':');\n if (colonIndex !== -1) {\n const startPart = rangePart.substring(0, colonIndex);\n const endPart = rangePart.substring(colonIndex + 1);\n \n // Parse start part as a cell reference\n const startMatch = startPart.match(/^(\\$)?([A-Z]+)(\\$)?([1-9][0-9]*)$/i);\n if (startMatch && startMatch[2] && startMatch[4]) {\n // Check if end part is just a column (A5:D pattern)\n const endColMatch = endPart.match(/^(\\$)?([A-Z]+)$/i);\n if (endColMatch && endColMatch[2]) {\n return {\n sheet,\n type: \"column-bounded\",\n startCol: startMatch[2].toUpperCase(),\n startRow: startMatch[4],\n startColAbsolute: startMatch[1] === \"$\",\n startRowAbsolute: startMatch[3] === \"$\",\n endCol: endColMatch[2].toUpperCase(),\n endColAbsolute: endColMatch[1] === \"$\",\n };\n }\n \n // Check if end part is just a row number (A5:15 pattern)\n const endRowMatch = endPart.match(/^(\\$)?([1-9][0-9]*)$/);\n if (endRowMatch && endRowMatch[2]) {\n return {\n sheet,\n type: \"row-bounded\",\n startCol: startMatch[2].toUpperCase(),\n startRow: startMatch[4],\n startColAbsolute: startMatch[1] === \"$\",\n startRowAbsolute: startMatch[3] === \"$\",\n endRow: endRowMatch[2],\n endRowAbsolute: endRowMatch[1] === \"$\",\n };\n }\n }\n }\n\n return null;\n}\n\n/**\n * Parse a 3D range reference (e.g., Sheet1:Sheet3!A1)\n */\ninterface Parsed3DReference {\n startSheet: string;\n endSheet: string;\n reference: string;\n}\n\nexport function parse3DReference(ref: string): Parsed3DReference | null {\n const match = ref.match(CELL_REFERENCE_PATTERNS.SHEET_RANGE_QUALIFIED);\n if (!match || !match[5]) {\n return null;\n }\n\n const startSheet = match[1] || match[2]; // Unquoted or quoted start sheet\n const endSheet = match[3] || match[4]; // Unquoted or quoted end sheet\n\n if (!startSheet || !endSheet) {\n return null;\n }\n\n return {\n startSheet,\n endSheet,\n reference: match[5],\n };\n}\n\n/**\n * Parse a structured reference (e.g., Table1[Column1])\n */\ninterface ParsedStructuredReference {\n tableName: string;\n columnSpec: string;\n isCurrentRow?: boolean;\n selector?: string;\n cols?: {\n startCol: string;\n endCol: string;\n };\n}\n\nexport function parseStructuredReference(\n ref: string\n): ParsedStructuredReference | null {\n // Check for current row reference (e.g., [@Column])\n if (ref.startsWith(\"@\")) {\n const colName = ref.substring(1);\n if (/^[A-Za-z_][A-Za-z0-9_]*$/.test(colName)) {\n return {\n tableName: \"\",\n columnSpec: colName,\n isCurrentRow: true,\n cols: {\n startCol: colName,\n endCol: colName,\n },\n };\n }\n }\n\n // Check for table reference (e.g., Table1[Column1])\n const match = ref.match(CELL_REFERENCE_PATTERNS.TABLE_REFERENCE);\n if (!match || !match[1] || !match[2]) {\n return null;\n }\n\n const tableName = match[1];\n const columnSpec = match[2];\n\n // Parse column spec for selectors and column name/range\n let selector: string | undefined;\n let cols: { startCol: string; endCol: string } | undefined;\n\n // Check if column spec contains selector (e.g., [#Headers],[Column1])\n const selectorMatch = columnSpec.match(/^\\[#(All|Data|Headers)\\],\\[(.+)\\]$/i);\n if (selectorMatch && selectorMatch[1] && selectorMatch[2]) {\n selector = \"#\" + selectorMatch[1];\n const colSpec = selectorMatch[2];\n\n // Check if it's a column range [Column1]:[Column2]\n const rangeMatch = colSpec.match(/^(.+):(.+)$/);\n if (rangeMatch && rangeMatch[1] && rangeMatch[2]) {\n cols = {\n startCol: rangeMatch[1].trim(),\n endCol: rangeMatch[2].trim(),\n };\n } else {\n cols = {\n startCol: colSpec,\n endCol: colSpec,\n };\n }\n } else if (columnSpec.startsWith(\"@\")) {\n // Table with current row reference (e.g., Table1[@Column1])\n const colName = columnSpec.substring(1);\n return {\n tableName,\n columnSpec: colName,\n isCurrentRow: true,\n cols: {\n startCol: colName,\n endCol: colName,\n },\n };\n } else if (columnSpec.startsWith(\"#\")) {\n // Just a selector (e.g., Table1[#Data])\n const selectorMatch = columnSpec.match(/^#(All|Data|Headers)$/i);\n if (selectorMatch) {\n selector = columnSpec;\n }\n } else {\n // Check if it's a column range [Column1]:[Column2]\n const rangeMatch = columnSpec.match(/^(.+):(.+)$/);\n if (rangeMatch && rangeMatch[1] && rangeMatch[2]) {\n cols = {\n startCol: rangeMatch[1].trim(),\n endCol: rangeMatch[2].trim(),\n };\n } else {\n // Simple column reference\n cols = {\n startCol: columnSpec,\n endCol: columnSpec,\n };\n }\n }\n\n return {\n tableName,\n columnSpec,\n selector,\n cols,\n };\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "DB9E90D22837B2F964756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "638E802D80827AB664756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -2,27 +2,37 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __moduleCache = /* @__PURE__ */ new WeakMap;
5
+ function __accessProp(key) {
6
+ return this[key];
7
+ }
6
8
  var __toCommonJS = (from) => {
7
- var entry = __moduleCache.get(from), desc;
9
+ var entry = (__moduleCache ??= new WeakMap).get(from), desc;
8
10
  if (entry)
9
11
  return entry;
10
12
  entry = __defProp({}, "__esModule", { value: true });
11
- if (from && typeof from === "object" || typeof from === "function")
12
- __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
13
- get: () => from[key],
14
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
- }));
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (var key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(entry, key))
16
+ __defProp(entry, key, {
17
+ get: __accessProp.bind(from, key),
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
16
21
  __moduleCache.set(from, entry);
17
22
  return entry;
18
23
  };
24
+ var __moduleCache;
25
+ var __returnValue = (v) => v;
26
+ function __exportSetter(name, newValue) {
27
+ this[name] = __returnValue.bind(null, newValue);
28
+ }
19
29
  var __export = (target, all) => {
20
30
  for (var name in all)
21
31
  __defProp(target, name, {
22
32
  get: all[name],
23
33
  enumerable: true,
24
34
  configurable: true,
25
- set: (newValue) => all[name] = () => newValue
35
+ set: __exportSetter.bind(all, name)
26
36
  });
27
37
  };
28
38
 
@@ -440,4 +450,4 @@ class TokenStream {
440
450
  }
441
451
  }
442
452
 
443
- //# debugId=7D8B3D76E666735964756E2164756E21
453
+ //# debugId=70BA6E99762B9A5564756E2164756E21
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "/**\n * Lexer for tokenizing formula strings\n */\n\nimport type { FormulaError } from '../core/types.cjs';\n\n/**\n * Token types for formula lexing\n */\nexport type TokenType =\n | 'NUMBER'\n | 'STRING'\n | 'BOOLEAN'\n | 'IDENTIFIER'\n | 'FUNCTION'\n | 'OPERATOR'\n | 'LPAREN'\n | 'RPAREN'\n | 'LBRACE'\n | 'RBRACE'\n | 'LBRACKET'\n | 'RBRACKET'\n | 'COMMA'\n | 'SEMICOLON'\n | 'COLON'\n | 'DOLLAR'\n | 'EXCLAMATION'\n | 'AT'\n | 'HASH'\n | 'INFINITY'\n | 'ERROR'\n | 'EOF'\n | 'WHITESPACE';\n\n/**\n * Token interface\n */\nexport interface Token {\n type: TokenType;\n value: string;\n position: {\n start: number;\n end: number;\n };\n}\n\n/**\n * Lexer class for tokenizing formula strings\n */\nexport class Lexer {\n private input: string;\n private position: number;\n private tokens: Token[];\n \n constructor(input: string) {\n this.input = input;\n this.position = 0;\n this.tokens = [];\n }\n \n /**\n * Tokenize the entire input string\n */\n tokenize(): Token[] {\n this.tokens = [];\n this.position = 0;\n \n while (this.position < this.input.length) {\n const token = this.nextToken();\n if (token && token.type !== 'WHITESPACE') {\n this.tokens.push(token);\n }\n }\n \n // Add EOF token\n this.tokens.push({\n type: 'EOF',\n value: '',\n position: { start: this.position, end: this.position }\n });\n \n return this.tokens;\n }\n \n /**\n * Get the next token from the input\n */\n private nextToken(): Token | null {\n const start = this.position;\n \n // Check for single-character tokens\n const char = this.input[this.position];\n if (char === undefined) {\n return null;\n }\n \n // Skip whitespace\n if (this.isWhitespace()) {\n return this.readWhitespace();\n }\n \n switch (char) {\n case '(':\n this.position++;\n return { type: 'LPAREN', value: char, position: { start, end: this.position } };\n case ')':\n this.position++;\n return { type: 'RPAREN', value: char, position: { start, end: this.position } };\n case '{':\n this.position++;\n return { type: 'LBRACE', value: char, position: { start, end: this.position } };\n case '}':\n this.position++;\n return { type: 'RBRACE', value: char, position: { start, end: this.position } };\n case '[':\n this.position++;\n return { type: 'LBRACKET', value: char, position: { start, end: this.position } };\n case ']':\n this.position++;\n return { type: 'RBRACKET', value: char, position: { start, end: this.position } };\n case ',':\n this.position++;\n return { type: 'COMMA', value: char, position: { start, end: this.position } };\n case ';':\n this.position++;\n return { type: 'SEMICOLON', value: char, position: { start, end: this.position } };\n case ':':\n this.position++;\n return { type: 'COLON', value: char, position: { start, end: this.position } };\n case '$':\n this.position++;\n return { type: 'DOLLAR', value: char, position: { start, end: this.position } };\n case '!':\n this.position++;\n return { type: 'EXCLAMATION', value: char, position: { start, end: this.position } };\n case '@':\n this.position++;\n return { type: 'AT', value: char, position: { start, end: this.position } };\n case '\"':\n return this.readString();\n case \"'\":\n return this.readSheetName();\n case '#':\n // Check if it's a table selector or an error\n if (this.position + 1 < this.input.length) {\n const nextChar = this.input[this.position + 1];\n if (nextChar && this.isAlpha(nextChar)) {\n // Might be a table selector (#Headers, #Data, etc.) or error\n const lookahead = this.peekSelector();\n if (lookahead) {\n this.position++;\n return { type: 'HASH', value: char, position: { start, end: this.position } };\n }\n }\n }\n return this.readError();\n case '+':\n case '-':\n // Always treat as operator - parser will handle unary operators\n this.position++;\n return { type: 'OPERATOR', value: char, position: { start, end: this.position } };\n case '*':\n case '/':\n case '^':\n case '&':\n case '%':\n this.position++;\n return { type: 'OPERATOR', value: char, position: { start, end: this.position } };\n case '=':\n this.position++;\n return { type: 'OPERATOR', value: char, position: { start, end: this.position } };\n case '<':\n if (this.position + 1 < this.input.length && this.input[this.position + 1] === '>') {\n this.position += 2;\n return { type: 'OPERATOR', value: '<>', position: { start, end: this.position } };\n }\n if (this.position + 1 < this.input.length && this.input[this.position + 1] === '=') {\n this.position += 2;\n return { type: 'OPERATOR', value: '<=', position: { start, end: this.position } };\n }\n this.position++;\n return { type: 'OPERATOR', value: char, position: { start, end: this.position } };\n case '>':\n if (this.position + 1 < this.input.length && this.input[this.position + 1] === '=') {\n this.position += 2;\n return { type: 'OPERATOR', value: '>=', position: { start, end: this.position } };\n }\n this.position++;\n return { type: 'OPERATOR', value: char, position: { start, end: this.position } };\n }\n \n // Check for numbers\n if (char && this.isDigit(char)) {\n return this.readNumber();\n }\n \n // Check for decimal numbers starting with .\n if (char === '.') {\n const nextChar = this.input[this.position + 1];\n if (this.position + 1 < this.input.length && nextChar !== undefined && this.isDigit(nextChar)) {\n return this.readNumber();\n }\n // Otherwise it's an error\n this.position++;\n return { type: 'ERROR', value: char, position: { start, end: this.position } };\n }\n \n // Check for identifiers (cell references, function names, boolean values)\n if (char && (this.isAlpha(char) || char === '_' || this.isIdentifierChar(char))) {\n return this.readIdentifier();\n }\n \n // Unknown character\n this.position++;\n return { type: 'ERROR', value: char, position: { start, end: this.position } };\n }\n \n /**\n * Read a whitespace token\n */\n private readWhitespace(): Token {\n const start = this.position;\n while (this.position < this.input.length && this.isWhitespace()) {\n this.position++;\n }\n return {\n type: 'WHITESPACE',\n value: this.input.substring(start, this.position),\n position: { start, end: this.position }\n };\n }\n \n /**\n * Read a number token\n */\n private readNumber(): Token {\n const start = this.position;\n let hasDecimal = false;\n let hasExponent = false;\n \n // Check for sign\n let currentChar = this.input[this.position];\n if (currentChar === '+' || currentChar === '-') {\n this.position++;\n }\n \n // Read integer part\n while (this.position < this.input.length) {\n currentChar = this.input[this.position];\n if (currentChar && this.isDigit(currentChar)) {\n this.position++;\n } else {\n break;\n }\n }\n \n // Read decimal part\n if (this.position < this.input.length) {\n currentChar = this.input[this.position];\n if (currentChar === '.') {\n hasDecimal = true;\n this.position++;\n while (this.position < this.input.length) {\n currentChar = this.input[this.position];\n if (currentChar && this.isDigit(currentChar)) {\n this.position++;\n } else {\n break;\n }\n }\n }\n }\n \n // Read exponent part\n if (this.position < this.input.length) {\n currentChar = this.input[this.position];\n if (currentChar === 'E' || currentChar === 'e') {\n hasExponent = true;\n this.position++;\n \n // Optional sign\n if (this.position < this.input.length) {\n currentChar = this.input[this.position];\n if (currentChar === '+' || currentChar === '-') {\n this.position++;\n }\n }\n \n // Exponent digits\n while (this.position < this.input.length) {\n currentChar = this.input[this.position];\n if (currentChar && this.isDigit(currentChar)) {\n this.position++;\n } else {\n break;\n }\n }\n }\n }\n \n const value = this.input.substring(start, this.position);\n return { type: 'NUMBER', value, position: { start, end: this.position } };\n }\n \n /**\n * Read a string token (enclosed in double quotes)\n */\n private readString(): Token {\n const start = this.position;\n this.position++; // Skip opening quote\n \n let value = '';\n while (this.position < this.input.length) {\n const char = this.input[this.position];\n \n if (char === '\"') {\n // Check for escaped quote\n if (this.position + 1 < this.input.length && this.input[this.position + 1] === '\"') {\n value += '\"';\n this.position += 2;\n } else {\n // End of string\n this.position++;\n break;\n }\n } else {\n value += char;\n this.position++;\n }\n }\n \n return { type: 'STRING', value, position: { start, end: this.position } };\n }\n \n /**\n * Read a sheet name (enclosed in single quotes)\n */\n private readSheetName(): Token {\n const start = this.position;\n this.position++; // Skip opening quote\n \n let value = \"'\";\n while (this.position < this.input.length) {\n const char = this.input[this.position];\n \n if (char === \"'\") {\n // Check for escaped quote\n if (this.position + 1 < this.input.length && this.input[this.position + 1] === \"'\") {\n value += \"''\";\n this.position += 2;\n } else {\n // End of sheet name\n value += char;\n this.position++;\n break;\n }\n } else {\n value += char;\n this.position++;\n }\n }\n \n // This is actually part of an identifier (sheet reference)\n return { type: 'IDENTIFIER', value: value, position: { start, end: this.position } };\n }\n \n /**\n * Read an error token (e.g., #DIV/0!)\n */\n private readError(): Token {\n const start = this.position;\n this.position++; // Skip #\n \n // Read until we hit a non-alphanumeric character or special error characters\n while (this.position < this.input.length) {\n const char = this.input[this.position];\n if (char && (this.isAlnum(char) || char === '/' || char === '!' || char === '?')) {\n this.position++;\n } else {\n break;\n }\n }\n \n const value = this.input.substring(start, this.position);\n return { type: 'ERROR', value, position: { start, end: this.position } };\n }\n \n /**\n * Read an identifier (cell reference, function name, boolean)\n */\n private readIdentifier(): Token {\n const start = this.position;\n \n // Read identifier characters\n while (this.position < this.input.length) {\n const char = this.input[this.position];\n if (char && (this.isAlnum(char) || char === '_' || char === '.' || this.isIdentifierChar(char))) {\n this.position++;\n } else {\n break;\n }\n }\n \n const value = this.input.substring(start, this.position);\n \n // Check if it's followed by an opening parenthesis (function call)\n let lookahead = this.position;\n while (lookahead < this.input.length) {\n const lookChar = this.input[lookahead];\n if (lookChar && this.isWhitespaceChar(lookChar)) {\n lookahead++;\n } else {\n break;\n }\n }\n \n if (lookahead < this.input.length) {\n const lookChar = this.input[lookahead];\n if (lookChar === '(') {\n return { type: 'FUNCTION', value: value.toUpperCase(), position: { start, end: this.position } };\n }\n }\n \n // Check if it's a boolean (only if not a function)\n if (value.toUpperCase() === 'TRUE' || value.toUpperCase() === 'FALSE') {\n return { type: 'BOOLEAN', value: value.toUpperCase(), position: { start, end: this.position } };\n }\n \n // Check if it's INFINITY\n if (value.toUpperCase() === 'INFINITY') {\n return { type: 'INFINITY', value: value.toUpperCase(), position: { start, end: this.position } };\n }\n \n return { type: 'IDENTIFIER', value, position: { start, end: this.position } };\n }\n \n /**\n * Check if current position is whitespace\n */\n private isWhitespace(): boolean {\n const char = this.input[this.position];\n return this.position < this.input.length && char !== undefined && this.isWhitespaceChar(char);\n }\n \n /**\n * Check if a character is whitespace\n */\n private isWhitespaceChar(char: string): boolean {\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n }\n \n /**\n * Check if a character is a digit\n */\n private isDigit(char: string): boolean {\n return char >= '0' && char <= '9';\n }\n \n /**\n * Check if a character is alphabetic\n */\n private isAlpha(char: string): boolean {\n // Basic ASCII letters\n if ((char >= 'A' && char <= 'Z') || (char >= 'a' && char <= 'z')) {\n return true;\n }\n \n // Unicode letter categories using regex\n // This includes letters from all languages and special symbols like µ\n return /\\p{L}/u.test(char);\n }\n \n /**\n * Check if a character is alphanumeric\n */\n private isAlnum(char: string): boolean {\n return this.isAlpha(char) || this.isDigit(char);\n }\n \n /**\n * Check if a character can be part of an identifier\n * This includes letters, certain symbols that are commonly used in column names\n */\n private isIdentifierChar(char: string): boolean {\n // Check for specific Unicode symbols that are commonly used in column names\n // We need to be very selective to avoid breaking operator parsing\n // Include: µ (micro), ° (degree), currency symbols, Greek letters, and other common scientific symbols\n // Exclude: mathematical operators like +, -, =, <, >, etc.\n const code = char.charCodeAt(0);\n \n // µ (micro symbol)\n if (code === 0x00B5) return true;\n \n // ° (degree symbol)\n if (code === 0x00B0) return true;\n \n // Currency symbols (but not $ which is handled separately)\n if (/\\p{Sc}/u.test(char) && char !== '$') return true;\n \n // Greek letters and other letter-like symbols that aren't basic ASCII\n // This excludes mathematical operators\n if (code > 127 && /\\p{L}/u.test(char)) return true;\n \n return false;\n }\n \n /**\n * Peek ahead to check if we have a table selector\n */\n private peekSelector(): boolean {\n const selectors = ['All', 'Data', 'Headers', 'ThisRow'];\n const currentPos = this.position + 1; // Skip the #\n \n for (const selector of selectors) {\n if (this.input.substring(currentPos, currentPos + selector.length).toUpperCase() === selector.toUpperCase()) {\n // Check that the next character is not alphanumeric (to avoid matching #DataSomething)\n const nextPos = currentPos + selector.length;\n if (nextPos >= this.input.length || !this.isAlnum(this.input[nextPos]!)) {\n return true;\n }\n }\n }\n \n return false;\n }\n}\n\n/**\n * Quick tokenization function\n */\nexport function tokenize(input: string): Token[] {\n const lexer = new Lexer(input);\n return lexer.tokenize();\n}\n\n/**\n * Token stream for parser consumption\n */\nexport class TokenStream {\n private tokens: Token[];\n private position: number;\n \n constructor(tokens: Token[]) {\n this.tokens = tokens;\n this.position = 0;\n }\n \n /**\n * Peek at current token without consuming\n */\n peek(): Token {\n if (this.position >= this.tokens.length || this.tokens.length === 0) {\n // Return a default EOF token if no tokens\n return { type: 'EOF', value: '', position: { start: 0, end: 0 } };\n }\n return this.tokens[this.position]!;\n }\n \n /**\n * Peek ahead by n tokens\n */\n peekAhead(n: number): Token | null {\n const pos = this.position + n;\n if (pos >= this.tokens.length || pos < 0) {\n return null;\n }\n return this.tokens[pos] ?? null;\n }\n \n /**\n * Peek at the next token without consuming\n */\n peekNext(): Token | null {\n const pos = this.position + 1;\n if (pos >= this.tokens.length) {\n return null;\n }\n return this.tokens[pos] ?? null;\n }\n \n /**\n * Consume current token and advance\n */\n consume(): Token {\n const token = this.peek();\n if (this.position < this.tokens.length - 1) {\n this.position++;\n }\n return token;\n }\n \n /**\n * Check if current token matches type\n */\n match(type: TokenType): boolean {\n return this.peek().type === type;\n }\n \n /**\n * Check if current token matches value\n */\n matchValue(value: string): boolean {\n return this.peek().value === value;\n }\n \n /**\n * Consume token if it matches type\n */\n consumeIf(type: TokenType): Token | null {\n if (this.match(type)) {\n return this.consume();\n }\n return null;\n }\n \n /**\n * Check if at end of stream\n */\n isAtEnd(): boolean {\n return this.peek().type === 'EOF';\n }\n \n /**\n * Get current position in stream\n */\n getPosition(): number {\n return this.position;\n }\n \n /**\n * Set position in stream\n */\n setPosition(position: number): void {\n this.position = Math.max(0, Math.min(position, this.tokens.length - 1));\n }\n \n /**\n * Get all tokens\n */\n getTokens(): Token[] {\n return this.tokens;\n }\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "7D8B3D76E666735964756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "70BA6E99762B9A5564756E2164756E21",
9
9
  "names": []
10
10
  }