ooxml-core 0.2.0 → 0.4.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 (558) hide show
  1. package/LICENSE +202 -202
  2. package/NOTICE +3 -3
  3. package/README.md +15 -14
  4. package/dist/docx/load/index.cjs +11 -11
  5. package/dist/docx/load/index.mjs +11 -11
  6. package/dist/index.cjs +34 -1
  7. package/dist/index.mjs +34 -1
  8. package/dist/opc/index.cjs +18 -1
  9. package/dist/opc/index.mjs +18 -1
  10. package/dist/opc/relationship-types.d.ts +17 -0
  11. package/dist/opc/relationship-types.d.ts.map +1 -1
  12. package/dist/pptx/cli/index.cjs +122 -105
  13. package/dist/pptx/cli/index.mjs +122 -105
  14. package/dist/pptx/index.cjs +144 -127
  15. package/dist/pptx/index.d.ts +8 -8
  16. package/dist/pptx/index.d.ts.map +1 -1
  17. package/dist/pptx/index.mjs +144 -127
  18. package/dist/visio/complex-geometry.d.ts +4 -0
  19. package/dist/visio/complex-geometry.d.ts.map +1 -0
  20. package/dist/visio/convert-metafile.d.ts +28 -0
  21. package/dist/visio/convert-metafile.d.ts.map +1 -0
  22. package/dist/visio/diagnostics.d.ts +8 -0
  23. package/dist/visio/diagnostics.d.ts.map +1 -0
  24. package/dist/visio/edit-package.d.ts +10 -0
  25. package/dist/visio/edit-package.d.ts.map +1 -0
  26. package/dist/visio/edit-text.d.ts +7 -0
  27. package/dist/visio/edit-text.d.ts.map +1 -0
  28. package/dist/visio/edit.d.ts +26 -0
  29. package/dist/visio/edit.d.ts.map +1 -0
  30. package/dist/visio/emf-admission-comment.d.ts +7 -0
  31. package/dist/visio/emf-admission-comment.d.ts.map +1 -0
  32. package/dist/visio/emf-admission-context.d.ts +59 -0
  33. package/dist/visio/emf-admission-context.d.ts.map +1 -0
  34. package/dist/visio/emf-admission-geometry.d.ts +3 -0
  35. package/dist/visio/emf-admission-geometry.d.ts.map +1 -0
  36. package/dist/visio/emf-admission-input.d.ts +8 -0
  37. package/dist/visio/emf-admission-input.d.ts.map +1 -0
  38. package/dist/visio/emf-admission-records.d.ts +6 -0
  39. package/dist/visio/emf-admission-records.d.ts.map +1 -0
  40. package/dist/visio/emf-admission-types.d.ts +80 -0
  41. package/dist/visio/emf-admission-types.d.ts.map +1 -0
  42. package/dist/visio/emf-admission.d.ts +9 -0
  43. package/dist/visio/emf-admission.d.ts.map +1 -0
  44. package/dist/visio/foreign-vector-graph.d.ts +4 -0
  45. package/dist/visio/foreign-vector-graph.d.ts.map +1 -0
  46. package/dist/visio/foreign-vector-path.d.ts +12 -0
  47. package/dist/visio/foreign-vector-path.d.ts.map +1 -0
  48. package/dist/visio/foreign-vector-types.d.ts +81 -0
  49. package/dist/visio/foreign-vector-types.d.ts.map +1 -0
  50. package/dist/visio/foreign-vector-validation.d.ts +4 -0
  51. package/dist/visio/foreign-vector-validation.d.ts.map +1 -0
  52. package/dist/visio/foreign-vector-values.d.ts +14 -0
  53. package/dist/visio/foreign-vector-values.d.ts.map +1 -0
  54. package/dist/visio/foreign-vector.d.ts +13 -0
  55. package/dist/visio/foreign-vector.d.ts.map +1 -0
  56. package/dist/visio/geometry.d.ts +8 -0
  57. package/dist/visio/geometry.d.ts.map +1 -0
  58. package/dist/visio/index.cjs +5522 -0
  59. package/dist/visio/index.d.ts +12 -0
  60. package/dist/visio/index.d.ts.map +1 -0
  61. package/dist/visio/index.mjs +5501 -0
  62. package/dist/visio/layers.d.ts +19 -0
  63. package/dist/visio/layers.d.ts.map +1 -0
  64. package/dist/visio/line-pattern.d.ts +5 -0
  65. package/dist/visio/line-pattern.d.ts.map +1 -0
  66. package/dist/visio/line-style.d.ts +12 -0
  67. package/dist/visio/line-style.d.ts.map +1 -0
  68. package/dist/visio/media.d.ts +36 -0
  69. package/dist/visio/media.d.ts.map +1 -0
  70. package/dist/visio/metadata.d.ts +4 -0
  71. package/dist/visio/metadata.d.ts.map +1 -0
  72. package/dist/visio/model.d.ts +203 -0
  73. package/dist/visio/model.d.ts.map +1 -0
  74. package/dist/visio/nurbs-flatten.d.ts +5 -0
  75. package/dist/visio/nurbs-flatten.d.ts.map +1 -0
  76. package/dist/visio/nurbs.d.ts +11 -0
  77. package/dist/visio/nurbs.d.ts.map +1 -0
  78. package/dist/visio/package-common.d.ts +39 -0
  79. package/dist/visio/package-common.d.ts.map +1 -0
  80. package/dist/visio/package.d.ts +30 -0
  81. package/dist/visio/package.d.ts.map +1 -0
  82. package/dist/visio/paragraphs.d.ts +10 -0
  83. package/dist/visio/paragraphs.d.ts.map +1 -0
  84. package/dist/visio/parser.d.ts +26 -0
  85. package/dist/visio/parser.d.ts.map +1 -0
  86. package/dist/visio/parts.d.ts +9 -0
  87. package/dist/visio/parts.d.ts.map +1 -0
  88. package/dist/visio/prepare-images.d.ts +7 -0
  89. package/dist/visio/prepare-images.d.ts.map +1 -0
  90. package/dist/visio/prepare-metafiles.d.ts +17 -0
  91. package/dist/visio/prepare-metafiles.d.ts.map +1 -0
  92. package/dist/visio/rounded-geometry.d.ts +17 -0
  93. package/dist/visio/rounded-geometry.d.ts.map +1 -0
  94. package/dist/visio/saved-fill-gradient.d.ts +13 -0
  95. package/dist/visio/saved-fill-gradient.d.ts.map +1 -0
  96. package/dist/visio/shape-metadata.d.ts +65 -0
  97. package/dist/visio/shape-metadata.d.ts.map +1 -0
  98. package/dist/visio/shapes.d.ts +24 -0
  99. package/dist/visio/shapes.d.ts.map +1 -0
  100. package/dist/visio/sheet.d.ts +57 -0
  101. package/dist/visio/sheet.d.ts.map +1 -0
  102. package/dist/visio/spline-geometry.d.ts +8 -0
  103. package/dist/visio/spline-geometry.d.ts.map +1 -0
  104. package/dist/visio/style-inheritance.d.ts +13 -0
  105. package/dist/visio/style-inheritance.d.ts.map +1 -0
  106. package/dist/visio/style.d.ts +11 -0
  107. package/dist/visio/style.d.ts.map +1 -0
  108. package/dist/visio/text-background.d.ts +10 -0
  109. package/dist/visio/text-background.d.ts.map +1 -0
  110. package/dist/visio/theme-color.d.ts +15 -0
  111. package/dist/visio/theme-color.d.ts.map +1 -0
  112. package/dist/visio/theme-gradient.d.ts +15 -0
  113. package/dist/visio/theme-gradient.d.ts.map +1 -0
  114. package/dist/visio/theme-line.d.ts +15 -0
  115. package/dist/visio/theme-line.d.ts.map +1 -0
  116. package/dist/visio/theme-resolve.d.ts +29 -0
  117. package/dist/visio/theme-resolve.d.ts.map +1 -0
  118. package/dist/visio/theme-root.d.ts +16 -0
  119. package/dist/visio/theme-root.d.ts.map +1 -0
  120. package/dist/visio/theme.d.ts +27 -0
  121. package/dist/visio/theme.d.ts.map +1 -0
  122. package/dist/visio/visibility.d.ts +42 -0
  123. package/dist/visio/visibility.d.ts.map +1 -0
  124. package/dist/visio/xml-validation.d.ts +5 -0
  125. package/dist/visio/xml-validation.d.ts.map +1 -0
  126. package/dist/visio/zip-validation.d.ts +4 -0
  127. package/dist/visio/zip-validation.d.ts.map +1 -0
  128. package/dist/xlsx/address.d.ts +42 -0
  129. package/dist/xlsx/address.d.ts.map +1 -0
  130. package/dist/xlsx/cell-styles.d.ts +25 -0
  131. package/dist/xlsx/cell-styles.d.ts.map +1 -0
  132. package/dist/xlsx/cells.d.ts +25 -0
  133. package/dist/xlsx/cells.d.ts.map +1 -0
  134. package/dist/xlsx/edit/annotations.d.ts +17 -0
  135. package/dist/xlsx/edit/annotations.d.ts.map +1 -0
  136. package/dist/xlsx/edit/band-formulas.d.ts +9 -0
  137. package/dist/xlsx/edit/band-formulas.d.ts.map +1 -0
  138. package/dist/xlsx/edit/borders.d.ts +8 -0
  139. package/dist/xlsx/edit/borders.d.ts.map +1 -0
  140. package/dist/xlsx/edit/calc-mode.d.ts +11 -0
  141. package/dist/xlsx/edit/calc-mode.d.ts.map +1 -0
  142. package/dist/xlsx/edit/cell-shift.d.ts +11 -0
  143. package/dist/xlsx/edit/cell-shift.d.ts.map +1 -0
  144. package/dist/xlsx/edit/cell-style.d.ts +9 -0
  145. package/dist/xlsx/edit/cell-style.d.ts.map +1 -0
  146. package/dist/xlsx/edit/cell-values.d.ts +21 -0
  147. package/dist/xlsx/edit/cell-values.d.ts.map +1 -0
  148. package/dist/xlsx/edit/charts.d.ts +22 -0
  149. package/dist/xlsx/edit/charts.d.ts.map +1 -0
  150. package/dist/xlsx/edit/clipboard-html-parse.d.ts +12 -0
  151. package/dist/xlsx/edit/clipboard-html-parse.d.ts.map +1 -0
  152. package/dist/xlsx/edit/clipboard-html.d.ts +8 -0
  153. package/dist/xlsx/edit/clipboard-html.d.ts.map +1 -0
  154. package/dist/xlsx/edit/clipboard-text.d.ts +8 -0
  155. package/dist/xlsx/edit/clipboard-text.d.ts.map +1 -0
  156. package/dist/xlsx/edit/clipboard.d.ts +16 -0
  157. package/dist/xlsx/edit/clipboard.d.ts.map +1 -0
  158. package/dist/xlsx/edit/columns.d.ts +11 -0
  159. package/dist/xlsx/edit/columns.d.ts.map +1 -0
  160. package/dist/xlsx/edit/conditional-formats.d.ts +17 -0
  161. package/dist/xlsx/edit/conditional-formats.d.ts.map +1 -0
  162. package/dist/xlsx/edit/context.d.ts +42 -0
  163. package/dist/xlsx/edit/context.d.ts.map +1 -0
  164. package/dist/xlsx/edit/deps.d.ts +4 -0
  165. package/dist/xlsx/edit/deps.d.ts.map +1 -0
  166. package/dist/xlsx/edit/dimensions.d.ts +13 -0
  167. package/dist/xlsx/edit/dimensions.d.ts.map +1 -0
  168. package/dist/xlsx/edit/drawings.d.ts +10 -0
  169. package/dist/xlsx/edit/drawings.d.ts.map +1 -0
  170. package/dist/xlsx/edit/duplicates.d.ts +17 -0
  171. package/dist/xlsx/edit/duplicates.d.ts.map +1 -0
  172. package/dist/xlsx/edit/fill-series.d.ts +16 -0
  173. package/dist/xlsx/edit/fill-series.d.ts.map +1 -0
  174. package/dist/xlsx/edit/fill.d.ts +14 -0
  175. package/dist/xlsx/edit/fill.d.ts.map +1 -0
  176. package/dist/xlsx/edit/filter.d.ts +17 -0
  177. package/dist/xlsx/edit/filter.d.ts.map +1 -0
  178. package/dist/xlsx/edit/find.d.ts +17 -0
  179. package/dist/xlsx/edit/find.d.ts.map +1 -0
  180. package/dist/xlsx/edit/format.d.ts +13 -0
  181. package/dist/xlsx/edit/format.d.ts.map +1 -0
  182. package/dist/xlsx/edit/history.d.ts +75 -0
  183. package/dist/xlsx/edit/history.d.ts.map +1 -0
  184. package/dist/xlsx/edit/index.d.ts +23 -0
  185. package/dist/xlsx/edit/index.d.ts.map +1 -0
  186. package/dist/xlsx/edit/merge.d.ts +11 -0
  187. package/dist/xlsx/edit/merge.d.ts.map +1 -0
  188. package/dist/xlsx/edit/outline.d.ts +14 -0
  189. package/dist/xlsx/edit/outline.d.ts.map +1 -0
  190. package/dist/xlsx/edit/page.d.ts +11 -0
  191. package/dist/xlsx/edit/page.d.ts.map +1 -0
  192. package/dist/xlsx/edit/protection.d.ts +26 -0
  193. package/dist/xlsx/edit/protection.d.ts.map +1 -0
  194. package/dist/xlsx/edit/range-math.d.ts +33 -0
  195. package/dist/xlsx/edit/range-math.d.ts.map +1 -0
  196. package/dist/xlsx/edit/row-autofit.d.ts +17 -0
  197. package/dist/xlsx/edit/row-autofit.d.ts.map +1 -0
  198. package/dist/xlsx/edit/session-calc.d.ts +24 -0
  199. package/dist/xlsx/edit/session-calc.d.ts.map +1 -0
  200. package/dist/xlsx/edit/session.d.ts +5 -0
  201. package/dist/xlsx/edit/session.d.ts.map +1 -0
  202. package/dist/xlsx/edit/sheets.d.ts +19 -0
  203. package/dist/xlsx/edit/sheets.d.ts.map +1 -0
  204. package/dist/xlsx/edit/shift-formulas.d.ts +14 -0
  205. package/dist/xlsx/edit/shift-formulas.d.ts.map +1 -0
  206. package/dist/xlsx/edit/shift-sheet.d.ts +15 -0
  207. package/dist/xlsx/edit/shift-sheet.d.ts.map +1 -0
  208. package/dist/xlsx/edit/sort.d.ts +17 -0
  209. package/dist/xlsx/edit/sort.d.ts.map +1 -0
  210. package/dist/xlsx/edit/structure.d.ts +10 -0
  211. package/dist/xlsx/edit/structure.d.ts.map +1 -0
  212. package/dist/xlsx/edit/table-edits.d.ts +25 -0
  213. package/dist/xlsx/edit/table-edits.d.ts.map +1 -0
  214. package/dist/xlsx/edit/table-rows.d.ts +11 -0
  215. package/dist/xlsx/edit/table-rows.d.ts.map +1 -0
  216. package/dist/xlsx/edit/tables.d.ts +11 -0
  217. package/dist/xlsx/edit/tables.d.ts.map +1 -0
  218. package/dist/xlsx/edit/test-context.d.ts +15 -0
  219. package/dist/xlsx/edit/test-context.d.ts.map +1 -0
  220. package/dist/xlsx/edit/types-clipboard.d.ts +66 -0
  221. package/dist/xlsx/edit/types-clipboard.d.ts.map +1 -0
  222. package/dist/xlsx/edit/types.d.ts +188 -0
  223. package/dist/xlsx/edit/types.d.ts.map +1 -0
  224. package/dist/xlsx/edit/validation.d.ts +21 -0
  225. package/dist/xlsx/edit/validation.d.ts.map +1 -0
  226. package/dist/xlsx/edit/view.d.ts +12 -0
  227. package/dist/xlsx/edit/view.d.ts.map +1 -0
  228. package/dist/xlsx/formula/array-context.d.ts +7 -0
  229. package/dist/xlsx/formula/array-context.d.ts.map +1 -0
  230. package/dist/xlsx/formula/ast.d.ts +108 -0
  231. package/dist/xlsx/formula/ast.d.ts.map +1 -0
  232. package/dist/xlsx/formula/call.d.ts +13 -0
  233. package/dist/xlsx/formula/call.d.ts.map +1 -0
  234. package/dist/xlsx/formula/coerce.d.ts +22 -0
  235. package/dist/xlsx/formula/coerce.d.ts.map +1 -0
  236. package/dist/xlsx/formula/context.d.ts +74 -0
  237. package/dist/xlsx/formula/context.d.ts.map +1 -0
  238. package/dist/xlsx/formula/date-serial.d.ts +26 -0
  239. package/dist/xlsx/formula/date-serial.d.ts.map +1 -0
  240. package/dist/xlsx/formula/engine-core.d.ts +19 -0
  241. package/dist/xlsx/formula/engine-core.d.ts.map +1 -0
  242. package/dist/xlsx/formula/engine-host.d.ts +51 -0
  243. package/dist/xlsx/formula/engine-host.d.ts.map +1 -0
  244. package/dist/xlsx/formula/engine-types.d.ts +31 -0
  245. package/dist/xlsx/formula/engine-types.d.ts.map +1 -0
  246. package/dist/xlsx/formula/engine-util.d.ts +10 -0
  247. package/dist/xlsx/formula/engine-util.d.ts.map +1 -0
  248. package/dist/xlsx/formula/engine.d.ts +6 -0
  249. package/dist/xlsx/formula/engine.d.ts.map +1 -0
  250. package/dist/xlsx/formula/evaluator.d.ts +17 -0
  251. package/dist/xlsx/formula/evaluator.d.ts.map +1 -0
  252. package/dist/xlsx/formula/functions/array-shape.d.ts +3 -0
  253. package/dist/xlsx/formula/functions/array-shape.d.ts.map +1 -0
  254. package/dist/xlsx/formula/functions/array.d.ts +6 -0
  255. package/dist/xlsx/formula/functions/array.d.ts.map +1 -0
  256. package/dist/xlsx/formula/functions/criteria.d.ts +22 -0
  257. package/dist/xlsx/formula/functions/criteria.d.ts.map +1 -0
  258. package/dist/xlsx/formula/functions/date-calc.d.ts +14 -0
  259. package/dist/xlsx/formula/functions/date-calc.d.ts.map +1 -0
  260. package/dist/xlsx/formula/functions/datetime.d.ts +3 -0
  261. package/dist/xlsx/formula/functions/datetime.d.ts.map +1 -0
  262. package/dist/xlsx/formula/functions/depreciation.d.ts +4 -0
  263. package/dist/xlsx/formula/functions/depreciation.d.ts.map +1 -0
  264. package/dist/xlsx/formula/functions/dist-core.d.ts +22 -0
  265. package/dist/xlsx/formula/functions/dist-core.d.ts.map +1 -0
  266. package/dist/xlsx/formula/functions/distributions-more.d.ts +4 -0
  267. package/dist/xlsx/formula/functions/distributions-more.d.ts.map +1 -0
  268. package/dist/xlsx/formula/functions/distributions.d.ts +3 -0
  269. package/dist/xlsx/formula/functions/distributions.d.ts.map +1 -0
  270. package/dist/xlsx/formula/functions/engineering.d.ts +3 -0
  271. package/dist/xlsx/formula/functions/engineering.d.ts.map +1 -0
  272. package/dist/xlsx/formula/functions/financial-core.d.ts +8 -0
  273. package/dist/xlsx/formula/functions/financial-core.d.ts.map +1 -0
  274. package/dist/xlsx/formula/functions/financial.d.ts +3 -0
  275. package/dist/xlsx/formula/functions/financial.d.ts.map +1 -0
  276. package/dist/xlsx/formula/functions/helpers.d.ts +44 -0
  277. package/dist/xlsx/formula/functions/helpers.d.ts.map +1 -0
  278. package/dist/xlsx/formula/functions/info.d.ts +3 -0
  279. package/dist/xlsx/formula/functions/info.d.ts.map +1 -0
  280. package/dist/xlsx/formula/functions/lambda.d.ts +3 -0
  281. package/dist/xlsx/formula/functions/lambda.d.ts.map +1 -0
  282. package/dist/xlsx/formula/functions/logical.d.ts +7 -0
  283. package/dist/xlsx/formula/functions/logical.d.ts.map +1 -0
  284. package/dist/xlsx/formula/functions/lookup-core.d.ts +32 -0
  285. package/dist/xlsx/formula/functions/lookup-core.d.ts.map +1 -0
  286. package/dist/xlsx/formula/functions/lookup.d.ts +8 -0
  287. package/dist/xlsx/formula/functions/lookup.d.ts.map +1 -0
  288. package/dist/xlsx/formula/functions/math-combin.d.ts +5 -0
  289. package/dist/xlsx/formula/functions/math-combin.d.ts.map +1 -0
  290. package/dist/xlsx/formula/functions/math-more.d.ts +4 -0
  291. package/dist/xlsx/formula/functions/math-more.d.ts.map +1 -0
  292. package/dist/xlsx/formula/functions/math-sum.d.ts +6 -0
  293. package/dist/xlsx/formula/functions/math-sum.d.ts.map +1 -0
  294. package/dist/xlsx/formula/functions/math.d.ts +7 -0
  295. package/dist/xlsx/formula/functions/math.d.ts.map +1 -0
  296. package/dist/xlsx/formula/functions/matrix.d.ts +3 -0
  297. package/dist/xlsx/formula/functions/matrix.d.ts.map +1 -0
  298. package/dist/xlsx/formula/functions/reference.d.ts +3 -0
  299. package/dist/xlsx/formula/functions/reference.d.ts.map +1 -0
  300. package/dist/xlsx/formula/functions/registry.d.ts +8 -0
  301. package/dist/xlsx/formula/functions/registry.d.ts.map +1 -0
  302. package/dist/xlsx/formula/functions/statistical-count.d.ts +3 -0
  303. package/dist/xlsx/formula/functions/statistical-count.d.ts.map +1 -0
  304. package/dist/xlsx/formula/functions/statistical-more.d.ts +10 -0
  305. package/dist/xlsx/formula/functions/statistical-more.d.ts.map +1 -0
  306. package/dist/xlsx/formula/functions/statistical-shape.d.ts +4 -0
  307. package/dist/xlsx/formula/functions/statistical-shape.d.ts.map +1 -0
  308. package/dist/xlsx/formula/functions/statistical-spread.d.ts +4 -0
  309. package/dist/xlsx/formula/functions/statistical-spread.d.ts.map +1 -0
  310. package/dist/xlsx/formula/functions/statistical.d.ts +3 -0
  311. package/dist/xlsx/formula/functions/statistical.d.ts.map +1 -0
  312. package/dist/xlsx/formula/functions/stats-core.d.ts +30 -0
  313. package/dist/xlsx/formula/functions/stats-core.d.ts.map +1 -0
  314. package/dist/xlsx/formula/functions/text-convert.d.ts +4 -0
  315. package/dist/xlsx/formula/functions/text-convert.d.ts.map +1 -0
  316. package/dist/xlsx/formula/functions/text-extra.d.ts +3 -0
  317. package/dist/xlsx/formula/functions/text-extra.d.ts.map +1 -0
  318. package/dist/xlsx/formula/functions/text.d.ts +3 -0
  319. package/dist/xlsx/formula/functions/text.d.ts.map +1 -0
  320. package/dist/xlsx/formula/functions/types.d.ts +30 -0
  321. package/dist/xlsx/formula/functions/types.d.ts.map +1 -0
  322. package/dist/xlsx/formula/functions/workdays.d.ts +3 -0
  323. package/dist/xlsx/formula/functions/workdays.d.ts.map +1 -0
  324. package/dist/xlsx/formula/graph.d.ts +50 -0
  325. package/dist/xlsx/formula/graph.d.ts.map +1 -0
  326. package/dist/xlsx/formula/index.d.ts +14 -0
  327. package/dist/xlsx/formula/index.d.ts.map +1 -0
  328. package/dist/xlsx/formula/lexemes.d.ts +41 -0
  329. package/dist/xlsx/formula/lexemes.d.ts.map +1 -0
  330. package/dist/xlsx/formula/move.d.ts +23 -0
  331. package/dist/xlsx/formula/move.d.ts.map +1 -0
  332. package/dist/xlsx/formula/operators.d.ts +15 -0
  333. package/dist/xlsx/formula/operators.d.ts.map +1 -0
  334. package/dist/xlsx/formula/parser.d.ts +4 -0
  335. package/dist/xlsx/formula/parser.d.ts.map +1 -0
  336. package/dist/xlsx/formula/references.d.ts +36 -0
  337. package/dist/xlsx/formula/references.d.ts.map +1 -0
  338. package/dist/xlsx/formula/scc.d.ts +6 -0
  339. package/dist/xlsx/formula/scc.d.ts.map +1 -0
  340. package/dist/xlsx/formula/sheet-scan.d.ts +10 -0
  341. package/dist/xlsx/formula/sheet-scan.d.ts.map +1 -0
  342. package/dist/xlsx/formula/spill.d.ts +32 -0
  343. package/dist/xlsx/formula/spill.d.ts.map +1 -0
  344. package/dist/xlsx/formula/store.d.ts +10 -0
  345. package/dist/xlsx/formula/store.d.ts.map +1 -0
  346. package/dist/xlsx/formula/structured-to-a1.d.ts +18 -0
  347. package/dist/xlsx/formula/structured-to-a1.d.ts.map +1 -0
  348. package/dist/xlsx/formula/structured.d.ts +4 -0
  349. package/dist/xlsx/formula/structured.d.ts.map +1 -0
  350. package/dist/xlsx/formula/table-refs.d.ts +7 -0
  351. package/dist/xlsx/formula/table-refs.d.ts.map +1 -0
  352. package/dist/xlsx/formula/test-helpers.d.ts +32 -0
  353. package/dist/xlsx/formula/test-helpers.d.ts.map +1 -0
  354. package/dist/xlsx/formula/text-number.d.ts +11 -0
  355. package/dist/xlsx/formula/text-number.d.ts.map +1 -0
  356. package/dist/xlsx/formula/tokenizer.d.ts +21 -0
  357. package/dist/xlsx/formula/tokenizer.d.ts.map +1 -0
  358. package/dist/xlsx/formula/transform.d.ts +49 -0
  359. package/dist/xlsx/formula/transform.d.ts.map +1 -0
  360. package/dist/xlsx/formula/values.d.ts +63 -0
  361. package/dist/xlsx/formula/values.d.ts.map +1 -0
  362. package/dist/xlsx/index.cjs +20579 -0
  363. package/dist/xlsx/index.d.ts +14 -0
  364. package/dist/xlsx/index.d.ts.map +1 -0
  365. package/dist/xlsx/index.mjs +20396 -0
  366. package/dist/xlsx/layout/autofit.d.ts +12 -0
  367. package/dist/xlsx/layout/autofit.d.ts.map +1 -0
  368. package/dist/xlsx/layout/axis-metrics.d.ts +39 -0
  369. package/dist/xlsx/layout/axis-metrics.d.ts.map +1 -0
  370. package/dist/xlsx/layout/cell-view.d.ts +21 -0
  371. package/dist/xlsx/layout/cell-view.d.ts.map +1 -0
  372. package/dist/xlsx/layout/cf-evaluator.d.ts +26 -0
  373. package/dist/xlsx/layout/cf-evaluator.d.ts.map +1 -0
  374. package/dist/xlsx/layout/cf-helpers.d.ts +8 -0
  375. package/dist/xlsx/layout/cf-helpers.d.ts.map +1 -0
  376. package/dist/xlsx/layout/cf-values.d.ts +25 -0
  377. package/dist/xlsx/layout/cf-values.d.ts.map +1 -0
  378. package/dist/xlsx/layout/chart-colors.d.ts +6 -0
  379. package/dist/xlsx/layout/chart-colors.d.ts.map +1 -0
  380. package/dist/xlsx/layout/chart-scale.d.ts +25 -0
  381. package/dist/xlsx/layout/chart-scale.d.ts.map +1 -0
  382. package/dist/xlsx/layout/chart-svg-cartesian.d.ts +5 -0
  383. package/dist/xlsx/layout/chart-svg-cartesian.d.ts.map +1 -0
  384. package/dist/xlsx/layout/chart-svg-radial.d.ts +7 -0
  385. package/dist/xlsx/layout/chart-svg-radial.d.ts.map +1 -0
  386. package/dist/xlsx/layout/chart-svg-util.d.ts +29 -0
  387. package/dist/xlsx/layout/chart-svg-util.d.ts.map +1 -0
  388. package/dist/xlsx/layout/chart-svg.d.ts +7 -0
  389. package/dist/xlsx/layout/chart-svg.d.ts.map +1 -0
  390. package/dist/xlsx/layout/chart-view.d.ts +42 -0
  391. package/dist/xlsx/layout/chart-view.d.ts.map +1 -0
  392. package/dist/xlsx/layout/colors.d.ts +20 -0
  393. package/dist/xlsx/layout/colors.d.ts.map +1 -0
  394. package/dist/xlsx/layout/index.d.ts +21 -0
  395. package/dist/xlsx/layout/index.d.ts.map +1 -0
  396. package/dist/xlsx/layout/metrics.d.ts +41 -0
  397. package/dist/xlsx/layout/metrics.d.ts.map +1 -0
  398. package/dist/xlsx/layout/navigate.d.ts +6 -0
  399. package/dist/xlsx/layout/navigate.d.ts.map +1 -0
  400. package/dist/xlsx/layout/ref-evaluator.d.ts +16 -0
  401. package/dist/xlsx/layout/ref-evaluator.d.ts.map +1 -0
  402. package/dist/xlsx/layout/row-autofit.d.ts +17 -0
  403. package/dist/xlsx/layout/row-autofit.d.ts.map +1 -0
  404. package/dist/xlsx/layout/sheet-queries.d.ts +37 -0
  405. package/dist/xlsx/layout/sheet-queries.d.ts.map +1 -0
  406. package/dist/xlsx/layout/style-view.d.ts +18 -0
  407. package/dist/xlsx/layout/style-view.d.ts.map +1 -0
  408. package/dist/xlsx/layout/tint.d.ts +26 -0
  409. package/dist/xlsx/layout/tint.d.ts.map +1 -0
  410. package/dist/xlsx/layout/types.d.ts +106 -0
  411. package/dist/xlsx/layout/types.d.ts.map +1 -0
  412. package/dist/xlsx/layout/units.d.ts +37 -0
  413. package/dist/xlsx/layout/units.d.ts.map +1 -0
  414. package/dist/xlsx/layout/viewport.d.ts +27 -0
  415. package/dist/xlsx/layout/viewport.d.ts.map +1 -0
  416. package/dist/xlsx/load/csv.d.ts +29 -0
  417. package/dist/xlsx/load/csv.d.ts.map +1 -0
  418. package/dist/xlsx/load/detect.d.ts +22 -0
  419. package/dist/xlsx/load/detect.d.ts.map +1 -0
  420. package/dist/xlsx/load/index.cjs +15619 -0
  421. package/dist/xlsx/load/index.d.ts +4 -0
  422. package/dist/xlsx/load/index.d.ts.map +1 -0
  423. package/dist/xlsx/load/index.mjs +15603 -0
  424. package/dist/xlsx/load/legacy-xls-sheet.d.ts +14 -0
  425. package/dist/xlsx/load/legacy-xls-sheet.d.ts.map +1 -0
  426. package/dist/xlsx/load/legacy-xls-styles.d.ts +9 -0
  427. package/dist/xlsx/load/legacy-xls-styles.d.ts.map +1 -0
  428. package/dist/xlsx/load/legacy-xls.d.ts +10 -0
  429. package/dist/xlsx/load/legacy-xls.d.ts.map +1 -0
  430. package/dist/xlsx/model.d.ts +535 -0
  431. package/dist/xlsx/model.d.ts.map +1 -0
  432. package/dist/xlsx/numfmt/builtins.d.ts +15 -0
  433. package/dist/xlsx/numfmt/builtins.d.ts.map +1 -0
  434. package/dist/xlsx/numfmt/compile.d.ts +26 -0
  435. package/dist/xlsx/numfmt/compile.d.ts.map +1 -0
  436. package/dist/xlsx/numfmt/date.d.ts +34 -0
  437. package/dist/xlsx/numfmt/date.d.ts.map +1 -0
  438. package/dist/xlsx/numfmt/decimal.d.ts +27 -0
  439. package/dist/xlsx/numfmt/decimal.d.ts.map +1 -0
  440. package/dist/xlsx/numfmt/decimals.d.ts +10 -0
  441. package/dist/xlsx/numfmt/decimals.d.ts.map +1 -0
  442. package/dist/xlsx/numfmt/format.d.ts +13 -0
  443. package/dist/xlsx/numfmt/format.d.ts.map +1 -0
  444. package/dist/xlsx/numfmt/fraction.d.ts +38 -0
  445. package/dist/xlsx/numfmt/fraction.d.ts.map +1 -0
  446. package/dist/xlsx/numfmt/general.d.ts +8 -0
  447. package/dist/xlsx/numfmt/general.d.ts.map +1 -0
  448. package/dist/xlsx/numfmt/index.d.ts +8 -0
  449. package/dist/xlsx/numfmt/index.d.ts.map +1 -0
  450. package/dist/xlsx/numfmt/input-date.d.ts +16 -0
  451. package/dist/xlsx/numfmt/input-date.d.ts.map +1 -0
  452. package/dist/xlsx/numfmt/input.d.ts +23 -0
  453. package/dist/xlsx/numfmt/input.d.ts.map +1 -0
  454. package/dist/xlsx/numfmt/number.d.ts +38 -0
  455. package/dist/xlsx/numfmt/number.d.ts.map +1 -0
  456. package/dist/xlsx/numfmt/tokenizer.d.ts +6 -0
  457. package/dist/xlsx/numfmt/tokenizer.d.ts.map +1 -0
  458. package/dist/xlsx/numfmt/types.d.ts +87 -0
  459. package/dist/xlsx/numfmt/types.d.ts.map +1 -0
  460. package/dist/xlsx/read/builtin-formats.d.ts +10 -0
  461. package/dist/xlsx/read/builtin-formats.d.ts.map +1 -0
  462. package/dist/xlsx/read/chart.d.ts +7 -0
  463. package/dist/xlsx/read/chart.d.ts.map +1 -0
  464. package/dist/xlsx/read/comments.d.ts +10 -0
  465. package/dist/xlsx/read/comments.d.ts.map +1 -0
  466. package/dist/xlsx/read/conditional.d.ts +6 -0
  467. package/dist/xlsx/read/conditional.d.ts.map +1 -0
  468. package/dist/xlsx/read/dates.d.ts +6 -0
  469. package/dist/xlsx/read/dates.d.ts.map +1 -0
  470. package/dist/xlsx/read/drawing.d.ts +10 -0
  471. package/dist/xlsx/read/drawing.d.ts.map +1 -0
  472. package/dist/xlsx/read/formula-storage.d.ts +5 -0
  473. package/dist/xlsx/read/formula-storage.d.ts.map +1 -0
  474. package/dist/xlsx/read/formula-text.d.ts +15 -0
  475. package/dist/xlsx/read/formula-text.d.ts.map +1 -0
  476. package/dist/xlsx/read/index.d.ts +3 -0
  477. package/dist/xlsx/read/index.d.ts.map +1 -0
  478. package/dist/xlsx/read/load.d.ts +7 -0
  479. package/dist/xlsx/read/load.d.ts.map +1 -0
  480. package/dist/xlsx/read/metadata.d.ts +8 -0
  481. package/dist/xlsx/read/metadata.d.ts.map +1 -0
  482. package/dist/xlsx/read/package.d.ts +60 -0
  483. package/dist/xlsx/read/package.d.ts.map +1 -0
  484. package/dist/xlsx/read/print-options.d.ts +7 -0
  485. package/dist/xlsx/read/print-options.d.ts.map +1 -0
  486. package/dist/xlsx/read/shared-strings.d.ts +13 -0
  487. package/dist/xlsx/read/shared-strings.d.ts.map +1 -0
  488. package/dist/xlsx/read/sheet-data.d.ts +15 -0
  489. package/dist/xlsx/read/sheet-data.d.ts.map +1 -0
  490. package/dist/xlsx/read/sheet-props.d.ts +21 -0
  491. package/dist/xlsx/read/sheet-props.d.ts.map +1 -0
  492. package/dist/xlsx/read/style-parts.d.ts +20 -0
  493. package/dist/xlsx/read/style-parts.d.ts.map +1 -0
  494. package/dist/xlsx/read/styles.d.ts +17 -0
  495. package/dist/xlsx/read/styles.d.ts.map +1 -0
  496. package/dist/xlsx/read/tables.d.ts +4 -0
  497. package/dist/xlsx/read/tables.d.ts.map +1 -0
  498. package/dist/xlsx/read/theme.d.ts +11 -0
  499. package/dist/xlsx/read/theme.d.ts.map +1 -0
  500. package/dist/xlsx/read/workbook-part.d.ts +23 -0
  501. package/dist/xlsx/read/workbook-part.d.ts.map +1 -0
  502. package/dist/xlsx/read/worksheet.d.ts +18 -0
  503. package/dist/xlsx/read/worksheet.d.ts.map +1 -0
  504. package/dist/xlsx/read/xml-util.d.ts +28 -0
  505. package/dist/xlsx/read/xml-util.d.ts.map +1 -0
  506. package/dist/xlsx/styles.d.ts +27 -0
  507. package/dist/xlsx/styles.d.ts.map +1 -0
  508. package/dist/xlsx/time-period.d.ts +9 -0
  509. package/dist/xlsx/time-period.d.ts.map +1 -0
  510. package/dist/xlsx/workbook.d.ts +26 -0
  511. package/dist/xlsx/workbook.d.ts.map +1 -0
  512. package/dist/xlsx/write/chart-patch.d.ts +9 -0
  513. package/dist/xlsx/write/chart-patch.d.ts.map +1 -0
  514. package/dist/xlsx/write/chart.d.ts +9 -0
  515. package/dist/xlsx/write/chart.d.ts.map +1 -0
  516. package/dist/xlsx/write/comments.d.ts +23 -0
  517. package/dist/xlsx/write/comments.d.ts.map +1 -0
  518. package/dist/xlsx/write/conditional.d.ts +5 -0
  519. package/dist/xlsx/write/conditional.d.ts.map +1 -0
  520. package/dist/xlsx/write/drawing.d.ts +10 -0
  521. package/dist/xlsx/write/drawing.d.ts.map +1 -0
  522. package/dist/xlsx/write/dynamic-array.d.ts +16 -0
  523. package/dist/xlsx/write/dynamic-array.d.ts.map +1 -0
  524. package/dist/xlsx/write/index.d.ts +2 -0
  525. package/dist/xlsx/write/index.d.ts.map +1 -0
  526. package/dist/xlsx/write/package-writer.d.ts +31 -0
  527. package/dist/xlsx/write/package-writer.d.ts.map +1 -0
  528. package/dist/xlsx/write/save.d.ts +8 -0
  529. package/dist/xlsx/write/save.d.ts.map +1 -0
  530. package/dist/xlsx/write/shared-strings.d.ts +13 -0
  531. package/dist/xlsx/write/shared-strings.d.ts.map +1 -0
  532. package/dist/xlsx/write/sheet-data.d.ts +19 -0
  533. package/dist/xlsx/write/sheet-data.d.ts.map +1 -0
  534. package/dist/xlsx/write/sheet-parts.d.ts +34 -0
  535. package/dist/xlsx/write/sheet-parts.d.ts.map +1 -0
  536. package/dist/xlsx/write/sheet-props.d.ts +16 -0
  537. package/dist/xlsx/write/sheet-props.d.ts.map +1 -0
  538. package/dist/xlsx/write/snapshot.d.ts +9 -0
  539. package/dist/xlsx/write/snapshot.d.ts.map +1 -0
  540. package/dist/xlsx/write/style-xml.d.ts +13 -0
  541. package/dist/xlsx/write/style-xml.d.ts.map +1 -0
  542. package/dist/xlsx/write/styles.d.ts +24 -0
  543. package/dist/xlsx/write/styles.d.ts.map +1 -0
  544. package/dist/xlsx/write/tables.d.ts +18 -0
  545. package/dist/xlsx/write/tables.d.ts.map +1 -0
  546. package/dist/xlsx/write/theme.d.ts +9 -0
  547. package/dist/xlsx/write/theme.d.ts.map +1 -0
  548. package/dist/xlsx/write/workbook-part.d.ts +16 -0
  549. package/dist/xlsx/write/workbook-part.d.ts.map +1 -0
  550. package/dist/xlsx/write/worksheet.d.ts +6 -0
  551. package/dist/xlsx/write/worksheet.d.ts.map +1 -0
  552. package/dist/xlsx/write/xml-out.d.ts +25 -0
  553. package/dist/xlsx/write/xml-out.d.ts.map +1 -0
  554. package/dist/xml/index.cjs +16 -0
  555. package/dist/xml/index.mjs +16 -0
  556. package/dist/xml/namespaces.d.ts +16 -0
  557. package/dist/xml/namespaces.d.ts.map +1 -1
  558. package/package.json +25 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,cAAc,CAAC;AAEzD,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAgB3F;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAezF;AAID,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOpE;AAKD,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAYxE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAM3F"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Whether a formula needs dynamic-array evaluation to keep its meaning: it returns several
3
+ * values, or applies an operator or a single-value parameter to a range or array outside the
4
+ * functions that take arrays natively (`SUM(A1:A3*B1:B3)`). Unparsable formulas report false.
5
+ */
6
+ export declare function needsArrayEvaluation(formula: string): boolean;
7
+ //# sourceMappingURL=array-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-context.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/array-context.ts"],"names":[],"mappings":"AA8DA;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAU7D"}
@@ -0,0 +1,108 @@
1
+ import type { ErrorCode } from '../model.js';
2
+ /** Thrown by {@link parseFormula} (and the tokenizer) for malformed formulas. */
3
+ export declare class FormulaError extends Error {
4
+ /** Character offset in the formula where the problem was found. */
5
+ readonly position: number;
6
+ constructor(message: string,
7
+ /** Character offset in the formula where the problem was found. */
8
+ position?: number);
9
+ }
10
+ /** One end of a reference. Whole-column refs have no row, whole-row refs no column. */
11
+ export interface RefCorner {
12
+ row: number;
13
+ col: number;
14
+ rowAbs: boolean;
15
+ colAbs: boolean;
16
+ }
17
+ /** A parsed A1-style reference without its sheet prefix. */
18
+ export interface RefSpec {
19
+ kind: 'cell' | 'area' | 'cols' | 'rows';
20
+ start: RefCorner;
21
+ /** Same as `start` for a single cell. */
22
+ end: RefCorner;
23
+ }
24
+ /** The sheet part of a reference: `Sheet1!`, `'My Sheet'!`, `Sheet1:Sheet3!`, `[1]Sheet1!`. */
25
+ export interface SheetPrefix {
26
+ /** Raw prefix text including the trailing `!`, preserved when formulas are rewritten. */
27
+ text: string;
28
+ sheet: string;
29
+ /** Last sheet of a 3D reference. */
30
+ sheet2?: string;
31
+ /** External workbook index or name (`[1]`). */
32
+ book?: string;
33
+ }
34
+ export type StructuredSpecial = '#All' | '#Data' | '#Headers' | '#Totals' | '#This Row';
35
+ /** A structured (table) reference such as `Table1[[#This Row],[Amount]]`. */
36
+ export interface StructuredRef {
37
+ table?: string;
38
+ specials: StructuredSpecial[];
39
+ /** First (and last, for `[A]:[B]`) column name; absent means every column. */
40
+ column?: string;
41
+ column2?: string;
42
+ }
43
+ export type BinaryOperator = '+' | '-' | '*' | '/' | '^' | '&' | '=' | '<>' | '<' | '>' | '<=' | '>=' | ':' | ' ' | ',';
44
+ /** The formula syntax tree produced by {@link parseFormula}. */
45
+ export type FormulaAst = {
46
+ type: 'number';
47
+ value: number;
48
+ } | {
49
+ type: 'string';
50
+ value: string;
51
+ } | {
52
+ type: 'boolean';
53
+ value: boolean;
54
+ } | {
55
+ type: 'error';
56
+ code: ErrorCode;
57
+ } | {
58
+ type: 'ref';
59
+ prefix?: SheetPrefix;
60
+ /** Absent for `#REF!` (optionally sheet-qualified). */
61
+ ref?: RefSpec;
62
+ /** `A1#` spill reference. */
63
+ spill?: boolean;
64
+ } | {
65
+ type: 'name';
66
+ prefix?: SheetPrefix;
67
+ name: string;
68
+ } | {
69
+ type: 'structured';
70
+ ref: StructuredRef;
71
+ text: string;
72
+ } | {
73
+ type: 'array';
74
+ rows: ArrayConstant[][];
75
+ } | {
76
+ type: 'unary';
77
+ op: '-' | '+' | '@';
78
+ operand: FormulaAst;
79
+ } | {
80
+ type: 'percent';
81
+ operand: FormulaAst;
82
+ } | {
83
+ type: 'binary';
84
+ op: BinaryOperator;
85
+ left: FormulaAst;
86
+ right: FormulaAst;
87
+ } | {
88
+ type: 'call';
89
+ /** Upper case, without `_xlfn.` / `_xlws.` prefixes. */
90
+ name: string;
91
+ /** As written. */
92
+ rawName: string;
93
+ args: FormulaAst[];
94
+ } | {
95
+ type: 'invoke';
96
+ callee: FormulaAst;
97
+ args: FormulaAst[];
98
+ } | {
99
+ type: 'missing';
100
+ };
101
+ export type ArrayConstant = number | string | boolean | {
102
+ error: ErrorCode;
103
+ };
104
+ /** Strips the storage prefixes Excel writes for newer functions (`_xlfn.`, `_xlws.`, `_xludf.`). */
105
+ export declare function normalizeFunctionName(name: string): string;
106
+ /** Strips the `_xlpm.` prefix Excel writes for LET and LAMBDA parameter names. */
107
+ export declare function normalizeLocalName(name: string): string;
108
+ //# sourceMappingURL=ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/ast.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type FormulaAst } from './ast.js';
2
+ import type { CallContext, Frame } from './context.js';
3
+ import { type FunctionSpec } from './functions/types.js';
4
+ import { type Value } from './values.js';
5
+ /** Evaluates a function call node. */
6
+ export declare function callFunction(node: Extract<FormulaAst, {
7
+ type: 'call';
8
+ }>, frame: Frame): Value;
9
+ /** Calls a function implementation, lifting it over arrays passed to `value` parameters. */
10
+ export declare function applyFunction(spec: FunctionSpec, args: Value[], ctx: CallContext): Value;
11
+ /** Builds the context passed to function implementations. */
12
+ export declare function createContext(frame: Frame): CallContext;
13
+ //# sourceMappingURL=call.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/call.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,UAAU,EAAsB,MAAM,UAAU,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAW,MAAM,cAAc,CAAC;AAIhE,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,sBAAsB,CAAC;AAIpE,OAAO,EAQN,KAAK,KAAK,EACV,MAAM,aAAa,CAAC;AAWrB,sCAAsC;AACtC,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAoC7F;AAED,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,GAAG,KAAK,CA2CxF;AASD,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CA8CvD"}
@@ -0,0 +1,22 @@
1
+ import type { CellError } from '../model.js';
2
+ import { type Scalar } from './values.js';
3
+ /** A number as arithmetic sees it: blank is 0, TRUE is 1, numeric text converts. Throws on errors. */
4
+ export declare function toNumber(value: Scalar): number;
5
+ /** Text as `&` sees it: blank is empty, numbers use General formatting. Throws on errors. */
6
+ export declare function toText(value: Scalar): string;
7
+ /** A logical as IF sees it: numbers are non-zero, text must be TRUE or FALSE. Throws on errors. */
8
+ export declare function toBool(value: Scalar): boolean;
9
+ /** Throws when `value` is an error. */
10
+ export declare function check(value: Scalar): Exclude<Scalar, CellError>;
11
+ /** Compares numbers at Excel's 15-significant-digit precision. */
12
+ export declare function compareNumbers(a: number, b: number): number;
13
+ /** Case-insensitive text comparison. */
14
+ export declare function compareText(a: string, b: string): number;
15
+ /**
16
+ * Compares two non-error scalars like Excel's comparison operators: numbers sort before text,
17
+ * text before logicals; blank takes the other side's type (0, "", FALSE).
18
+ */
19
+ export declare function compareScalars(a: Exclude<Scalar, CellError>, b: Exclude<Scalar, CellError>): number;
20
+ /** A finite result, or `#NUM!`. */
21
+ export declare function finite(value: number): number;
22
+ //# sourceMappingURL=coerce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/coerce.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAErE,sGAAsG;AACtG,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU9C;AAED,6FAA6F;AAC7F,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED,mGAAmG;AACnG,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAW7C;AAED,uCAAuC;AACvC,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAG/D;AAKD,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED,wCAAwC;AACxC,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,EAC7B,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,GAC3B,MAAM,CAUR;AASD,mCAAmC;AACnC,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG5C"}
@@ -0,0 +1,74 @@
1
+ import type { CellRange } from '../address.js';
2
+ import type { Workbook } from '../model.js';
3
+ import type { FormulaAst, FormulaError } from './ast.js';
4
+ import type { Matrix, RefValue, Scalar, Scope, Value } from './values.js';
5
+ /** What the evaluator needs from its environment; the calc engine implements it. */
6
+ export interface EvalHost {
7
+ readonly workbook: Workbook;
8
+ /** A cell's value, computing a pending formula first. */
9
+ readCell(sheet: number, row: number, col: number): Scalar;
10
+ /** Visits stored cells with a non-null value inside a range, in row-major order. */
11
+ forEachStored(sheet: number, range: CellRange, visit: (value: Scalar, row: number, col: number) => void): void;
12
+ /** One past the last stored row and column of a sheet. */
13
+ bounds(sheet: number): {
14
+ rows: number;
15
+ cols: number;
16
+ };
17
+ /** The spill range anchored at a cell, if it currently spills. */
18
+ spillRange(sheet: number, row: number, col: number): CellRange | undefined;
19
+ /** The formula text of a cell, if it has one. */
20
+ cellFormula(sheet: number, row: number, col: number): string | undefined;
21
+ /** Parses with caching. */
22
+ parse(formula: string): FormulaAst | FormulaError;
23
+ now(): Date;
24
+ random(): number;
25
+ }
26
+ /** One evaluation: where the formula lives and which LET / LAMBDA variables are in scope. */
27
+ export interface Frame {
28
+ readonly host: EvalHost;
29
+ readonly sheet: number;
30
+ readonly row: number;
31
+ readonly col: number;
32
+ readonly scope: Scope | undefined;
33
+ /** Defined-name nesting depth (guards against names that refer to themselves). */
34
+ readonly depth: number;
35
+ /** The root node, for Excel's final-result rounding of additions and subtractions. */
36
+ readonly root?: FormulaAst | undefined;
37
+ /**
38
+ * Pre-dynamic-array (legacy) evaluation: a multi-cell reference used where one value is
39
+ * expected (an operator operand, a `value` parameter, the final result) is reduced by implicit
40
+ * intersection. Arguments of `any` (array) parameters are evaluated without it, as in Excel.
41
+ */
42
+ readonly legacy?: boolean;
43
+ }
44
+ /** A lazily evaluated argument (IF, IFERROR, CHOOSE, LET, LAMBDA, ...). */
45
+ export interface LazyArg {
46
+ readonly node: FormulaAst;
47
+ get(): Value;
48
+ }
49
+ /** What function implementations receive besides their arguments. */
50
+ export interface CallContext {
51
+ readonly frame: Frame;
52
+ readonly workbook: Workbook;
53
+ readonly sheet: number;
54
+ readonly row: number;
55
+ readonly col: number;
56
+ readonly date1904: boolean;
57
+ /** A dense matrix of a value (refs are read cell by cell). Throws `#VALUE!` for unions. */
58
+ toMatrix(value: Value): Matrix;
59
+ /** A single value by implicit intersection. */
60
+ toScalar(value: Value): Scalar;
61
+ /**
62
+ * Visits the values of an argument: refs sparsely (stored cells only), arrays fully, and
63
+ * a scalar argument once with `kind` `direct`.
64
+ */
65
+ forEach(value: Value, visit: (value: Scalar, kind: 'direct' | 'ref' | 'array') => void): void;
66
+ readCell(sheet: number, row: number, col: number): Scalar;
67
+ /** Evaluates a node in this call's frame, optionally with extra variables. */
68
+ evaluate(node: FormulaAst, scope?: Scope): Value;
69
+ /** Calls a LAMBDA value. */
70
+ callLambda(fn: Value, args: Value[]): Value;
71
+ /** Resolves reference text (`A1`, `Sheet2!B2:C3`, a defined name) for INDIRECT. */
72
+ parseReference(text: string): RefValue | undefined;
73
+ }
74
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export interface Ymd {
2
+ year: number;
3
+ month: number;
4
+ day: number;
5
+ }
6
+ /** The date system used by coercions inside the current evaluation. */
7
+ export declare const currentDate1904: () => boolean;
8
+ /** Runs `fn` with the given date system active for text-to-date coercion. */
9
+ export declare function withDateSystem<T>(date1904: boolean, fn: () => T): T;
10
+ /** The calendar date of the integer part of `serial`. */
11
+ export declare function serialToYmd(serial: number, date1904?: boolean): Ymd;
12
+ /**
13
+ * The serial of a calendar date, normalising month and day overflow like Excel's DATE (month 13
14
+ * is January of the next year, day 0 is the last day of the previous month). Returns `undefined`
15
+ * for dates before the epoch or after 9999-12-31.
16
+ */
17
+ export declare function ymdToSerial(year: number, month: number, day: number, date1904?: boolean): number | undefined;
18
+ /** Day of the week of a serial, 0 = Sunday (honours the 1900 bug: serial 1 is a Sunday). */
19
+ export declare function weekdayOf(serial: number, date1904?: boolean): number;
20
+ /** Whole seconds in the fractional part of a serial, rounded like Excel's HOUR/MINUTE/SECOND. */
21
+ export declare function serialSeconds(serial: number): number;
22
+ export declare const isLeapYear: (year: number) => boolean;
23
+ export declare function daysInMonth(year: number, month: number): number;
24
+ /** The serial for a JavaScript Date's local wall-clock time (for NOW and TODAY). */
25
+ export declare function localDateToSerial(date: Date, date1904?: boolean): number;
26
+ //# sourceMappingURL=date-serial.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-serial.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/date-serial.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACZ;AAID,uEAAuE;AACvE,eAAO,MAAM,eAAe,QAAO,OAAuB,CAAC;AAE3D,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQnE;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAe,GAAG,GAAG,CAUxE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,UAAe,GACrB,MAAM,GAAG,SAAS,CAYpB;AAED,4FAA4F;AAC5F,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAe,GAAG,MAAM,CAKzE;AAED,iGAAiG;AACjG,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,OACe,CAAC;AAE1D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,UAAe,GAAG,MAAM,CAa7E"}
@@ -0,0 +1,19 @@
1
+ import type { Cell } from '../model.js';
2
+ import type { FormulaAst } from './ast.js';
3
+ import type { Frame } from './context.js';
4
+ import { EngineHost } from './engine-host.js';
5
+ import type { FormulaNode } from './graph.js';
6
+ import { type Matrix, type Scalar } from './values.js';
7
+ export declare abstract class EngineCore extends EngineHost {
8
+ protected releaseAllSpills(): void;
9
+ protected run(seeds: Set<FormulaNode>, everything: boolean): void;
10
+ /** Seeds plus every formula that (transitively) reads their cells or spill ranges. */
11
+ protected closure(seeds: Set<FormulaNode>): Set<FormulaNode>;
12
+ protected evaluateSet(dirty: Set<FormulaNode>): void;
13
+ protected markCycle(node: FormulaNode): void;
14
+ protected compute(node: FormulaNode): void;
15
+ protected store(node: FormulaNode, cell: Cell, result: Scalar | Matrix): void;
16
+ protected frameFor(sheet: number, row: number, col: number, root: FormulaAst | undefined, legacy?: boolean): Frame;
17
+ protected evaluateFormula(node: FormulaNode): Scalar | Matrix;
18
+ }
19
+ //# sourceMappingURL=engine-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine-core.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/engine-core.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,EAAoB,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAIzE,8BAAsB,UAAW,SAAQ,UAAU;IAClD,SAAS,CAAC,gBAAgB,IAAI,IAAI;IASlC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAiBjE,sFAAsF;IACtF,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;IAyB5D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI;IAqCpD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAO5C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAkB1C,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAqB7E,SAAS,CAAC,QAAQ,CACjB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,MAAM,UAAQ,GACZ,KAAK;IAMR,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM;CAe7D"}
@@ -0,0 +1,51 @@
1
+ import { type CellRange } from '../address.js';
2
+ import type { Cell, Workbook } from '../model.js';
3
+ import { FormulaError, type FormulaAst } from './ast.js';
4
+ import type { EvalHost } from './context.js';
5
+ import type { CalcEngineOptions } from './engine-types.js';
6
+ import { ColumnIndex, type FormulaNode, ReverseIndex } from './graph.js';
7
+ import type { Area, Scalar } from './values.js';
8
+ export declare abstract class EngineHost implements EvalHost {
9
+ readonly workbook: Workbook;
10
+ protected readonly options: CalcEngineOptions;
11
+ protected readonly nodes: Map<number, Map<number, FormulaNode>>;
12
+ protected readonly footprints: Set<FormulaNode>;
13
+ protected readonly astCache: Map<string, FormulaError | FormulaAst>;
14
+ protected readonly boundsCache: Map<number, {
15
+ rows: number;
16
+ cols: number;
17
+ }>;
18
+ protected readonly inProgress: Set<FormulaNode>;
19
+ protected cycles: Set<FormulaNode>;
20
+ protected dynamicCycleHits: Set<FormulaNode>;
21
+ protected pending: Set<FormulaNode> | undefined;
22
+ protected columnIndex: ColumnIndex | undefined;
23
+ protected reverseIndex: ReverseIndex | undefined;
24
+ protected footprintChanges: Area[];
25
+ protected built: boolean;
26
+ protected needsFull: boolean;
27
+ constructor(workbook: Workbook, options: CalcEngineOptions);
28
+ readCell(sheet: number, row: number, col: number): Scalar;
29
+ protected dynamicCycleHit: boolean;
30
+ protected ensureComputed(sheet: number, row: number, col: number, cell: Cell): void;
31
+ forEachStored(sheet: number, range: CellRange, visit: (value: Scalar, row: number, col: number) => void): void;
32
+ bounds(sheet: number): {
33
+ rows: number;
34
+ cols: number;
35
+ };
36
+ spillRange(sheet: number, row: number, col: number): CellRange | undefined;
37
+ cellFormula(sheet: number, row: number, col: number): string | undefined;
38
+ parse(formula: string): FormulaAst | FormulaError;
39
+ now(): Date;
40
+ random(): number;
41
+ protected build(): void;
42
+ protected createNode(sheet: number, row: number, col: number, cell: Cell, initial: boolean): FormulaNode;
43
+ protected removeNode(node: FormulaNode, changed: Area[]): void;
44
+ protected graphChanged(): void;
45
+ protected allNodes(): FormulaNode[];
46
+ protected columns(): ColumnIndex;
47
+ protected reverse(): ReverseIndex;
48
+ /** Evaluates a pending formula node now (defined by the engine). */
49
+ protected abstract compute(node: FormulaNode): void;
50
+ }
51
+ //# sourceMappingURL=engine-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine-host.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/engine-host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { CellRange } from '../address.js';
2
+ import type { CellValue } from '../model.js';
3
+ export interface CellPosition {
4
+ sheet: number;
5
+ row: number;
6
+ col: number;
7
+ }
8
+ export interface CalcEngine {
9
+ /** Evaluates every formula cell and sets `cell.value`. */
10
+ recalculateAll(): void;
11
+ /** Recalculates the formulas that depend on the changed cells (and volatile formulas). */
12
+ recalculateFrom(changes: CellPosition[]): void;
13
+ /** Evaluates an ad hoc formula at a position (status bar, conditional formats, validation). */
14
+ evaluate(formula: string, at: CellPosition): CellValue;
15
+ /** Forgets the dependency graph (after structural edits); the next recalculation rebuilds it. */
16
+ invalidate(): void;
17
+ /** Like `evaluate` but keeps array results (list validation sources, chart series). */
18
+ evaluateArray(formula: string, at: CellPosition): CellValue[][];
19
+ /** The current spill range anchored at a cell. */
20
+ spillRange(sheet: number, row: number, col: number): CellRange | undefined;
21
+ /** Formula cells found in circular references during the last recalculation. */
22
+ circularCells(): CellPosition[];
23
+ }
24
+ export interface CalcEngineOptions {
25
+ /** Clock for NOW and TODAY (tests). */
26
+ now?: () => Date;
27
+ /** Random source for RAND, RANDBETWEEN and RANDARRAY (tests). */
28
+ random?: () => number;
29
+ }
30
+ export declare const CIRCULAR_REFERENCE_WARNING = "The workbook contains circular references; the cells involved show 0.";
31
+ //# sourceMappingURL=engine-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine-types.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/engine-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IAC1B,0DAA0D;IAC1D,cAAc,IAAI,IAAI,CAAC;IACvB,0FAA0F;IAC1F,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC/C,+FAA+F;IAC/F,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,SAAS,CAAC;IACvD,iGAAiG;IACjG,UAAU,IAAI,IAAI,CAAC;IACnB,uFAAuF;IACvF,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,SAAS,EAAE,EAAE,CAAC;IAChE,kDAAkD;IAClD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAC3E,gFAAgF;IAChF,aAAa,IAAI,YAAY,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IACjC,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,0BAA0B,0EACiC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { CellRange } from '../address.js';
2
+ import type { EvalHost } from './context.js';
3
+ import { Matrix, type Scalar, type Value } from './values.js';
4
+ /** The value a formula cell shows: one value, or an array to spill. Blanks become 0. */
5
+ export declare function finalize(value: Value, host: EvalHost): Scalar | Matrix;
6
+ export declare function clean(value: Scalar): Scalar;
7
+ export declare const rangeHas: (range: CellRange, row: number, col: number) => boolean;
8
+ export declare function sameRange(a: CellRange | undefined, b: CellRange | undefined): boolean;
9
+ export declare function boundingBox(ranges: CellRange[]): CellRange;
10
+ //# sourceMappingURL=engine-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine-util.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/engine-util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAIN,MAAM,EAEN,KAAK,MAAM,EACX,KAAK,KAAK,EACV,MAAM,aAAa,CAAC;AAErB,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAetE;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO3C;AAED,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,OAC2B,CAAC;AAElG,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAQrF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAW1D"}
@@ -0,0 +1,6 @@
1
+ import type { Workbook } from '../model.js';
2
+ import type { CalcEngine, CalcEngineOptions } from './engine-types.js';
3
+ export { type CalcEngine, type CalcEngineOptions, CIRCULAR_REFERENCE_WARNING, type CellPosition, } from './engine-types.js';
4
+ /** Creates a calculation engine bound to a workbook. */
5
+ export declare function createCalcEngine(workbook: Workbook, options?: CalcEngineOptions): CalcEngine;
6
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/engine.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI7D,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAgB,MAAM,mBAAmB,CAAC;AAQrF,OAAO,EACN,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,0BAA0B,EAC1B,KAAK,YAAY,GACjB,MAAM,mBAAmB,CAAC;AA8H3B,wDAAwD;AACxD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,iBAAsB,GAAG,UAAU,CAEhG"}
@@ -0,0 +1,17 @@
1
+ import type { DefinedName } from '../model.js';
2
+ import { type FormulaAst } from './ast.js';
3
+ import type { EvalHost, Frame } from './context.js';
4
+ import { Matrix, type Scalar, type Scope, type Value } from './values.js';
5
+ /** Evaluates `node`; references stay references (the caller decides how to read them). */
6
+ export declare function evaluateNode(node: FormulaAst, frame: Frame): Value;
7
+ /** Dereferences an operand: one cell becomes its value, larger ranges a matrix. */
8
+ export declare function operand(value: Value, frame: Frame): Scalar | Matrix;
9
+ /** The defined name visible from `sheet` (a sheet-local name wins over a global one). */
10
+ export declare function findDefinedName(host: EvalHost, name: string, sheet: number, explicitSheet: boolean): DefinedName | undefined;
11
+ /** Evaluates a defined name's formula, or `undefined` when there is no such name. */
12
+ export declare function evaluateDefinedName(name: string, sheet: number, explicitSheet: boolean, frame: Frame): Value | undefined;
13
+ /** Calls a LAMBDA closure with already evaluated arguments. */
14
+ export declare function invokeLambda(callee: Value, args: Value[], frame: Frame): Value;
15
+ /** Extends a scope with one variable. */
16
+ export declare function extendScope(scope: Scope | undefined, name: string, value: Value): Scope;
17
+ //# sourceMappingURL=evaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/evaluator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAgB,KAAK,UAAU,EAAsB,MAAM,UAAU,CAAC;AAE7E,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAYpD,OAAO,EAMN,MAAM,EAEN,KAAK,MAAM,EACX,KAAK,KAAK,EACV,KAAK,KAAK,EACV,MAAM,aAAa,CAAC;AAIrB,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CA0ClE;AAED,mFAAmF;AACnF,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAkBnE;AAmBD,yFAAyF;AACzF,wBAAgB,eAAe,CAC9B,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,GACpB,WAAW,GAAG,SAAS,CASzB;AAED,qFAAqF;AACrF,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,KAAK,GACV,KAAK,GAAG,SAAS,CAOnB;AAqBD,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAO9E;AAED,yCAAyC;AACzC,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAIvF"}
@@ -0,0 +1,3 @@
1
+ import type { FunctionSpec } from './types.js';
2
+ export declare const ARRAY_SHAPE_FUNCTIONS: FunctionSpec[];
3
+ //# sourceMappingURL=array-shape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-shape.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/array-shape.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA+F/C,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAqI/C,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type Scalar } from '../values.js';
2
+ import type { FunctionSpec } from './types.js';
3
+ /** Sort order for SORT/SORTBY: numbers, text, logicals, errors; blanks always last. */
4
+ export declare function sortCompare(a: Scalar, b: Scalar, descending: boolean): number;
5
+ export declare const ARRAY_FUNCTIONS: FunctionSpec[];
6
+ //# sourceMappingURL=array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/array.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,MAAM,EAAc,MAAM,cAAc,CAAC;AAGnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,CAQ7E;AAoHD,eAAO,MAAM,eAAe,EAAE,YAAY,EA+FzC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { CallContext } from '../context.js';
2
+ import { Matrix, type Scalar, type Value } from '../values.js';
3
+ /**
4
+ * Reads several range arguments with one shape. With `sameShape`, every argument must have the
5
+ * first one's size (the IFS functions); otherwise later ranges are resized from their top-left
6
+ * cell (SUMIF's sum_range). Whole-column references are clipped to the used rows.
7
+ */
8
+ export declare function shapedMatrices(ctx: CallContext, values: Value[], sameShape: boolean): Matrix[];
9
+ /**
10
+ * For `(range, criteria)` pairs, the values of `target` (or of the first range) at positions
11
+ * where every criterion holds.
12
+ */
13
+ export declare function matchingValues(ctx: CallContext, pairs: {
14
+ range: Value;
15
+ criteria: Value;
16
+ }[], target: Value | undefined, sameShape: boolean): Scalar[];
17
+ /** Splits trailing `(range, criteria)` argument pairs. */
18
+ export declare function criteriaPairs(args: Value[], from: number): {
19
+ range: Value;
20
+ criteria: Value;
21
+ }[];
22
+ //# sourceMappingURL=criteria.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/criteria.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAa,MAAM,EAAY,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAKpF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,EAAE,CA8C9F;AAeD;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAA;CAAE,EAAE,EAC1C,MAAM,EAAE,KAAK,GAAG,SAAS,EACzB,SAAS,EAAE,OAAO,GAChB,MAAM,EAAE,CAqBV;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAA;CAAE,EAAE,CAO9F"}
@@ -0,0 +1,14 @@
1
+ import type { CallContext } from '../context.js';
2
+ import { type Value } from '../values.js';
3
+ /** A date serial argument: numbers and date text, truncated; negative or too large is #NUM!. */
4
+ export declare function serialArg(value: Value | undefined): number;
5
+ export declare function dateSerial(year: number, month: number, day: number, ctx: CallContext): number;
6
+ export declare function addMonths(serial: number, months: number, ctx: CallContext, endOfMonth: boolean): number;
7
+ /** WEEKDAY's numbering: returns 1-based (or 0-based for type 3) day number. */
8
+ export declare function weekday(serial: number, type: number, ctx: CallContext): number;
9
+ export declare function isoWeek(serial: number, ctx: CallContext): number;
10
+ export declare function weekNum(serial: number, type: number, ctx: CallContext): number;
11
+ export declare function datedif(start: number, end: number, unit: string, ctx: CallContext): number;
12
+ export declare function days360(start: number, end: number, european: boolean, ctx: CallContext): number;
13
+ export declare function yearFrac(s: number, e: number, basis: number, ctx: CallContext): number;
14
+ //# sourceMappingURL=date-calc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-calc.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/date-calc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAKrD,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAI1D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAM7F;AAED,wBAAgB,SAAS,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,OAAO,GACjB,MAAM,CAQR;AAED,+EAA+E;AAC/E,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAiB9E;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAOhE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAmB9E;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAmC1F;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAgB/F;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAgCtF"}
@@ -0,0 +1,3 @@
1
+ import type { FunctionSpec } from './types.js';
2
+ export declare const DATETIME_FUNCTIONS: FunctionSpec[];
3
+ //# sourceMappingURL=datetime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/datetime.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAe/C,eAAO,MAAM,kBAAkB,EAAE,YAAY,EA6M5C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FunctionSpec } from './types.js';
2
+ /** Depreciation, rate conversion and price-format functions. */
3
+ export declare const DEPRECIATION_FUNCTIONS: FunctionSpec[];
4
+ //# sourceMappingURL=depreciation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depreciation.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/depreciation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,EAAE,YAAY,EAmLhD,CAAC"}
@@ -0,0 +1,22 @@
1
+ /** Regularized lower incomplete gamma P(a, x). */
2
+ export declare function gammaP(a: number, x: number): number;
3
+ export declare function betaCf(a: number, b: number, x: number): number;
4
+ /** Regularized incomplete beta I_x(a, b). */
5
+ export declare function betaI(x: number, a: number, b: number): number;
6
+ export declare const erf: (x: number) => number;
7
+ export declare const normCdf: (z: number) => number;
8
+ export declare const normPdf: (z: number) => number;
9
+ /** Inverse standard normal CDF (Acklam's approximation refined by one Halley step). */
10
+ export declare function normInv(p: number): number;
11
+ /** Inverts a monotonic increasing CDF on (lo, hi) by bisection. */
12
+ export declare function invert(cdf: (x: number) => number, p: number, lo: number, hi: number): number;
13
+ export declare const tCdf: (t: number, df: number) => number;
14
+ export declare const tPdf: (t: number, df: number) => number;
15
+ export declare const chiCdf: (x: number, df: number) => number;
16
+ export declare const positive: (...values: (number | undefined)[]) => void;
17
+ export declare const probability: (p: number) => void;
18
+ export declare function binomPmf(k: number, n: number, p: number): number;
19
+ export declare function binomDist(k: number, n: number, p: number, cumulative: number): number;
20
+ export declare function poisson(k: number, mean: number, cumulative: number): number;
21
+ export declare const normDist: (x: number, m: number, s: number, cumulative: number) => number;
22
+ //# sourceMappingURL=dist-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dist-core.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/dist-core.ts"],"names":[],"mappings":"AAOA,kDAAkD;AAClD,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAgCnD;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA6B9D;AAED,6CAA6C;AAC7C,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAS7D;AAED,eAAO,MAAM,GAAG,GAAI,GAAG,MAAM,KAAG,MAA4D,CAAC;AAC7F,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,KAAG,MAAyC,CAAC;AAC9E,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,KAAG,MAAyD,CAAC;AAE9F,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CA2CzC;AAED,mEAAmE;AACnE,wBAAgB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAW5F;AAED,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,EAAE,IAAI,MAAM,KAAG,MAI5C,CAAC;AACF,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,EAAE,IAAI,MAAM,KAAG,MAM3C,CAAC;AACH,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,IAAI,MAAM,KAAG,MAA+B,CAAC;AAE/E,eAAO,MAAM,QAAQ,GAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,KAAG,IAE5D,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,IAEvC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQrF;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,YAAY,MAAM,KAAG,MAI9E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FunctionSpec } from './types.js';
2
+ /** Student's t, chi-squared, beta and discrete distributions. */
3
+ export declare const DISTRIBUTION_MORE: FunctionSpec[];
4
+ //# sourceMappingURL=distributions-more.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributions-more.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/distributions-more.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,EAAE,YAAY,EAkM3C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FunctionSpec } from './types.js';
2
+ export declare const DISTRIBUTION_FUNCTIONS: FunctionSpec[];
3
+ //# sourceMappingURL=distributions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributions.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/distributions.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK/C,eAAO,MAAM,sBAAsB,EAAE,YAAY,EAiPhD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FunctionSpec } from './types.js';
2
+ export declare const ENGINEERING_FUNCTIONS: FunctionSpec[];
3
+ //# sourceMappingURL=engineering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engineering.d.ts","sourceRoot":"","sources":["../../../../src/xlsx/formula/functions/engineering.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAqF/C,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAoH/C,CAAC"}