@sheetxl/sdk 0.7.27 → 0.7.28-beta.1

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 (600) hide show
  1. package/THIRD-PARTY-NOTICES.md +34 -0
  2. package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +1 -0
  3. package/browser/cjs/D590vnHyyrIYenQ7.cjs +33 -0
  4. package/browser/cjs/DfVZ_U2YapkL3Y3y.cjs +1 -0
  5. package/browser/cjs/DsII2GRIYGbaZjIE.cjs +1 -0
  6. package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +10 -0
  7. package/browser/cjs/index.cjs +3 -6
  8. package/browser/cjs/nE4y6hua6AwWSil7.cjs +1 -0
  9. package/browser/cjs/nMss3hrHzgX9s6dC.cjs +57 -0
  10. package/browser/esm/AyOmyt_vaPirbWnn.mjs +49986 -0
  11. package/browser/esm/BJ5lU2Y0r4Vy8n4q.mjs +109 -0
  12. package/browser/esm/BvaEmG7AaTSm7dFt.mjs +818 -0
  13. package/browser/esm/CWKJatjtHKfWtM2b.mjs +503 -0
  14. package/browser/esm/CkhE5KvHQvKzw4Ll.mjs +4436 -0
  15. package/browser/esm/Dpwf1IgHZjpEpK-K.mjs +24 -0
  16. package/browser/esm/index.mjs +3225 -62
  17. package/browser/esm/uFvYxePB3xD2HrP0.mjs +14 -0
  18. package/licenses/dependencies.txt +74 -193
  19. package/node/esm/CYXOvL3qwWeDE0xf.mjs +114 -0
  20. package/node/esm/Dgmq_XXiU2AQw1tX.mjs +22 -0
  21. package/node/esm/index.mjs +53620 -23262
  22. package/node/esm/qxrG4h6T0dAo8eZ6.mjs +837 -0
  23. package/package.json +19 -14
  24. package/resources/contents.json +21 -0
  25. package/resources/locales/contents.json +19 -0
  26. package/resources/locales/de/grammar.json +16 -0
  27. package/resources/locales/de/model.msg.json +510 -0
  28. package/resources/locales/en/model.msg.json +525 -0
  29. package/types/index.d.ts +2 -21294
  30. package/types/scripting-enums.json +1009 -0
  31. package/types/scripting.d.ts +26540 -31455
  32. package/types/src/address/AddressUtils.d.ts +252 -0
  33. package/types/src/address/_AddressMessages.d.ts +7 -0
  34. package/types/src/address/index.d.ts +35 -0
  35. package/types/src/anchored/AbstractAnchored.d.ts +200 -0
  36. package/types/src/anchored/Anchored.d.ts +154 -0
  37. package/types/src/anchored/AnchoredMap.d.ts +178 -0
  38. package/types/src/anchored/IAnchored.d.ts +118 -0
  39. package/types/src/anchored/IAnchoredMap.d.ts +207 -0
  40. package/types/src/anchored/_AnchorMessages.d.ts +3 -0
  41. package/types/src/anchored/index.d.ts +2 -0
  42. package/types/src/autoFill/AutoFill.d.ts +161 -0
  43. package/types/src/autoFill/IAutoFill.d.ts +117 -0
  44. package/types/src/autoFill/index.d.ts +3 -0
  45. package/types/src/border/IBorder.d.ts +284 -0
  46. package/types/src/border/index.d.ts +2 -0
  47. package/types/src/calculation/Calculation.d.ts +440 -0
  48. package/types/src/calculation/FormulaLiterals.d.ts +18 -0
  49. package/types/src/calculation/ICalculation.d.ts +1016 -0
  50. package/types/src/calculation/INamedFormulasCollection.d.ts +141 -0
  51. package/types/src/calculation/NamedFormulaCollection.d.ts +671 -0
  52. package/types/src/calculation/TokenType.d.ts +117 -0
  53. package/types/src/calculation/Types.d.ts +110 -0
  54. package/types/src/calculation/_CalculationMessages.d.ts +3 -0
  55. package/types/src/calculation/builtInNames.d.ts +2 -0
  56. package/types/src/calculation/compiler/ASTTypes.d.ts +180 -0
  57. package/types/src/calculation/compiler/CompilerLocale.d.ts +69 -0
  58. package/types/src/calculation/compiler/CompilerUtils.d.ts +331 -0
  59. package/types/src/calculation/compiler/FormulaCompiler.d.ts +69 -0
  60. package/types/src/calculation/compiler/FormulaLexer.d.ts +85 -0
  61. package/types/src/calculation/compiler/FormulaParser.d.ts +270 -0
  62. package/types/src/calculation/compiler/FormulaSeparators.d.ts +35 -0
  63. package/types/src/calculation/compiler/LiteTransform.d.ts +15 -0
  64. package/types/src/calculation/compiler/ParserUtils.d.ts +167 -0
  65. package/types/src/calculation/compiler/SRLexer.d.ts +19 -0
  66. package/types/src/calculation/compiler/SRParser.d.ts +38 -0
  67. package/types/src/calculation/compiler/Types.d.ts +274 -0
  68. package/types/src/calculation/compiler/index.d.ts +3 -0
  69. package/types/src/calculation/executor/CalcExecutor.d.ts +115 -0
  70. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +11 -0
  71. package/types/src/calculation/executor/index.d.ts +3 -0
  72. package/types/src/calculation/formula/Formula.d.ts +168 -0
  73. package/types/src/calculation/formula/FormulaBlock.d.ts +207 -0
  74. package/types/src/calculation/formula/IFormulaBlock.d.ts +181 -0
  75. package/types/src/calculation/formula/LambdaValue.d.ts +166 -0
  76. package/types/src/calculation/formula/TokenUtils.d.ts +26 -0
  77. package/types/src/calculation/formula/index.d.ts +4 -0
  78. package/types/src/calculation/functions/Operators.d.ts +30 -0
  79. package/types/src/calculation/functions/index.d.ts +2 -0
  80. package/types/src/calculation/functions/initializeFunctions.d.ts +22 -0
  81. package/types/src/calculation/grid/CalcGrid.d.ts +205 -0
  82. package/types/src/calculation/grid/CalcGridUtils.d.ts +172 -0
  83. package/types/src/calculation/grid/ICalcGrid.d.ts +500 -0
  84. package/types/src/calculation/grid/index.d.ts +3 -0
  85. package/types/src/calculation/index.d.ts +5 -0
  86. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +25 -0
  87. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +120 -0
  88. package/types/src/calculation/spatial/PrecedentSpatialValue.d.ts +115 -0
  89. package/types/src/calculation/spatial/SpillEntry.d.ts +40 -0
  90. package/types/src/calculation/spatial/index.d.ts +5 -0
  91. package/types/src/calculation/state/CalcNode.d.ts +71 -0
  92. package/types/src/calculation/state/CalcScope.d.ts +35 -0
  93. package/types/src/calculation/state/CalcState.d.ts +28 -0
  94. package/types/src/calculation/state/CalculationContext.d.ts +125 -0
  95. package/types/src/calculation/state/IContextContainer.d.ts +320 -0
  96. package/types/src/calculation/state/index.d.ts +6 -0
  97. package/types/src/calculation/symbol/FunctionSymbolProvider.d.ts +44 -0
  98. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +93 -0
  99. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +144 -0
  100. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +18 -0
  101. package/types/src/calculation/symbol/SymbolRegistry.d.ts +19 -0
  102. package/types/src/calculation/symbol/TableColumnSymbolProvider.d.ts +21 -0
  103. package/types/src/calculation/symbol/TableSymbolProvider.d.ts +19 -0
  104. package/types/src/calculation/symbol/index.d.ts +9 -0
  105. package/types/src/cell/ICell.d.ts +672 -0
  106. package/types/src/cell/ICellHeader.d.ts +142 -0
  107. package/types/src/cell/ICellProtection.d.ts +41 -0
  108. package/types/src/cell/index.d.ts +4 -0
  109. package/types/src/cellRange/ICellHeaderRange.d.ts +306 -0
  110. package/types/src/cellRange/ICellHeaderRanges.d.ts +107 -0
  111. package/types/src/cellRange/ICellRange.d.ts +2509 -0
  112. package/types/src/cellRange/ICellRanges.d.ts +407 -0
  113. package/types/src/cellRange/ICellRegion.d.ts +133 -0
  114. package/types/src/cellRange/_GraphNode.d.ts +38 -0
  115. package/types/src/cellRange/index.d.ts +6 -0
  116. package/types/src/chart/Chart.d.ts +53 -0
  117. package/types/src/chart/IChart.d.ts +42 -0
  118. package/types/src/chart/index.d.ts +5 -0
  119. package/types/src/collections/ArraysGrid.d.ts +72 -0
  120. package/types/src/collections/BooleanList.d.ts +67 -0
  121. package/types/src/collections/GridMap.d.ts +47 -0
  122. package/types/src/collections/HashMap.d.ts +15 -0
  123. package/types/src/collections/IGrid.d.ts +278 -0
  124. package/types/src/collections/IList.d.ts +89 -0
  125. package/types/src/collections/IMap.d.ts +45 -0
  126. package/types/src/collections/IReadableList.d.ts +120 -0
  127. package/types/src/collections/ISortedMap.d.ts +171 -0
  128. package/types/src/collections/ISparseGrid.d.ts +61 -0
  129. package/types/src/collections/ISparseList.d.ts +103 -0
  130. package/types/src/collections/ISpatialMap.d.ts +515 -0
  131. package/types/src/collections/ISpatialMap3D.d.ts +116 -0
  132. package/types/src/collections/IWritableList.d.ts +41 -0
  133. package/types/src/collections/ImmutableList.d.ts +52 -0
  134. package/types/src/collections/IteratorUtils.d.ts +91 -0
  135. package/types/src/collections/MixedTypedArrayList.d.ts +140 -0
  136. package/types/src/collections/OverlappingRangeIterator.d.ts +91 -0
  137. package/types/src/collections/RTree.d.ts +111 -0
  138. package/types/src/collections/RepeatingList.d.ts +20 -0
  139. package/types/src/collections/SortedMap.d.ts +396 -0
  140. package/types/src/collections/SparseGrid.d.ts +99 -0
  141. package/types/src/collections/SparseList.d.ts +90 -0
  142. package/types/src/collections/SpatialMap.d.ts +102 -0
  143. package/types/src/collections/SpatialMap3D.d.ts +64 -0
  144. package/types/src/collections/Tuple.d.ts +160 -0
  145. package/types/src/collections/_CollectionUtils.d.ts +25 -0
  146. package/types/src/collections/_GridUtils.d.ts +268 -0
  147. package/types/src/collections/_RunUtils.d.ts +170 -0
  148. package/types/src/collections/_SpatialUtils.d.ts +115 -0
  149. package/types/src/collections/index.d.ts +21 -0
  150. package/types/src/color/Color.d.ts +120 -0
  151. package/types/src/color/ColorSpace.d.ts +45 -0
  152. package/types/src/color/IColor.d.ts +1110 -0
  153. package/types/src/color/_BuiltInIndexDefs.d.ts +4 -0
  154. package/types/src/color/_BuiltInNamedDefs.d.ts +29 -0
  155. package/types/src/color/_BuiltInSchemeDefs.d.ts +7 -0
  156. package/types/src/color/_ColorUtils.d.ts +93 -0
  157. package/types/src/color/index.d.ts +3 -0
  158. package/types/src/comment/IComment.d.ts +108 -0
  159. package/types/src/comment/index.d.ts +2 -0
  160. package/types/src/condition/AnchoredConditional.d.ts +263 -0
  161. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +83 -0
  162. package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +8 -0
  163. package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +8 -0
  164. package/types/src/condition/BuiltInOperators/AndOperator.d.ts +12 -0
  165. package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +12 -0
  166. package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +8 -0
  167. package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +8 -0
  168. package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +12 -0
  169. package/types/src/condition/BuiltInOperators/BlankOperator.d.ts +9 -0
  170. package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +8 -0
  171. package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +8 -0
  172. package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +8 -0
  173. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +11 -0
  174. package/types/src/condition/BuiltInOperators/ErrorOperator.d.ts +9 -0
  175. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +17 -0
  176. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +8 -0
  177. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +8 -0
  178. package/types/src/condition/BuiltInOperators/IconOperator.d.ts +8 -0
  179. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +14 -0
  180. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +8 -0
  181. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +8 -0
  182. package/types/src/condition/BuiltInOperators/NotOperator.d.ts +12 -0
  183. package/types/src/condition/BuiltInOperators/OrOperator.d.ts +12 -0
  184. package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +8 -0
  185. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +13 -0
  186. package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +12 -0
  187. package/types/src/condition/BuiltInOperators/UniqueOperator.d.ts +8 -0
  188. package/types/src/condition/BuiltInOperators/ValidEmailOperator.d.ts +8 -0
  189. package/types/src/condition/BuiltInOperators/ValidUrlOperator.d.ts +8 -0
  190. package/types/src/condition/BuiltInOperators/index.d.ts +59 -0
  191. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +43 -0
  192. package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +14 -0
  193. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +12 -0
  194. package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +16 -0
  195. package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +14 -0
  196. package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +14 -0
  197. package/types/src/condition/BuiltinSelectors/index.d.ts +18 -0
  198. package/types/src/condition/Condition.d.ts +123 -0
  199. package/types/src/condition/ICondition.d.ts +915 -0
  200. package/types/src/condition/_ConditionUtils.d.ts +190 -0
  201. package/types/src/condition/index.d.ts +3 -0
  202. package/types/src/conditionalFormat/ConditionalEntry.d.ts +20 -0
  203. package/types/src/conditionalFormat/ConditionalFormat.d.ts +190 -0
  204. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +20 -0
  205. package/types/src/conditionalFormat/IConditionalFormat.d.ts +518 -0
  206. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +70 -0
  207. package/types/src/conditionalFormat/_ConditionalMessages.d.ts +2 -0
  208. package/types/src/conditionalFormat/index.d.ts +3 -0
  209. package/types/src/dataValidation/DataValidation.d.ts +121 -0
  210. package/types/src/dataValidation/DataValidationCollection.d.ts +20 -0
  211. package/types/src/dataValidation/IDataValidation.d.ts +327 -0
  212. package/types/src/dataValidation/IDataValidationCollection.d.ts +63 -0
  213. package/types/src/dataValidation/_DataValidationMessages.d.ts +2 -0
  214. package/types/src/dataValidation/_Utils.d.ts +10 -0
  215. package/types/src/dataValidation/index.d.ts +3 -0
  216. package/types/src/date/DateUtils.d.ts +8 -0
  217. package/types/src/date/_DateUtils.d.ts +122 -0
  218. package/types/src/date/index.d.ts +2 -0
  219. package/types/src/externalBook/ExternalBookCollection.d.ts +36 -0
  220. package/types/src/externalBook/IExternalBook.d.ts +97 -0
  221. package/types/src/externalBook/IExternalBookCollection.d.ts +29 -0
  222. package/types/src/externalBook/index.d.ts +3 -0
  223. package/types/src/fill/IEffect.d.ts +389 -0
  224. package/types/src/fill/IFill.d.ts +597 -0
  225. package/types/src/fill/IStroke.d.ts +265 -0
  226. package/types/src/fill/_BuiltInPatterns.d.ts +27 -0
  227. package/types/src/fill/index.d.ts +4 -0
  228. package/types/src/filter/IFilter.d.ts +83 -0
  229. package/types/src/filter/index.d.ts +2 -0
  230. package/types/src/font/CanvasFontMeasurer.d.ts +25 -0
  231. package/types/src/font/ExtendedTextMetrics.d.ts +1 -0
  232. package/types/src/font/Font.d.ts +19 -0
  233. package/types/src/font/FontKitFontMeasurer.d.ts +11 -0
  234. package/types/src/font/FontUtils.d.ts +9 -0
  235. package/types/src/font/IFont.d.ts +261 -0
  236. package/types/src/font/IFontCollection.d.ts +31 -0
  237. package/types/src/font/SimpleFontMeasurer.d.ts +4 -0
  238. package/types/src/font/_FontUtils.d.ts +22 -0
  239. package/types/src/font/index.d.ts +5 -0
  240. package/types/src/history/IHistory.d.ts +110 -0
  241. package/types/src/history/index.d.ts +2 -0
  242. package/types/src/hyperlink/IHyperlink.d.ts +96 -0
  243. package/types/src/hyperlink/_Hyperlink.d.ts +21 -0
  244. package/types/src/hyperlink/index.d.ts +2 -0
  245. package/types/src/i18n/LanguagePack.d.ts +97 -0
  246. package/types/src/i18n/LocaleProfile.d.ts +15 -0
  247. package/types/src/i18n/_CurrencyData.d.ts +20 -0
  248. package/types/src/i18n/functionLocales.d.ts +6 -0
  249. package/types/src/i18n/index.d.ts +4 -0
  250. package/types/src/i18n/locales.d.ts +3 -0
  251. package/types/src/index.d.ts +71 -0
  252. package/types/src/io/AbstractBackingStore.d.ts +53 -0
  253. package/types/src/io/ArrayBackingStore.d.ts +34 -0
  254. package/types/src/io/IWorkbookIO.d.ts +1322 -0
  255. package/types/src/io/WorkbookIO.d.ts +91 -0
  256. package/types/src/io/WorkbookOrigin.d.ts +114 -0
  257. package/types/src/io/WorkbookRegistry.d.ts +49 -0
  258. package/types/src/io/index.d.ts +5 -0
  259. package/types/src/lib/file/file.browser.d.ts +41 -0
  260. package/types/src/lib/file/file.node.d.ts +25 -0
  261. package/types/src/lib/utils/_Utils.d.ts +20 -0
  262. package/types/src/lib/utils/banner.d.ts +6 -0
  263. package/types/src/lib/utils/utils.browser.d.ts +28 -0
  264. package/types/src/lib/utils/utils.node.d.ts +42 -0
  265. package/types/src/license/LicenseDetails.d.ts +22 -0
  266. package/types/src/license/LicenseManager.d.ts +63 -0
  267. package/types/src/license/index.d.ts +3 -0
  268. package/types/src/license/license-key.d.ts +33 -0
  269. package/types/src/listener/IListener.d.ts +62 -0
  270. package/types/src/listener/ListenerEmitter.d.ts +47 -0
  271. package/types/src/listener/index.d.ts +2 -0
  272. package/types/src/model/AbstractModel.d.ts +90 -0
  273. package/types/src/model/IModel.d.ts +108 -0
  274. package/types/src/model/_ModelMessages.d.ts +2 -0
  275. package/types/src/model/index.d.ts +3 -0
  276. package/types/src/movable/CustomElement.d.ts +42 -0
  277. package/types/src/movable/ICustomElement.d.ts +29 -0
  278. package/types/src/movable/IGroup.d.ts +30 -0
  279. package/types/src/movable/IMovable.d.ts +327 -0
  280. package/types/src/movable/IMovableCollection.d.ts +129 -0
  281. package/types/src/movable/IMovableSelection.d.ts +49 -0
  282. package/types/src/movable/Movable.d.ts +221 -0
  283. package/types/src/movable/MovableCollection.d.ts +29 -0
  284. package/types/src/movable/_MovableUtils.d.ts +4 -0
  285. package/types/src/movable/index.d.ts +4 -0
  286. package/types/src/named/AbstractNamed.d.ts +41 -0
  287. package/types/src/named/INamed.d.ts +225 -0
  288. package/types/src/named/INamedCollection.d.ts +230 -0
  289. package/types/src/named/NamedCollection.d.ts +302 -0
  290. package/types/src/named/_BuiltInNamed.d.ts +6 -0
  291. package/types/src/named/index.d.ts +3 -0
  292. package/types/src/numFmt/BuiltInFormats.d.ts +49 -0
  293. package/types/src/numFmt/IFormatEngine.d.ts +149 -0
  294. package/types/src/numFmt/NumberFormatBuilder.d.ts +46 -0
  295. package/types/src/numFmt/NumberFormatParser.d.ts +168 -0
  296. package/types/src/numFmt/NumberFormatStyles.d.ts +43 -0
  297. package/types/src/numFmt/NumberFormatType.d.ts +79 -0
  298. package/types/src/numFmt/NumfmtFormatEngine.d.ts +33 -0
  299. package/types/src/numFmt/_BuiltInNumberFormats.d.ts +12 -0
  300. package/types/src/numFmt/_FormatCell.d.ts +52 -0
  301. package/types/src/numFmt/_NumFmtUtils.d.ts +102 -0
  302. package/types/src/numFmt/index.d.ts +105 -0
  303. package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +15 -0
  304. package/types/src/numFmt/vendor/numfmt/index.d.ts +721 -0
  305. package/types/src/picture/IPicture.d.ts +69 -0
  306. package/types/src/picture/Picture.d.ts +67 -0
  307. package/types/src/picture/index.d.ts +2 -0
  308. package/types/src/primitives/CompositeRangeStats.d.ts +63 -0
  309. package/types/src/primitives/Criteria.d.ts +35 -0
  310. package/types/src/primitives/FormulaContext.d.ts +2 -0
  311. package/types/src/primitives/PrimitiveUtils.d.ts +255 -0
  312. package/types/src/primitives/Range.d.ts +221 -0
  313. package/types/src/primitives/RangeStats.d.ts +48 -0
  314. package/types/src/primitives/ReferenceRange.d.ts +19 -0
  315. package/types/src/primitives/Runtime.d.ts +55 -0
  316. package/types/src/primitives/ScalarCollation.d.ts +174 -0
  317. package/types/src/primitives/TextFold.d.ts +62 -0
  318. package/types/src/primitives/_PrimitiveMessages.d.ts +3 -0
  319. package/types/src/primitives/index.d.ts +7 -0
  320. package/types/src/primitives/stats/AggregateStats.d.ts +119 -0
  321. package/types/src/primitives/stats/Cancellation.d.ts +43 -0
  322. package/types/src/primitives/stats/FrequencyStats.d.ts +94 -0
  323. package/types/src/primitives/stats/Ranked.d.ts +26 -0
  324. package/types/src/primitives/stats/ScalarOrder.d.ts +18 -0
  325. package/types/src/primitives/stats/SortedNumbers.d.ts +48 -0
  326. package/types/src/primitives/stats/index.d.ts +7 -0
  327. package/types/src/print/IPrint.d.ts +234 -0
  328. package/types/src/print/index.d.ts +2 -0
  329. package/types/src/protectedRange/IProtectedRange.d.ts +239 -0
  330. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +73 -0
  331. package/types/src/protectedRange/ProtectedRange.d.ts +101 -0
  332. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +21 -0
  333. package/types/src/protectedRange/index.d.ts +3 -0
  334. package/types/src/protection/DefaultProtection.d.ts +43 -0
  335. package/types/src/protection/IProtection.d.ts +170 -0
  336. package/types/src/protection/PasswordHasher.d.ts +35 -0
  337. package/types/src/protection/index.d.ts +6 -0
  338. package/types/src/resource/IResource.d.ts +98 -0
  339. package/types/src/resource/IResourceCollection.d.ts +96 -0
  340. package/types/src/resource/Resource.d.ts +39 -0
  341. package/types/src/resource/ResourceCollection.d.ts +19 -0
  342. package/types/src/resource/_ResourceMessages.d.ts +4 -0
  343. package/types/src/resource/index.d.ts +5 -0
  344. package/types/src/resource/resourceKinds.d.ts +23 -0
  345. package/types/src/richData/index.d.ts +1 -0
  346. package/types/src/scripting/FunctionCollection.d.ts +88 -0
  347. package/types/src/scripting/IFunctionCollection.d.ts +208 -0
  348. package/types/src/scripting/IModule.d.ts +82 -0
  349. package/types/src/scripting/IModuleCollection.d.ts +79 -0
  350. package/types/src/scripting/IScript.d.ts +289 -0
  351. package/types/src/scripting/ITypedFunction.d.ts +61 -0
  352. package/types/src/scripting/MacroFunction.d.ts +15 -0
  353. package/types/src/scripting/Module.d.ts +39 -0
  354. package/types/src/scripting/ModuleCollection.d.ts +56 -0
  355. package/types/src/scripting/Runtime.d.ts +16 -0
  356. package/types/src/scripting/Scripts.d.ts +79 -0
  357. package/types/src/scripting/TypedFunction.d.ts +161 -0
  358. package/types/src/scripting/_FunctionIndex.d.ts +111 -0
  359. package/types/src/scripting/_FunctionMessages.d.ts +6 -0
  360. package/types/src/scripting/_ModuleUtils.d.ts +5 -0
  361. package/types/src/scripting/_ScriptUtils.d.ts +18 -0
  362. package/types/src/scripting/enumManifest.browser.d.ts +9 -0
  363. package/types/src/scripting/enumManifest.node.d.ts +13 -0
  364. package/types/src/scripting/index.d.ts +4 -0
  365. package/types/src/selection/IRangeSelection.d.ts +307 -0
  366. package/types/src/selection/RangeSelection.d.ts +144 -0
  367. package/types/src/selection/_RangeSelectionUtils.d.ts +32 -0
  368. package/types/src/selection/index.d.ts +2 -0
  369. package/types/src/shape/IShape.d.ts +279 -0
  370. package/types/src/shape/Shape.d.ts +54 -0
  371. package/types/src/shape/index.d.ts +2 -0
  372. package/types/src/sheet/CellRegion.d.ts +106 -0
  373. package/types/src/sheet/ICellContainerOptions.d.ts +97 -0
  374. package/types/src/sheet/ISheet.d.ts +1074 -0
  375. package/types/src/sheet/ISheetCollection.d.ts +70 -0
  376. package/types/src/sheet/NamedCellRange.d.ts +45 -0
  377. package/types/src/sheet/NamedRange.d.ts +30 -0
  378. package/types/src/sheet/Sheet.d.ts +1068 -0
  379. package/types/src/sheet/SheetCell.d.ts +335 -0
  380. package/types/src/sheet/SheetCollection.d.ts +18 -0
  381. package/types/src/sheet/SheetRange.d.ts +362 -0
  382. package/types/src/sheet/SheetRanges.d.ts +225 -0
  383. package/types/src/sheet/_CopyUtils.d.ts +33 -0
  384. package/types/src/sheet/_InvalidSheetRange.d.ts +70 -0
  385. package/types/src/sheet/_SheetAutoFitUtils.d.ts +18 -0
  386. package/types/src/sheet/_SheetCoords.d.ts +54 -0
  387. package/types/src/sheet/_SheetFilterUtils.d.ts +9 -0
  388. package/types/src/sheet/_SheetMessages.d.ts +11 -0
  389. package/types/src/sheet/_SheetMutations.d.ts +137 -0
  390. package/types/src/sheet/_SheetSortUtils.d.ts +9 -0
  391. package/types/src/sheet/_SheetStateReader.d.ts +161 -0
  392. package/types/src/sheet/_SheetStateTypes.d.ts +446 -0
  393. package/types/src/sheet/_SheetUtils.d.ts +265 -0
  394. package/types/src/sheet/clipboard/IHTMLParser.d.ts +92 -0
  395. package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +55 -0
  396. package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +29 -0
  397. package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +46 -0
  398. package/types/src/sheet/clipboard/_ClipboardUtils.d.ts +10 -0
  399. package/types/src/sheet/clipboard/index.d.ts +2 -0
  400. package/types/src/sheet/index.d.ts +6 -0
  401. package/types/src/sheet/listener/RangesListener.d.ts +32 -0
  402. package/types/src/sheet/listener/RangesListenerEntry.d.ts +19 -0
  403. package/types/src/sheet/listener/index.d.ts +3 -0
  404. package/types/src/sheet/spatial/MergeEntry.d.ts +17 -0
  405. package/types/src/sheet/spatial/index.d.ts +2 -0
  406. package/types/src/sheet/style/SheetCellStyle.d.ts +540 -0
  407. package/types/src/sheet/style/SheetDirectStyle.d.ts +130 -0
  408. package/types/src/sheet/style/SheetNamedStyle.d.ts +47 -0
  409. package/types/src/sheet/style/SheetTableStyle.d.ts +47 -0
  410. package/types/src/sheet/style/UsedRangeSpatialMap.d.ts +80 -0
  411. package/types/src/sheet/style/_Resolvers.d.ts +41 -0
  412. package/types/src/sheet/style/_StyleUtils.d.ts +69 -0
  413. package/types/src/sheet/style/index.d.ts +1 -0
  414. package/types/src/sheetHeader/ISheetHeader.d.ts +217 -0
  415. package/types/src/sheetHeader/SheetCellHeader.d.ts +61 -0
  416. package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +54 -0
  417. package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +46 -0
  418. package/types/src/sheetHeader/SheetHeader.d.ts +257 -0
  419. package/types/src/sheetHeader/_HeaderUtils.d.ts +94 -0
  420. package/types/src/sheetHeader/_InvalidSheetHeaderRange.d.ts +7 -0
  421. package/types/src/sheetHeader/index.d.ts +2 -0
  422. package/types/src/sheetProtection/ISheetProtection.d.ts +150 -0
  423. package/types/src/sheetProtection/SheetProtection.d.ts +39 -0
  424. package/types/src/sheetProtection/index.d.ts +2 -0
  425. package/types/src/sheetView/ISheetView.d.ts +439 -0
  426. package/types/src/sheetView/SheetView.d.ts +113 -0
  427. package/types/src/sheetView/_SheetViewUtils.d.ts +19 -0
  428. package/types/src/sheetView/index.d.ts +2 -0
  429. package/types/src/slicer/ISlicer.d.ts +38 -0
  430. package/types/src/slicer/Slicer.d.ts +41 -0
  431. package/types/src/slicer/index.d.ts +2 -0
  432. package/types/src/sort/ISort.d.ts +318 -0
  433. package/types/src/sort/Sort.d.ts +48 -0
  434. package/types/src/sort/_SortUtils.d.ts +12 -0
  435. package/types/src/sort/index.d.ts +3 -0
  436. package/types/src/string/IStringCollection.d.ts +50 -0
  437. package/types/src/string/StringCollection.d.ts +26 -0
  438. package/types/src/string/index.d.ts +3 -0
  439. package/types/src/style/IStyle.d.ts +485 -0
  440. package/types/src/style/IStyleCollection.d.ts +292 -0
  441. package/types/src/style/StyleCollection.d.ts +125 -0
  442. package/types/src/style/_BuiltInStyleDefs.d.ts +18 -0
  443. package/types/src/style/_BuiltInStyleNames.d.ts +20 -0
  444. package/types/src/style/index.d.ts +5 -0
  445. package/types/src/table/AnchoredTable.d.ts +349 -0
  446. package/types/src/table/AutoTable.d.ts +64 -0
  447. package/types/src/table/ITable.d.ts +714 -0
  448. package/types/src/table/ITableCollection.d.ts +88 -0
  449. package/types/src/table/ITableStyle.d.ts +318 -0
  450. package/types/src/table/Table.d.ts +8 -0
  451. package/types/src/table/TableCollection.d.ts +20 -0
  452. package/types/src/table/_AutoTableColumn.d.ts +27 -0
  453. package/types/src/table/_BuiltInTableStyles.d.ts +9 -0
  454. package/types/src/table/_FilterField.d.ts +30 -0
  455. package/types/src/table/_NamedTable.d.ts +84 -0
  456. package/types/src/table/_NamedTableSource.d.ts +57 -0
  457. package/types/src/table/_SortField.d.ts +29 -0
  458. package/types/src/table/_TableColumn.d.ts +51 -0
  459. package/types/src/table/_TableMessages.d.ts +5 -0
  460. package/types/src/table/_TableUtils.d.ts +94 -0
  461. package/types/src/table/index.d.ts +5 -0
  462. package/types/src/text/AutoNumberingScheme.d.ts +175 -0
  463. package/types/src/text/Bullet.d.ts +34 -0
  464. package/types/src/text/IText.d.ts +53 -0
  465. package/types/src/text/ITextFrame.d.ts +313 -0
  466. package/types/src/text/TextBoxAlignment.d.ts +141 -0
  467. package/types/src/text/TextFrame.d.ts +43 -0
  468. package/types/src/text/TextLine.d.ts +24 -0
  469. package/types/src/text/TextParagraph.d.ts +61 -0
  470. package/types/src/text/TextRotation.d.ts +106 -0
  471. package/types/src/text/TextRun.d.ts +85 -0
  472. package/types/src/text/TextUtils.d.ts +165 -0
  473. package/types/src/text/TextVisitor.d.ts +11 -0
  474. package/types/src/text/TextWrapper.d.ts +78 -0
  475. package/types/src/text/_TextUtils.d.ts +90 -0
  476. package/types/src/text/impl/Phrase.d.ts +3 -0
  477. package/types/src/text/impl/TabStrategy.d.ts +9 -0
  478. package/types/src/text/impl/WordWrapUtils.d.ts +6 -0
  479. package/types/src/text/index.d.ts +7 -0
  480. package/types/src/text/richtext/IStyledFont.d.ts +330 -0
  481. package/types/src/text/richtext/index.d.ts +2 -0
  482. package/types/src/theme/ITheme.d.ts +252 -0
  483. package/types/src/theme/IThemeCollection.d.ts +84 -0
  484. package/types/src/theme/ThemeCollection.d.ts +62 -0
  485. package/types/src/theme/_BuiltInColorSchemes.d.ts +3 -0
  486. package/types/src/theme/_BuiltInFontSchemes.d.ts +3 -0
  487. package/types/src/theme/_BuiltInThemeDefs.d.ts +3 -0
  488. package/types/src/theme/_ThemeMessages.d.ts +3 -0
  489. package/types/src/theme/_ThemeUtils.d.ts +3 -0
  490. package/types/src/theme/index.d.ts +4 -0
  491. package/types/src/transaction/ITransaction.d.ts +594 -0
  492. package/types/src/transaction/Transaction.d.ts +184 -0
  493. package/types/src/transaction/TransactionSaveStateManager.d.ts +85 -0
  494. package/types/src/transaction/TransactionUndoManager.d.ts +60 -0
  495. package/types/src/transaction/index.d.ts +5 -0
  496. package/types/src/type/ICollection.d.ts +110 -0
  497. package/types/src/type/IProperties.d.ts +51 -0
  498. package/types/src/type/ITypes.d.ts +69 -0
  499. package/types/src/type/Registry.d.ts +66 -0
  500. package/types/src/type/index.d.ts +5 -0
  501. package/types/src/utils/GeomUtils.d.ts +61 -0
  502. package/types/src/utils/ObjectPath.d.ts +9 -0
  503. package/types/src/utils/Profiler.d.ts +38 -0
  504. package/types/src/utils/_CSSUtils.d.ts +156 -0
  505. package/types/src/utils/_GeomUtils.d.ts +14 -0
  506. package/types/src/utils/_RangeCoordUtils.d.ts +84 -0
  507. package/types/src/utils/_RangeSetUtils.d.ts +55 -0
  508. package/types/src/utils/index.d.ts +2 -0
  509. package/types/src/workbook/IWorkbook.d.ts +711 -0
  510. package/types/src/workbook/Workbook.d.ts +342 -0
  511. package/types/src/workbook/WorkbookRange.d.ts +25 -0
  512. package/types/src/workbook/WorkbookRanges.d.ts +39 -0
  513. package/types/src/workbook/_WorkbookMessages.d.ts +8 -0
  514. package/types/src/workbook/_WorkbookUtils.d.ts +35 -0
  515. package/types/src/workbook/index.d.ts +3 -0
  516. package/types/src/workbookProtection/IWorkbookProtection.d.ts +57 -0
  517. package/types/src/workbookProtection/WorkbookProtection.d.ts +14 -0
  518. package/types/src/workbookProtection/index.d.ts +2 -0
  519. package/types/src/workbookView/IWorkbookView.d.ts +134 -0
  520. package/types/src/workbookView/WorkbookView.d.ts +49 -0
  521. package/types/src/workbookView/index.d.ts +3 -0
  522. package/browser/cjs/-P9BHlnCf8OF6D_m.cjs +0 -6
  523. package/browser/cjs/4kU87sIrnTEoJHwl.cjs +0 -6
  524. package/browser/cjs/B8mBx-uU2X9Qvdnr.cjs +0 -6
  525. package/browser/cjs/BD9lJn7w8OVsIwgC.cjs +0 -6
  526. package/browser/cjs/BI57E6P5MbZI3G2Z.cjs +0 -6
  527. package/browser/cjs/BRgYzaAY9tLpJe7C.cjs +0 -6
  528. package/browser/cjs/BdoGTvcTjso5IcRq.cjs +0 -15
  529. package/browser/cjs/C3ScwpfBnQ8JeHF-.cjs +0 -6
  530. package/browser/cjs/CI8H5FLYtzy-Y2TO.cjs +0 -55
  531. package/browser/cjs/ClUc2Qdf-BFmgsJR.cjs +0 -6
  532. package/browser/cjs/CsEmF6ZwF-2A9AvC.cjs +0 -6
  533. package/browser/cjs/D6eH4loatnriRosn.cjs +0 -124
  534. package/browser/cjs/DJTioC8laMAxiW-z.cjs +0 -6
  535. package/browser/cjs/DN6U4mb4Jt2b37q-.cjs +0 -7
  536. package/browser/cjs/DfNwTsshId9JPwTK.cjs +0 -6
  537. package/browser/cjs/DnQwOaG_1n5GvCnM.cjs +0 -6
  538. package/browser/cjs/DtOYNHcDq5p3S21C.cjs +0 -6
  539. package/browser/cjs/Dy2xo5nrA4OFe7w4.cjs +0 -6
  540. package/browser/cjs/EzhtX7d4GOngN0Se.cjs +0 -6
  541. package/browser/cjs/FBky5iT5me5H1I0-.cjs +0 -6
  542. package/browser/cjs/JcziJrpVHeAEo8Iv.cjs +0 -6
  543. package/browser/cjs/LABm2VcP5Duieabc.cjs +0 -6
  544. package/browser/cjs/OZxxkm3CI5jiE3O-.cjs +0 -6
  545. package/browser/cjs/W8_0e_fQB-spiB55.cjs +0 -6
  546. package/browser/cjs/nS_oDgpzBeOV487v.cjs +0 -6
  547. package/browser/cjs/srhqHYaGNtcM9evy.cjs +0 -6
  548. package/browser/cjs/v2J4J4s0rRAvsx4v.cjs +0 -6
  549. package/browser/esm/8Cdp6eg5fQM4U0CD.mjs +0 -10
  550. package/browser/esm/BvtSjnucMGltTjeM.mjs +0 -426
  551. package/browser/esm/Bzw2Xms8ZtifZcAF.mjs +0 -10
  552. package/browser/esm/C9ojFSLlGrdG3EDE.mjs +0 -10
  553. package/browser/esm/CPxdCZqGhuQENst8.mjs +0 -10
  554. package/browser/esm/CQXqHgLFDd57bQSy.mjs +0 -10
  555. package/browser/esm/CRlsrdZLcL-QKyo2.mjs +0 -12
  556. package/browser/esm/CUqge0vhYI_M8Hpg.mjs +0 -10
  557. package/browser/esm/C__wCYJcwKkBqp8t.mjs +0 -10
  558. package/browser/esm/Cou0jxSdkKrqQBPA.mjs +0 -10
  559. package/browser/esm/CtGy0C3HHvNhQ3j5.mjs +0 -10
  560. package/browser/esm/Ctol2MswJyCxIJcQ.mjs +0 -10
  561. package/browser/esm/D7tUJDQqPM4e3FEC.mjs +0 -10
  562. package/browser/esm/DB5Wpq1m-bJ7gpBF.mjs +0 -10
  563. package/browser/esm/DLXAhFMo3NyECo8b.mjs +0 -23842
  564. package/browser/esm/DTlPJulnTLqG3WSw.mjs +0 -10
  565. package/browser/esm/DwfM2tfEPAzMl86c.mjs +0 -10
  566. package/browser/esm/Dx0TIy0V5EVTNOEZ.mjs +0 -10
  567. package/browser/esm/Dxfd2MfY8kHHUtnu.mjs +0 -4022
  568. package/browser/esm/E0SwR3N6qggAhdBh.mjs +0 -10
  569. package/browser/esm/JGdZf2WBzvkRao7-.mjs +0 -10
  570. package/browser/esm/NAcqiYlYK4mm9q_F.mjs +0 -10
  571. package/browser/esm/NGg21AIVBhRCHoOh.mjs +0 -10
  572. package/browser/esm/PjtmxdNFMVskYmPB.mjs +0 -10
  573. package/browser/esm/a_LQ18tLbXq3N9hu.mjs +0 -10
  574. package/browser/esm/hXx5ZKLpc4RvmCjH.mjs +0 -10
  575. package/browser/esm/zoqPtKWJmGQs1ZUb.mjs +0 -5653
  576. package/node/esm/7QlvuodPxz-B25P9.mjs +0 -10
  577. package/node/esm/8Cdp6eg5fQM4U0CD.mjs +0 -10
  578. package/node/esm/B94PecmbGgqY0k9O.mjs +0 -13
  579. package/node/esm/BpvIVwL4NNRKuaD7.mjs +0 -10
  580. package/node/esm/Bzw2Xms8ZtifZcAF.mjs +0 -10
  581. package/node/esm/C9ojFSLlGrdG3EDE.mjs +0 -10
  582. package/node/esm/CQXqHgLFDd57bQSy.mjs +0 -10
  583. package/node/esm/CSg2ysafDv5h1zz2.mjs +0 -2458
  584. package/node/esm/CUqge0vhYI_M8Hpg.mjs +0 -10
  585. package/node/esm/C__wCYJcwKkBqp8t.mjs +0 -10
  586. package/node/esm/Cou0jxSdkKrqQBPA.mjs +0 -10
  587. package/node/esm/CtlHMovXY4x1NgI6.mjs +0 -10
  588. package/node/esm/Ctol2MswJyCxIJcQ.mjs +0 -10
  589. package/node/esm/Cv3hTIkdeILrJGYc.mjs +0 -10
  590. package/node/esm/D7tUJDQqPM4e3FEC.mjs +0 -10
  591. package/node/esm/DTlPJulnTLqG3WSw.mjs +0 -10
  592. package/node/esm/Dvg1Ay14DLNhMgmD.mjs +0 -10
  593. package/node/esm/DwfM2tfEPAzMl86c.mjs +0 -10
  594. package/node/esm/Dx0TIy0V5EVTNOEZ.mjs +0 -10
  595. package/node/esm/F5A4vdvxqRt8hFAs.mjs +0 -10
  596. package/node/esm/NGg21AIVBhRCHoOh.mjs +0 -10
  597. package/node/esm/PjtmxdNFMVskYmPB.mjs +0 -10
  598. package/node/esm/a_LQ18tLbXq3N9hu.mjs +0 -10
  599. package/node/esm/hXx5ZKLpc4RvmCjH.mjs +0 -10
  600. package/node/esm/lUsLEOryW9viP9g7.mjs +0 -1072
@@ -0,0 +1,207 @@
1
+ import { FormulaError, IFormulaContext, Scalar, IRange, IFunction } from '@sheetxl/primitives';
2
+ import { ICalculation } from '../ICalculation';
3
+ import { CalcScope } from '../state';
4
+ import { CompiledFormula } from '../compiler';
5
+ import { ASTNode, FunctionNode } from '../compiler/ASTTypes';
6
+ import { NamedReference, StructuredReference, ReferenceCoords, SetReferenceOptions } from '../Types';
7
+ import { LambdaValue } from './LambdaValue';
8
+ import { IFormulaBlock } from './IFormulaBlock';
9
+ /**
10
+ * Optional resolver callbacks injected by `Calculation` at construction time.
11
+ *
12
+ * @remarks
13
+ * When a callback is absent the corresponding reference type falls back to a
14
+ * formula error (`#NAME?` for named, `#REF!` for table). This allows the
15
+ * formula engine to operate without a full workbook context (e.g. in tests).
16
+ */
17
+ export interface FormulaBlockResolvers {
18
+ /**
19
+ * Resolves a table structured reference to absolute coordinates.
20
+ *
21
+ * @param structuredReference Structured reference object.
22
+ * @param row Formula anchor row (needed for implicit table detection when `tableId` is empty).
23
+ * @param column Formula anchor column (same as `row`).
24
+ */
25
+ getStructureReferenceCoords?(structuredReference: StructuredReference, row: number, column: number, gridId: string | null): IRange.FixableCoords | FormulaError.Known;
26
+ /**
27
+ * Resolves a nameId to its shared compiled body — the named formula's virtual-grid
28
+ * block at (0,0). The caller evaluates / precedent-resolves this body at its own anchor
29
+ * (Design 3, apply-at-eval). Returns `null` when the name is unresolved.
30
+ */
31
+ getNamedFormulaBlock?(nameId: string): IFormulaBlock | null;
32
+ }
33
+ export declare class FormulaBlock implements IFormulaBlock {
34
+ protected _compiled: CompiledFormula;
35
+ protected _context: IFormulaContext;
36
+ protected _calcScope: CalcScope;
37
+ protected _gridId: string | null;
38
+ protected _getEntireCoords: () => IRange.Coords;
39
+ /**
40
+ * Optional resolver callbacks supplied by `Calculation` (or a test harness).
41
+ * Used to resolve table and named references to absolute coordinates at runtime.
42
+ * When `null` both reference types return formula errors.
43
+ */
44
+ protected _resolvers: FormulaBlockResolvers | null;
45
+ constructor(compiled: CompiledFormula, context: IFormulaContext, scope: CalcScope, gridId: string | null, getEntireCoords: () => IRange.Coords, resolvers?: FormulaBlockResolvers | null);
46
+ /** @inheritdoc IFormulaBlock.getTextAt */
47
+ getTextAt(row: number, column: number, r1c1?: boolean, formulaTransform?: ICalculation.FormulaTransform, evalIndex?: number, canonical?: boolean): string;
48
+ /**
49
+ * The display (non-canonical) locale: separators from the workbook locale (Plane 1) and boolean/
50
+ * error/specifier literals from the active spreadsheet-language pack (Plane 3). Resolved per call so
51
+ * a live locale/language switch is reflected without recompiling. Only its `localize*` face is used
52
+ * on the emit path; the parse callbacks and raw word-lists go unused here.
53
+ */
54
+ private _displayLocale;
55
+ /** @inheritdoc IFormulaBlock.getTokensAt */
56
+ getTokensAt(row: number, column: number, evalIndex?: number): ICalculation.FormulaToken[];
57
+ /** @inheritdoc IFormulaBlock.getError */
58
+ getError(): any;
59
+ /** @inheritdoc IFormulaBlock.getNamedIds */
60
+ getNamedIds(): string[];
61
+ /** @inheritdoc IFormulaBlock.getReferencedSymbolIds */
62
+ getReferencedSymbolIds(): string[];
63
+ /** @inheritdoc IFormulaBlock.hasTotals */
64
+ hasTotals(): boolean;
65
+ /** @inheritdoc IFormulaBlock.isReferenceOnly */
66
+ isReferenceOnly(): boolean;
67
+ /** @inheritdoc IFormulaBlock.isEquals */
68
+ isEquals(other: IFormulaBlock): boolean;
69
+ /** @inheritdoc IFormulaBlock.getReferences */
70
+ getReferences(row: number, column: number): ReferenceCoords[];
71
+ /** @inheritdoc IFormulaBlock.getReferenceAt */
72
+ getReferenceAt(row: number, column: number, index: number): ReferenceCoords;
73
+ /** @inheritdoc IFormulaBlock.setReferenceAt */
74
+ setReferenceAt(index: number, reference: ReferenceCoords, options?: SetReferenceOptions): this;
75
+ /** @inheritdoc IFormulaBlock.reanchorReferences */
76
+ reanchorReferences(scopeFrom: string, force?: boolean): this;
77
+ /** @inheritdoc IFormulaBlock.replaceSheetReferences */
78
+ replaceSheetReferences(fromSheetDisplay: string, toSheetDisplay: string): this;
79
+ /**
80
+ * Resolves a named reference by evaluating its shared body at the caller's anchor
81
+ * (Design 3, apply-at-eval). The body value is taken **raw** (no finalize) so a
82
+ * range / multi-area body survives as a reference for the consuming operator or
83
+ * function. Cycle-guarded via `calcScope.activeNames` (a plain name re-entering itself
84
+ * is `#REF!`); `depth` is tracked for the future LAMBDA recursion limit. Scope
85
+ * (`gridId`/`rowIndex`/`colIndex`) is saved and restored around the descent so the
86
+ * caller's remaining reference resolution is unaffected; `node` (the owner) is left
87
+ * intact so the body's cell reads attribute to the outermost caller.
88
+ */
89
+ protected _evaluateNamed(namedReference: NamedReference, row: number, column: number): any;
90
+ /**
91
+ * Resolves the precedents of a named reference: the named formula's body cells, resolved
92
+ * at the caller's anchor (apply-at-eval, Step 12). Returned as an array that the caller's
93
+ * `resolvedPrecedentsAt` **flattens** into its own precedents (static edges) — so a name
94
+ * contributes its real input cells, not a virtual-cell edge. Cycle-guarded via
95
+ * `activeNames` (a recursive name contributes no static precedents → eval returns `#REF!`).
96
+ */
97
+ protected _resolveNamedPrecedents(named: NamedReference, row: number, column: number): readonly (Readonly<IRange.FixableCoords> | FormulaError.Known)[] | FormulaError.Known;
98
+ /**
99
+ * Resolves {@link StructuredReference} to absolute coordinates.
100
+ *
101
+ * @remarks
102
+ * - Delegates to {@link FormulaBlockResolvers.getStructureReferenceCoords}.
103
+ * - Returns `FormulaError.Name` when no resolver is registered.
104
+ */
105
+ protected _resolveStructuredRef(structuredReference: StructuredReference, row: number, column: number, reuse?: IRange.Coords): IRange.FixableCoords | FormulaError.Known;
106
+ /** @inheritdoc IFormulaBlock.resolvedPrecedentsAt */
107
+ resolvedPrecedentsAt(row: number, column: number, includeInvalidIntersect?: boolean, verticalAbs?: boolean[], horizontalAbs?: boolean[]): readonly (Readonly<IRange.FixableCoords> | FormulaError.Known)[];
108
+ /** @inheritdoc IFormulaBlock.evaluateAt */
109
+ evaluateAt(row: number, column: number, evalIndex?: number): Scalar | Promise<Scalar>;
110
+ /** @inheritdoc IFormulaBlock.wrapImplicit */
111
+ wrapImplicit(rowIndex: number, colIndex: number, setSpills: Set<string>): this;
112
+ /**
113
+ * Executes one AST node against a register file.
114
+ *
115
+ * @param node The node (its inputs' values are already in `regs`).
116
+ * @param regs The register file — `compiled.evaluations` on the eager path, a private
117
+ * ACTIVATION copy during a lambda apply (`_evaluateBody`). Extracted from `evaluateAt`'s old
118
+ * closure so both paths run the identical semantics.
119
+ * @param row The anchor the formula is being evaluated at (lambda values record it).
120
+ * @param column The anchor column.
121
+ */
122
+ protected _executeNode(node: ASTNode, regs: any[], row: number, column: number): any;
123
+ /**
124
+ * Closes a `LAMBDA` node over the current registers — the node's whole evaluation (design §3.3).
125
+ *
126
+ * @param frame The lambda-parameter frame in scope at the creation site — `null` at an eager
127
+ * site, the enclosing activation's frame when a nested lambda is created during an apply
128
+ * (`LAMBDA(x,LAMBDA(y,x+y))` — the inner value must see `x`).
129
+ *
130
+ * @remarks
131
+ * The registers are SNAPSHOTTED (copied), not shared: a recursive named lambda re-evaluates the
132
+ * shared named-body block at every level, and only a copy keeps an outer activation's captured
133
+ * environment intact underneath it. See `LambdaValue`.
134
+ */
135
+ protected _createLambdaValue(node: FunctionNode, regs: any[], frame: ReadonlyMap<number, any> | null, row: number, column: number): LambdaValue;
136
+ /**
137
+ * The callee verdicts + apply for a `Call` node (design §3.4, §1.1):
138
+ *
139
+ * - a lambda value → arity check, bind, evaluate the body;
140
+ * - a function value (eta `SUM`) → dispatch to the function itself;
141
+ * - a reference that is not a lambda → `#REF!` (Excel resolved it and failed to CALL it);
142
+ * - any other value → `#VALUE!` (a failed coercion, same class as `="a"+1`).
143
+ *
144
+ * All three error rows are MEASURED (probe-lambda-call.ps1; Excel Online
145
+ * `FunctionDispatcher.applyOperatorOrFunction` agrees structurally).
146
+ */
147
+ protected _applyCallee(callee: any, node: ASTNode, regs: any[]): any;
148
+ /**
149
+ * Apply over VALUES — the marshalled-callable twin of {@link _applyCallee}'s lambda branch
150
+ * (design §4). Reached through {@link LambdaValue.makeCallable} while a CONSUMER's body
151
+ * (`BYROW`, `REDUCE`, …) is running; the arguments are plain engine values, so binding needs no
152
+ * argument nodes. `undefined` is the callable's spelling for an unsupplied argument — it binds
153
+ * the OMITTED sentinel at an OPTIONAL parameter and is `#VALUE!` at a required one, mirroring
154
+ * the spelled-call rule (§2.6).
155
+ */
156
+ _applyValues(callee: LambdaValue, args: readonly any[]): any;
157
+ /**
158
+ * Evaluates a lambda's body segment for one application — the deferred half of the carve-out
159
+ * (design §3.3/§3.4). `this` is the lambda's OWNER block (the body's nodes belong to its
160
+ * compiled formula).
161
+ *
162
+ * @param lambda The value being applied.
163
+ * @param frame slot → argument value for this activation (already includes any captured
164
+ * enclosing frame — see `_applyCallee`).
165
+ *
166
+ * @remarks
167
+ * The walker mirrors the eager pipeline exactly: literals and eagerly-resolved references read
168
+ * from the activation registers (a copy of the creation snapshot), operators and functions
169
+ * execute through the same `_executeNode`, and a node's result lands in its register before the
170
+ * parent reads it. Only three things differ from eager evaluation — a bound name may read the
171
+ * FRAME (a lambda parameter has no register), an unbound name resolves NOW at the creation
172
+ * anchor (`deferredResolve`), and a nested `LAMBDA` closes over this activation.
173
+ *
174
+ * Recursion arrives only via a defined name cycling back through a deferred resolve, and
175
+ * `depth` is the budget that bounds it. NOTE the engine's eager `IF` makes a terminating
176
+ * recursion still BURN to the depth limit before unwinding (the un-taken branch is evaluated,
177
+ * bottoms out at `#NUM!`, and the selector discards it) — correct results at O(limit) cost;
178
+ * Excel Online avoids the cost with a lazy `Conditional` term. Recorded in the plan.
179
+ */
180
+ protected _evaluateBody(lambda: LambdaValue, frame: ReadonlyMap<number, any>): any;
181
+ /**
182
+ * Calls a function.
183
+ *
184
+ * @param context The context to use.
185
+ * @param fnName The name of the function to call.
186
+ * @param args The args to pass to the function.
187
+ */
188
+ protected _callFunction(node: FunctionNode, argsValues: any[], argsLength: number): any;
189
+ /**
190
+ * The dispatch half of {@link _callFunction} — invoke a RESOLVED function over evaluated
191
+ * arguments. Split out so eta application (`FunctionValue` — `LET(f,SUM,f(1,2))`) can dispatch
192
+ * a function it already holds, with no node to resolve or cache on.
193
+ */
194
+ protected _dispatchFunction(fn: IFunction, argsValues: any[], argsLength: number): any;
195
+ /** @inheritdoc IFormulaBlock.finalizeValue */
196
+ finalizeValue(retValue: any): Scalar | Scalar[];
197
+ /** @inheritdoc IFormulaBlock.finalizeValueForCell */
198
+ finalizeValueForCell(retValue: any): Scalar;
199
+ toString(): string;
200
+ get [Symbol.toStringTag](): string;
201
+ }
202
+ /**
203
+ * Similar to AddressUtils.toAbsoluteRange but
204
+ * does not set the $fixed flags
205
+ */
206
+ export declare function toSimpleAbsoluteRange(fixable: IRange.FixableCoords, positionRow: number, positionCol: number, reuseRange: IRange.FixableCoords): IRange.Coords;
207
+ //# sourceMappingURL=FormulaBlock.d.ts.map
@@ -0,0 +1,181 @@
1
+ import { IRange, FormulaError } from '@sheetxl/primitives';
2
+ import { ICalculation } from '../ICalculation';
3
+ import { ReferenceCoords, SetReferenceOptions } from '../Types';
4
+ export interface IFormulaBlock {
5
+ /**
6
+ * This is the eval used internally by graph.
7
+ * precedents must be an array of either IRange or Scalar.
8
+ *
9
+ * @param row The row of the cell to evaluate.
10
+ * @param column The column of the cell to evaluate.
11
+ * @param evalIndex The index of the evaluation to use from the tokens.
12
+ *
13
+ * @remarks
14
+ * The precedents can be passed in as a performance optimization graph caches them as it calculates.
15
+ */
16
+ evaluateAt(row: number, column: number, evalIndex?: number): any;
17
+ /**
18
+ * Finalizes a raw value from {@link evaluateAt} for RETURN to a caller: collapses a range to
19
+ * its anchor scalar (implicit intersection) and prepares a spillable range. A multi-area
20
+ * result (`=(A1:A3,C1:C3)`, or a name whose body is a comma union) stays an **array**, one
21
+ * finalized area per element, so an API caller receives every area. Applied by the return
22
+ * sites (`IFormula.evaluate()`, `ICalculation.evaluate()`) — `evaluateAt` itself returns the
23
+ * raw value so a consumer (e.g. a named reference used by a function) sees the reference intact.
24
+ *
25
+ * @see {@link finalizeValueForCell} for the write-to-a-grid variant.
26
+ */
27
+ finalizeValue(value: any): any;
28
+ /**
29
+ * {@link finalizeValue} plus the one rule that is specific to STORING a result in a single
30
+ * grid cell: a cell has no representation for a multi-area union, so an array of areas
31
+ * becomes `#VALUE!`. Applied by the executor when committing to a grid; returning a
32
+ * multi-area through the API is legal and uses {@link finalizeValue} instead.
33
+ */
34
+ finalizeValueForCell(value: any): any;
35
+ /**
36
+ * Return the formula as an array of formula token values.
37
+ *
38
+ * @param row The row of the cell to evaluate.
39
+ * @param column The column of the cell to evaluate.
40
+ * @param evalIndex The index of the evaluation to use from the tokens.
41
+ * @remarks
42
+ * These can be used by advanced editors.
43
+ */
44
+ getTokensAt(row: number, column: number, evalIndex?: number): ICalculation.FormulaToken[];
45
+ /**
46
+ * Return the formula string.
47
+ *
48
+ * @param row The row of the cell to evaluate.
49
+ * @param column The column of the cell to evaluate.
50
+ * @param r1c1 If 'true' then returns string as r1c1
51
+ * @param formulaTransform An {@link ICalculation.FormulaTransform} applied structurally to
52
+ * the compiled AST before imaging (runs once per block; an all-void transform costs no
53
+ * recompile) — how a format exporter (io-xlsx `LegacyFormula`) applies its dialect spellings.
54
+ */
55
+ getTextAt(row: number, column: number, r1c1?: boolean, formulaTransform?: ICalculation.FormulaTransform, evalIndex?: number,
56
+ /**
57
+ * Serialize function names in CANONICAL (English) form — the persistence/internal
58
+ * representation (files, undo snapshots, re-parses). Default `false` = display form
59
+ * (localized via the active language pack).
60
+ */
61
+ canonical?: boolean): string;
62
+ /**
63
+ * Returns a new formula block with the reference at `index` replaced.
64
+ *
65
+ * @param index The index of the reference to replace (aligned to {@link getReferences}).
66
+ * @param reference The new reference — the {@link ReferenceCoords} TYPE carries the shape intent:
67
+ * - an {@link IRange.FixableCellCoords} (single cell) collapses an existing range to a lone cell
68
+ * (`A1:B2` → `A1`, dropping the `:`);
69
+ * - an {@link IRange.FixableCoords} (range, or degenerate 1×1) PRESERVES the existing shape, so a
70
+ * single-cell *range* `A1:A1` stays a range (this is what F4 `$`-cycle / handle-resize pass);
71
+ * - a {@link NamedReference} replaces a named ref with another named ref;
72
+ * - a {@link FormulaError.Ref} injects a `#REF!`; `null` clears.
73
+ * @param options See {@link SetReferenceOptions}.
74
+ */
75
+ setReferenceAt(index: number, reference: ReferenceCoords, options?: SetReferenceOptions): this;
76
+ /**
77
+ * Reanchors the formula by updating the precedent at an index with a new reference.
78
+ *
79
+ * @param scopeFrom The scope from which to reanchor.
80
+ * @param force If `true`, forces re-anchoring even if the scope matches the current grid id.
81
+ * @returns The formula block with updated precedents.
82
+ *
83
+ * @remarks
84
+ * This is used for moving formulas between grids and requires the formula block to be able to update all of its precedents based on the new and old grid ids.
85
+ * This is required for cut/paste and drag fill between sheets.
86
+ */
87
+ reanchorReferences(scopeFrom: string, force?: boolean): this;
88
+ /**
89
+ * Replaces all refs explicitly qualified to `fromSheetDisplay` with `toSheetDisplay`.
90
+ * Unlike reanchorReferences, unqualified refs are left untouched.
91
+ * Used when moving data cross-sheet so explicit same-sheet refs follow the data.
92
+ */
93
+ replaceSheetReferences(fromSheetDisplay: string, toSheetDisplay: string): this;
94
+ /**
95
+ * Returns all references used by the formula.
96
+ * Named references are {@link NamedReference} objects (detect via `'nameId' in ref`);
97
+ * cell/range references are {@link IRange.FixableCoords}; unresolvable refs are `null`.
98
+ */
99
+ getReferences(row: number, column: number): ReferenceCoords[];
100
+ /**
101
+ * Returns the reference at `index`, or `null` if out of range.
102
+ * Convenience single-slot accessor aligned to {@link getReferences}.
103
+ */
104
+ getReferenceAt(row: number, column: number, index: number): ReferenceCoords;
105
+ /**
106
+ * Returns the absolute ranges that provide data to a formula.
107
+ *
108
+ * @param row The row of the formula.
109
+ * @param column The column of the formula.
110
+ * @param includeInvalidIntersect If `true` then invalid ranges will be included in the result.
111
+ * @param verticalAbs If provided the array will be populated with flags if a vertical absolute is detected
112
+ * @param horizontalAbs If provided the array will be populated with flags if a horizontal absolute is detected
113
+ *
114
+ * @remarks
115
+ * * `[]` if no precedents are present; either because it has no formula or a formula with no inputs.
116
+ * * Precedents are the logical ranges and may different the inputs into the formula.
117
+ * * includeInvalidIntersect is required to manage dependencies for invalid intersections in shared formulas.
118
+ * * Returns as absolute coordinates.
119
+ */
120
+ resolvedPrecedentsAt(row: number, column: number, includeInvalidIntersect?: boolean, verticalAbs?: boolean[], horizontalAbs?: boolean[]): readonly (Readonly<IRange.FixableCoords> | FormulaError.Known)[];
121
+ /**
122
+ * Wraps the formula in an implicit reference operator if hasSpill returns true and the formula
123
+ * expects a spill.
124
+ *
125
+ * @param rowIndex The row index of the formula.
126
+ * @param colIndex The column index of the formula.
127
+ * @param setSpillCells A1 notation for all of the cells that contains spills.
128
+ *
129
+ * @remarks
130
+ * This is used for importing Excel as it doesn't always add '@' for backward compatibility.
131
+ */
132
+ wrapImplicit(rowIndex: number, colIndex: number, setSpillCells: Set<string>): this;
133
+ /**
134
+ * @see
135
+ * { @link ICalculation.IFormula.isReferenceOnly }
136
+ */
137
+ isReferenceOnly(): boolean;
138
+ /**
139
+ * Return an error with the formula.
140
+ *
141
+ * @remarks
142
+ * This is not a value error but that the formula is unable to resolve.
143
+ */
144
+ getError(): FormulaError.Parse | null;
145
+ /**
146
+ * Returns the distinct stable nameIds of the named references in this formula
147
+ * (see `collectNamedIds`). Direct only, never descends into a name's body —
148
+ * transitivity is carried by the dependency graph. Used by `recompileNamed`'s all3D
149
+ * scan to find the formulas to invalidate when a named formula changes.
150
+ */
151
+ getNamedIds(): string[];
152
+ /**
153
+ * Returns the distinct stable fake ids of the direct indirect-symbol references in this formula —
154
+ * named formulas AND tables. Superset of {@link getNamedIds}.
155
+ *
156
+ * @remarks
157
+ * Used to reverse-invalidate dependents when a name/table's resolution changes (add/heal, delete,
158
+ * rename), matched against `IndirectSymbolProvider.reconcile()`. Catches unresolved (`#NAME?`/
159
+ * `#REF!`) references that a precedent-range markDirty would miss.
160
+ */
161
+ getReferencedSymbolIds(): string[];
162
+ /**
163
+ * Whether the formula calls `SUBTOTAL` or `AGGREGATE` anywhere in its tree.
164
+ *
165
+ * @remarks
166
+ * Read straight off the compiled cache — see `CompiledFormula.hasTotals`. What
167
+ * `IFormulaContext.filterTotals` asks of every formula block overlapping a total's range
168
+ * argument, so that a nested total can be excluded from the enclosing one.
169
+ *
170
+ * A property of the BLOCK, not of a cell within it: every cell of a block shares one AST, so
171
+ * either all of them call a total function or none do.
172
+ */
173
+ hasTotals(): boolean;
174
+ /**
175
+ * If the formula is logically equal to another formula.
176
+ *
177
+ * @param other The other formula block to compare to.
178
+ */
179
+ isEquals(other: IFormulaBlock): boolean;
180
+ }
181
+ //# sourceMappingURL=IFormulaBlock.d.ts.map
@@ -0,0 +1,166 @@
1
+ import { IFunction } from '@sheetxl/primitives';
2
+ import { ASTNode } from '../compiler/ASTTypes';
3
+ import { CompiledFormula } from '../compiler/Types';
4
+ import { IFormulaBlock } from './IFormulaBlock';
5
+ /**
6
+ * The plain JS callable `TypedFunction` hands a lambda-typed parameter — apply over VALUES
7
+ * (design §4). The consumer's body invokes it once per element; errors come back as VALUES
8
+ * (they embed as members of the output), never as throws.
9
+ *
10
+ * `checkArity` is the family's shared verdict input (`BYROW` asks 1, `MAKEARRAY` 2, `MAP` one per
11
+ * array): a mismatch is `#VALUE!` for the WHOLE call, decided by the consumer before any element
12
+ * runs. The properties are read STRUCTURALLY by `formulas` bodies, which cannot import this
13
+ * calculation-private module.
14
+ */
15
+ export interface LambdaCallable {
16
+ (...args: any[]): any;
17
+ /** Marks a marshalled function value. */
18
+ isLambdaCallable: true;
19
+ /** Whether the value can be applied with `count` arguments. */
20
+ checkArity(count: number): boolean;
21
+ /** Declared parameter count (`-1` when flexible — an eta-reduced function). */
22
+ paramCount: number;
23
+ }
24
+ /**
25
+ * One parameter of a {@link LambdaValue}, as the binder declared it.
26
+ */
27
+ export interface LambdaParam {
28
+ /** The parameter's binding slot (an index into `CompiledFormula.bindings`). */
29
+ readonly slot: number;
30
+ /** The declared spelling — for arity messages and (later) the wizard signature. */
31
+ readonly name: string;
32
+ /**
33
+ * Declared optional (`[b]`). Always `false` until P2.5 lands the `[b]` parse; the apply arity
34
+ * rule is already written against it.
35
+ */
36
+ readonly optional: boolean;
37
+ }
38
+ /**
39
+ * The engine value a `LAMBDA(…)` node evaluates to — a first-class result that flows through any
40
+ * untyped slot (design §1).
41
+ *
42
+ * @remarks
43
+ * CALCULATION-PRIVATE, like stable ids: nothing here reaches a public API. The one boundary rule
44
+ * is the cell's — an unconsumed lambda renders `#CALC!` (`finalizeValue`), and every consumer that
45
+ * needs a scalar or a location fails to COERCE it with `#VALUE!` (the `isLambda` brand is what the
46
+ * coercion sites check, the same structural pattern as `isIRange`).
47
+ *
48
+ * A lambda closes over its creation context by SNAPSHOT, not by reference: `regs` is a copy of the
49
+ * creating formula's register file at the moment the `LAMBDA` node evaluated. The copy is what
50
+ * makes recursion sound — a self-recursive named lambda re-evaluates the SHARED named body block
51
+ * at every level, clobbering the block's live registers, and only a captured copy keeps an outer
52
+ * activation's environment intact underneath it.
53
+ */
54
+ export declare class LambdaValue {
55
+ /** The declared parameters, in order. */
56
+ readonly params: readonly LambdaParam[];
57
+ /** The body subtree (excluded from the eager execution list — design §3.3). */
58
+ readonly body: ASTNode;
59
+ /** The block that created this value — apply evaluates the body through it. */
60
+ readonly owner: IFormulaBlock;
61
+ /** The owner's compiled formula (for `bindings` and node prefills). */
62
+ readonly compiled: CompiledFormula;
63
+ /** SNAPSHOT of the owner's register file at creation (see the class remarks). */
64
+ readonly regs: any[];
65
+ /**
66
+ * The lambda-parameter frame in scope at creation — slot → value. `null` at an eager creation
67
+ * site; a nested `LAMBDA` created during an apply captures the enclosing activation's frame,
68
+ * which is what makes `LAMBDA(x,LAMBDA(y,x+y))(1)(2)` see `x`.
69
+ */
70
+ readonly frame: ReadonlyMap<number, any> | null;
71
+ /** The anchor the owner was being evaluated at — deferred name resolution re-uses it. */
72
+ readonly anchorRow: number;
73
+ readonly anchorCol: number;
74
+ /**
75
+ * The function-value brand, shared with {@link FunctionValue} — checked structurally by the
76
+ * coercion sites (`coerceScalar`, `addCoercedValue`, the operators), which cannot import this
77
+ * calculation-private module.
78
+ */
79
+ readonly isLambda: true;
80
+ constructor(
81
+ /** The declared parameters, in order. */
82
+ params: readonly LambdaParam[],
83
+ /** The body subtree (excluded from the eager execution list — design §3.3). */
84
+ body: ASTNode,
85
+ /** The block that created this value — apply evaluates the body through it. */
86
+ owner: IFormulaBlock,
87
+ /** The owner's compiled formula (for `bindings` and node prefills). */
88
+ compiled: CompiledFormula,
89
+ /** SNAPSHOT of the owner's register file at creation (see the class remarks). */
90
+ regs: any[],
91
+ /**
92
+ * The lambda-parameter frame in scope at creation — slot → value. `null` at an eager creation
93
+ * site; a nested `LAMBDA` created during an apply captures the enclosing activation's frame,
94
+ * which is what makes `LAMBDA(x,LAMBDA(y,x+y))(1)(2)` see `x`.
95
+ */
96
+ frame: ReadonlyMap<number, any> | null,
97
+ /** The anchor the owner was being evaluated at — deferred name resolution re-uses it. */
98
+ anchorRow: number, anchorCol: number);
99
+ /**
100
+ * Marshals this value into a {@link LambdaCallable} — how a lambda-typed parameter receives it
101
+ * (`TypedFunction`, design §4). The callable applies through the OWNER block's value-apply,
102
+ * which shares `_evaluateBody` (and the recursion budget) with the spelled `Call` path.
103
+ */
104
+ makeCallable(): LambdaCallable;
105
+ get [Symbol.toStringTag](): string;
106
+ }
107
+ /**
108
+ * An eta-reduced function reference — `SUM` in `BYROW(r,SUM)`, on disk `_xleta.SUM` — the value a
109
+ * bare built-in (or UDF) name resolves to (design §1, the bare-name NODE half).
110
+ *
111
+ * @remarks
112
+ * Shares the `isLambda` brand: both are function values, and every non-callee consumer treats them
113
+ * identically (cell → `#CALC!`, coercion → `#VALUE!`). Apply dispatches to the function itself.
114
+ */
115
+ export declare class FunctionValue {
116
+ /** The referenced function. */
117
+ readonly fn: IFunction;
118
+ /** @see LambdaValue.isLambda */
119
+ readonly isLambda: true;
120
+ constructor(
121
+ /** The referenced function. */
122
+ fn: IFunction);
123
+ /**
124
+ * @see LambdaValue.makeCallable
125
+ *
126
+ * Eta dispatch — `BYROW(r,SUM)`: the function's own marshalling owns arity and coercion, so
127
+ * `checkArity` defers (`SCAN(0,r,BYROW)` fails inside the dispatch, not before it) and a thrown
128
+ * arity/coercion error comes back as a value, embedding per element like any other result.
129
+ */
130
+ makeCallable(): LambdaCallable;
131
+ get [Symbol.toStringTag](): string;
132
+ }
133
+ /**
134
+ * The sentinel apply binds for an absent or explicitly-skipped OPTIONAL parameter (design §3.5).
135
+ *
136
+ * @remarks
137
+ * `ISOMITTED(x)` answers TRUE for it and FALSE for everything else; EVERY other consumer reads it
138
+ * as BLANK. The sentinel never escapes a frame: reads coerce it to blank at the use site
139
+ * (`readFrameValue`), except in the argument slot of `ISOMITTED` itself. Unreachable until P2.5
140
+ * lands the `[b]` optional-parameter parse — no declaration can mark a parameter optional yet.
141
+ */
142
+ export declare const OMITTED: unique symbol;
143
+ /**
144
+ * A frame read, with the OMITTED → blank rule applied — the single place the sentinel is allowed
145
+ * to convert, so it cannot leak (plan risk 2).
146
+ */
147
+ export declare const readFrameValue: (value: any) => any;
148
+ /**
149
+ * The recursion budget apply enforces via `CalcScope.depth`.
150
+ *
151
+ * @remarks
152
+ * Excel Online configures `maxLambdaDepth: 1000` (plus a tail-call carve-out we do not implement
153
+ * and a separate `maxLambdaCalls: 10000`). DESKTOP measured (probe-lambda-eval block A,
154
+ * 2026-08-21): its cap sits between 5,000 and 100,000, and the error at it IS `#NUM!` — the
155
+ * error Microsoft's own LAMBDA documentation names for runaway recursion.
156
+ *
157
+ * 512 rather than Online's 1000: each apply level costs a dozen JS frames, and past ~1000 levels a
158
+ * BROWSER stack dies first — not as a catchable `RangeError` at the recursion site, but as
159
+ * arbitrary near-exhaustion failures deep inside the engine (a regex compile inside the number
160
+ * parser was the observed one), which inner catch sites convert to `#VALUE!` values. The budget
161
+ * has to keep the engine comfortably inside every platform's stack; raising it toward the measured
162
+ * desktop number needs the lazy-`IF` (Conditional) carve-out first, since eager `IF` makes every
163
+ * terminating recursion burn to this cap before unwinding.
164
+ */
165
+ export declare const MAX_LAMBDA_DEPTH = 512;
166
+ //# sourceMappingURL=LambdaValue.d.ts.map
@@ -0,0 +1,26 @@
1
+ import { FormulaError, IRange } from '@sheetxl/primitives';
2
+ import { ISymbolRegistry } from '../symbol';
3
+ import { ICalculation } from '../ICalculation';
4
+ import { CompilerLocale } from '../compiler/CompilerLocale';
5
+ /**
6
+ * Resolves all stable IDs in a token array to their display names.
7
+ *
8
+ * @remarks
9
+ * `generateFormulaTokens` is called on an AST that has already been through
10
+ * `linkSymbols`, so symbol-bearing tokens carry stable UUIDs rather than the
11
+ * names the user typed. This function post-processes those tokens into
12
+ * display-safe values so callers do not need to carry the registry.
13
+ *
14
+ * When `symbols` is absent (no registry was used at compile time) the tokens
15
+ * already hold display names and are returned as-is.
16
+ */
17
+ export declare function resolveTokenSymbols(tokens: ICalculation.FormulaToken[], symbols: ISymbolRegistry | null | undefined, canonical?: boolean): ICalculation.FormulaToken[];
18
+ /**
19
+ * Token Utils used by FormulaBlock
20
+ */
21
+ export declare function tokensToString(tokens: ICalculation.FormulaToken[], entireCoords: IRange.Coords, isR1C1?: boolean, rowIndex?: number, colIndex?: number, locale?: CompilerLocale): string;
22
+ export declare function tokensToR1C1(tokens: ICalculation.FormulaToken[], entireCoords: IRange.Coords, locale?: CompilerLocale): string;
23
+ export declare function tokensToA1(tokens: ICalculation.FormulaToken[], entireCoords: IRange.Coords, rowIndex?: number, colIndex?: number, locale?: CompilerLocale): string;
24
+ export declare function tokensToPosition(tokens: ICalculation.FormulaToken[], rowIndex?: number, colIndex?: number): ICalculation.FormulaToken[];
25
+ export declare function referencesToPosition(references: readonly (IRange.FixableCoords | string | FormulaError.Known)[], rowIndex?: number, colIndex?: number): (IRange.FixableCoords | string | FormulaError.Known)[];
26
+ //# sourceMappingURL=TokenUtils.d.ts.map
@@ -0,0 +1,4 @@
1
+ export * from './Formula';
2
+ export * from './IFormulaBlock';
3
+ export * from './FormulaBlock';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,30 @@
1
+ import { FormulaError, IReferenceRange, IRange, IFormulaContext } from '@sheetxl/primitives';
2
+ export declare const Infix: {
3
+ '+': (context: IFormulaContext, valueA: any, valueB: any) => number | IRange | FormulaError.Known;
4
+ '-': (context: IFormulaContext, valueA: any, valueB: any) => number | IRange | FormulaError.Known;
5
+ '*': (context: IFormulaContext, valueA: any, valueB: any) => number | IRange | FormulaError.Known;
6
+ '/': (context: IFormulaContext, valueA: any, valueB: any) => number | IRange | FormulaError.Known;
7
+ '^': (context: IFormulaContext, valueA: any, valueB: any) => number | IRange | FormulaError.Known;
8
+ ' ': (context: IFormulaContext, valueA: IReferenceRange, valueB: IReferenceRange, reuse?: IRange.Coords) => IReferenceRange | FormulaError.Known;
9
+ ':': (context: IFormulaContext, valueA: IReferenceRange, valueB: IReferenceRange, reuse?: IRange.Coords) => IReferenceRange | FormulaError.Known;
10
+ '.:.': (context: IFormulaContext, valueA: IReferenceRange, valueB: IReferenceRange, reuse?: IRange.Coords) => IReferenceRange | FormulaError.Known;
11
+ '.:': (context: IFormulaContext, valueA: IReferenceRange, valueB: IReferenceRange, reuse?: IRange.Coords) => IReferenceRange | FormulaError.Known;
12
+ ':.': (context: IFormulaContext, valueA: IReferenceRange, valueB: IReferenceRange, reuse?: IRange.Coords) => IReferenceRange | FormulaError.Known;
13
+ '&': (context: IFormulaContext, valueA: any, valueB: any) => string | IRange;
14
+ '=': (context: IFormulaContext, valueA: any, valueB: any) => boolean | IRange;
15
+ '<>': (context: IFormulaContext, valueA: any, valueB: any) => boolean | IRange;
16
+ '>': (context: IFormulaContext, valueA: any, valueB: any) => boolean | IRange;
17
+ '<': (context: IFormulaContext, valueA: any, valueB: any) => boolean | IRange;
18
+ '>=': (context: IFormulaContext, valueA: any, valueB: any) => boolean | IRange;
19
+ '<=': (context: IFormulaContext, valueA: any, valueB: any) => boolean | IRange;
20
+ };
21
+ export declare const Prefix: {
22
+ '-': (context: IFormulaContext, value: any) => any;
23
+ '+': (context: IFormulaContext, value: any) => any;
24
+ '@': (context: IFormulaContext, value: any) => any;
25
+ };
26
+ export declare const Postfix: {
27
+ '%': (context: IFormulaContext, value: any) => any;
28
+ '#': (context: IFormulaContext, value: any) => IReferenceRange;
29
+ };
30
+ //# sourceMappingURL=Operators.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { initializeFunctions } from './initializeFunctions';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,22 @@
1
+ import { IFunction, IFormulaContext } from '@sheetxl/primitives';
2
+ import { Implementations, MinifiedDeclaration, DynamicDescriptors, FunctionProvider } from '@sheetxl/scripting';
3
+ /**
4
+ * Builds the function map for a calculation: core (open-source) functions, then enterprise
5
+ * (default-on), then any caller-supplied {@link FunctionProvider}s. Later binders override earlier
6
+ * ones on name collision, so custom functions win over built-ins.
7
+ */
8
+ export declare function initializeFunctions(getContext: () => IFormulaContext, providers?: readonly FunctionProvider[]): Map<string, IFunction>;
9
+ /**
10
+ * Load and bind functions to the mapFunctions.
11
+ *
12
+ * @param mapFunctions the map to bind functions to
13
+ * @param getContext a function to get the current formula context
14
+ * @param implementations the function module containing the actual implementations
15
+ * @param declarations the built-in declarations
16
+ * @param getDynamicDescriptors an optional function to get the dynamic descriptor module
17
+ * @param defaultCategory the default category to use if not specified in the declaration
18
+ */
19
+ export declare const bindDeclarations: (mapFunctions: Map<string, IFunction>, getContext: () => IFormulaContext, implementations: Implementations, // TODO make this dynamic
20
+ declarations: MinifiedDeclaration, // TODO make this dynamic
21
+ getDynamicDescriptors?: DynamicDescriptors, defaultCategory?: string) => void;
22
+ //# sourceMappingURL=initializeFunctions.d.ts.map