@sheetxl/sdk 0.7.28-beta.4 → 0.8.0-beta.10

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 (565) hide show
  1. package/THIRD-PARTY-NOTICES.md +1 -1
  2. package/browser/esm/{DBIu6NUHIcxOOBQp.mjs → BEAY9XgKNx-bakXW.mjs} +2 -2
  3. package/browser/esm/BbSmt62FpFIpoVzu.mjs +392 -0
  4. package/browser/esm/BcHmrKHwMMOlzc9_.mjs +357 -0
  5. package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +412 -0
  6. package/browser/esm/Bk7xxbdDpa7-sIwd.mjs +7 -0
  7. package/browser/esm/BqskM7wA8oPfFQue.mjs +20 -0
  8. package/browser/esm/Btg43M1Bf-ENDreu.mjs +540 -0
  9. package/browser/esm/BzLfNyc6OOShIErH.mjs +598 -0
  10. package/browser/esm/C9B0djuUarfNdoj0.mjs +466 -0
  11. package/browser/esm/{CHSahmMFYNB0Ajkf.mjs → CSx9ed1JOs7K5BXO.mjs} +2 -2
  12. package/browser/esm/CYyv6uGjo10ig5FP.mjs +142 -0
  13. package/browser/esm/CZ5oa92wZEAXebgk.mjs +622 -0
  14. package/browser/esm/CdLZWVcH8cncBUPJ.mjs +849 -0
  15. package/browser/esm/Cgd5BnM3hg9RyUel.mjs +171 -0
  16. package/browser/esm/CjsUGJEQSbGjnH6R.mjs +1001 -0
  17. package/browser/esm/ClB5ix51roQOpZEr.mjs +7402 -0
  18. package/browser/esm/{CKk58ZLcrllMzfou.mjs → Cqr3knDsBvoVZ6MN.mjs} +179 -202
  19. package/browser/esm/D4uVlrG0xEFctsSM.mjs +905 -0
  20. package/browser/esm/DOMHmhYzPcLVcpAW.mjs +7 -0
  21. package/browser/esm/DUvUK61b2_4pf4tG.mjs +484 -0
  22. package/browser/esm/De175LygU7ot4nQm.mjs +441 -0
  23. package/browser/esm/DhKkrCVASZ6Isvz6.mjs +527 -0
  24. package/browser/esm/Di58Ji1n--3Mgc_2.mjs +607 -0
  25. package/browser/esm/Dtoyt8q5RyGAlxCp.mjs +1141 -0
  26. package/browser/esm/Y79I7Sm8kjaYexhf.mjs +167 -0
  27. package/browser/esm/index.mjs +1472 -1023
  28. package/browser/esm/o8MFgcVXns987D6_.mjs +400 -0
  29. package/browser/esm/zqJOaweiXE9D8RY1.mjs +66681 -0
  30. package/licenses/dependencies.txt +209 -209
  31. package/node/esm/B6D7sSetrcOWLsKj.mjs +1135 -0
  32. package/node/esm/B9ljpEIZg6wOTzRE.mjs +142 -0
  33. package/node/esm/BH1v-E4Ro3bR7Znw.mjs +962 -0
  34. package/node/esm/BN9j8V9gCExMjVtJ.mjs +540 -0
  35. package/node/esm/{DUYP6faJJHCaW1Xf.mjs → Bh4dv6tMjXX3X4nI.mjs} +1 -1
  36. package/node/esm/Bqd62L8KFgdS0Vou.mjs +7 -0
  37. package/node/esm/Bsx9uijd4X_SKV3L.mjs +360 -0
  38. package/node/esm/BtuY37FumvLE7EBo.mjs +629 -0
  39. package/node/esm/C6ZXsNyLXI6zA63X.mjs +402 -0
  40. package/node/esm/CCouEwT37f08qO3V.mjs +7 -0
  41. package/node/esm/CD9wbvufChVYYkrI.mjs +451 -0
  42. package/node/esm/CImNvdz1iP-lUlro.mjs +610 -0
  43. package/node/esm/CT0CN82y0_Qgoryk.mjs +7568 -0
  44. package/node/esm/CUQi5ZtMO02nhG0W.mjs +596 -0
  45. package/node/esm/CUUoseJmFsCf82bb.mjs +28 -0
  46. package/node/esm/CnSQ7MTXAUAyBOoS.mjs +911 -0
  47. package/node/esm/D7MfcID2Wf6l6VpC.mjs +171 -0
  48. package/node/esm/DCplLG93GfTs1vNw.mjs +1860 -0
  49. package/node/esm/DHUADiCmxNQS1ARz.mjs +417 -0
  50. package/node/esm/DMD12JUh7HJw2-jl.mjs +638 -0
  51. package/node/esm/DdFgXl-Ux2cMBTs_.mjs +15 -0
  52. package/node/esm/DefYISWfdZJFx57m.mjs +255 -0
  53. package/node/esm/Ds0d8zXzmgOu3MGx.mjs +403 -0
  54. package/node/esm/MiU4rDOiocmJ-9Ry.mjs +1783 -0
  55. package/node/esm/index.mjs +49153 -36824
  56. package/package.json +15 -16
  57. package/resources/contents.json +64 -0
  58. package/resources/fonts/arial-bold-italic.metrics.json +139 -0
  59. package/resources/fonts/arial-bold.metrics.json +139 -0
  60. package/resources/fonts/arial-italic.metrics.json +139 -0
  61. package/resources/fonts/arial-regular.metrics.json +139 -0
  62. package/resources/fonts/calibri-bold-italic.metrics.json +137 -0
  63. package/resources/fonts/calibri-bold.metrics.json +137 -0
  64. package/resources/fonts/calibri-italic.metrics.json +137 -0
  65. package/resources/fonts/calibri-regular.metrics.json +137 -0
  66. package/resources/fonts/cambria-bold-italic.metrics.json +66 -0
  67. package/resources/fonts/cambria-bold.metrics.json +66 -0
  68. package/resources/fonts/cambria-italic.metrics.json +66 -0
  69. package/resources/fonts/cambria-regular.metrics.json +66 -0
  70. package/resources/fonts/contents.json +126 -0
  71. package/resources/fonts/courier-new-bold-italic.metrics.json +143 -0
  72. package/resources/fonts/courier-new-bold.metrics.json +143 -0
  73. package/resources/fonts/courier-new-italic.metrics.json +143 -0
  74. package/resources/fonts/courier-new-regular.metrics.json +143 -0
  75. package/resources/fonts/times-new-roman-bold-italic.metrics.json +141 -0
  76. package/resources/fonts/times-new-roman-bold.metrics.json +141 -0
  77. package/resources/fonts/times-new-roman-italic.metrics.json +143 -0
  78. package/resources/fonts/times-new-roman-regular.metrics.json +141 -0
  79. package/resources/locales/de/model.msg.json +112 -12
  80. package/resources/locales/en/model.msg.json +119 -13
  81. package/types/scripting-api.json +8048 -0
  82. package/types/scripting-enums.json +277 -106
  83. package/types/scripting.d.ts +18126 -7971
  84. package/types/src/anchored/AbstractAnchored.d.ts +18 -8
  85. package/types/src/anchored/AnchoredMap.d.ts +2 -0
  86. package/types/src/anchored/IAnchoredMap.d.ts +52 -4
  87. package/types/src/autoFill/AutoFill.d.ts +316 -32
  88. package/types/src/autoFill/IAutoFill.d.ts +232 -15
  89. package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +42 -41
  90. package/types/src/border/index.d.ts +1 -1
  91. package/types/src/calculation/Calculation.d.ts +759 -49
  92. package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
  93. package/types/src/calculation/FormulaText.d.ts +82 -0
  94. package/types/src/calculation/ICalculation.d.ts +318 -81
  95. package/types/src/calculation/INamedFormulasCollection.d.ts +5 -8
  96. package/types/src/calculation/NamedFormulaCollection.d.ts +139 -107
  97. package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
  98. package/types/src/calculation/TokenType.d.ts +9 -0
  99. package/types/src/calculation/Types.d.ts +83 -2
  100. package/types/src/calculation/_CloneBoundary.d.ts +80 -0
  101. package/types/src/calculation/_TableRename.d.ts +13 -0
  102. package/types/src/calculation/compiler/ASTTypes.d.ts +71 -0
  103. package/types/src/calculation/compiler/CompilerUtils.d.ts +135 -44
  104. package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
  105. package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
  106. package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
  107. package/types/src/calculation/compiler/ParserUtils.d.ts +26 -1
  108. package/types/src/calculation/compiler/SRParser.d.ts +2 -1
  109. package/types/src/calculation/compiler/Types.d.ts +79 -9
  110. package/types/src/calculation/executor/CalcExecutor.d.ts +422 -34
  111. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +43 -2
  112. package/types/src/calculation/executor/CircularReference.d.ts +2 -0
  113. package/types/src/calculation/formula/Formula.d.ts +58 -21
  114. package/types/src/calculation/formula/FormulaBlock.d.ts +125 -23
  115. package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
  116. package/types/src/calculation/formula/FunctionValues.d.ts +10 -0
  117. package/types/src/calculation/formula/IFormulaBlock.d.ts +261 -67
  118. package/types/src/calculation/formula/LambdaValue.d.ts +46 -23
  119. package/types/src/calculation/formula/LazyValue.d.ts +96 -0
  120. package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
  121. package/types/src/calculation/formula/index.d.ts +1 -0
  122. package/types/src/calculation/functions/FunctionDeclarations.d.ts +31 -0
  123. package/types/src/calculation/functions/Operators.d.ts +8 -0
  124. package/types/src/calculation/functions/initializeFunctions.d.ts +15 -2
  125. package/types/src/calculation/grid/CalcGrid.d.ts +407 -158
  126. package/types/src/calculation/grid/CalcGridBackend.d.ts +493 -0
  127. package/types/src/calculation/grid/CalcGridProxy.d.ts +133 -0
  128. package/types/src/calculation/grid/CalcGridUtils.d.ts +62 -12
  129. package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
  130. package/types/src/calculation/grid/FormulaHost.d.ts +239 -0
  131. package/types/src/calculation/grid/ICalcGrid.d.ts +499 -141
  132. package/types/src/calculation/grid/_CalcRequest.d.ts +289 -0
  133. package/types/src/calculation/grid/index.d.ts +4 -0
  134. package/types/src/calculation/index.d.ts +2 -0
  135. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
  136. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +339 -11
  137. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
  138. package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
  139. package/types/src/calculation/spatial/index.d.ts +1 -0
  140. package/types/src/calculation/state/CalcInputs.d.ts +41 -0
  141. package/types/src/calculation/state/CalcNode.d.ts +160 -29
  142. package/types/src/calculation/state/CalcScope.d.ts +37 -0
  143. package/types/src/calculation/state/CalcState.d.ts +22 -1
  144. package/types/src/calculation/state/CalculationContext.d.ts +53 -4
  145. package/types/src/calculation/state/IContextContainer.d.ts +159 -26
  146. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
  147. package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
  148. package/types/src/calculation/state/index.d.ts +1 -0
  149. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
  150. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
  151. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
  152. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
  153. package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
  154. package/types/src/calculation/symbol/index.d.ts +3 -2
  155. package/types/src/cell/ICell.d.ts +104 -29
  156. package/types/src/cell/ICellHeader.d.ts +24 -2
  157. package/types/src/cell/ICellProtection.d.ts +50 -10
  158. package/types/src/cellRange/ICellRange.d.ts +458 -97
  159. package/types/src/cellRange/ICellRanges.d.ts +23 -21
  160. package/types/src/chart/Chart.d.ts +41 -13
  161. package/types/src/chart/ChartCollection.d.ts +26 -0
  162. package/types/src/chart/IChart.d.ts +166 -12
  163. package/types/src/chart/IChartCollection.d.ts +25 -0
  164. package/types/src/chart/_ChartXml.d.ts +70 -0
  165. package/types/src/chart/index.d.ts +1 -3
  166. package/types/src/collections/ArraysGrid.d.ts +1 -1
  167. package/types/src/collections/IGrid.d.ts +1 -1
  168. package/types/src/collections/ISparseGrid.d.ts +9 -0
  169. package/types/src/collections/ISpatialMap.d.ts +59 -21
  170. package/types/src/collections/ImmutableList.d.ts +28 -0
  171. package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
  172. package/types/src/collections/OverlappingRangeIterator.d.ts +13 -17
  173. package/types/src/collections/RepeatingList.d.ts +7 -0
  174. package/types/src/collections/ScalarGrid.d.ts +50 -0
  175. package/types/src/collections/SparseGrid.d.ts +1 -1
  176. package/types/src/collections/SpatialMap.d.ts +13 -21
  177. package/types/src/collections/Tuple.d.ts +128 -16
  178. package/types/src/collections/_GridUtils.d.ts +19 -6
  179. package/types/src/collections/_RangeSweep.d.ts +97 -0
  180. package/types/src/collections/_SpatialUtils.d.ts +20 -2
  181. package/types/src/collections/index.d.ts +1 -0
  182. package/types/src/color/_BuiltInIndexDefs.d.ts +6 -0
  183. package/types/src/comment/Comment.d.ts +223 -0
  184. package/types/src/comment/CommentCollection.d.ts +40 -0
  185. package/types/src/comment/IComment.d.ts +340 -50
  186. package/types/src/comment/ICommentCollection.d.ts +90 -0
  187. package/types/src/comment/NoteMovable.d.ts +26 -0
  188. package/types/src/comment/_CommentUtils.d.ts +50 -0
  189. package/types/src/comment/_NoteBox.d.ts +50 -0
  190. package/types/src/comment/index.d.ts +1 -0
  191. package/types/src/condition/AnchoredConditional.d.ts +82 -17
  192. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +42 -12
  193. package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +2 -0
  194. package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +2 -0
  195. package/types/src/condition/BuiltInOperators/AndOperator.d.ts +3 -1
  196. package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +2 -0
  197. package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +2 -0
  198. package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +2 -0
  199. package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +2 -0
  200. package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +4 -0
  201. package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +2 -0
  202. package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +2 -0
  203. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +4 -1
  204. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +5 -6
  205. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +2 -0
  206. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +2 -0
  207. package/types/src/condition/BuiltInOperators/IconOperator.d.ts +4 -0
  208. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +22 -5
  209. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +2 -0
  210. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +2 -0
  211. package/types/src/condition/BuiltInOperators/NotOperator.d.ts +2 -0
  212. package/types/src/condition/BuiltInOperators/OrOperator.d.ts +3 -1
  213. package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +2 -0
  214. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
  215. package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +6 -0
  216. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +21 -6
  217. package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +4 -5
  218. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +20 -0
  219. package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +7 -5
  220. package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +3 -5
  221. package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +3 -5
  222. package/types/src/condition/BuiltinSelectors/index.d.ts +12 -6
  223. package/types/src/condition/Condition.d.ts +19 -1
  224. package/types/src/condition/ICondition.d.ts +293 -73
  225. package/types/src/condition/_ConditionFormula.d.ts +152 -0
  226. package/types/src/condition/_ConditionUtils.d.ts +167 -13
  227. package/types/src/conditionalFormat/ConditionalEntry.d.ts +3 -3
  228. package/types/src/conditionalFormat/ConditionalFormat.d.ts +25 -14
  229. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
  230. package/types/src/conditionalFormat/IConditionalFormat.d.ts +12 -10
  231. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
  232. package/types/src/dataValidation/DataValidation.d.ts +69 -3
  233. package/types/src/dataValidation/DataValidationCollection.d.ts +20 -9
  234. package/types/src/dataValidation/IDataValidation.d.ts +149 -30
  235. package/types/src/dataValidation/IDataValidationCollection.d.ts +10 -2
  236. package/types/src/date/DateUtils.d.ts +20 -0
  237. package/types/src/date/_DateUtils.d.ts +91 -7
  238. package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
  239. package/types/src/externalBook/ExternalBookName.d.ts +96 -0
  240. package/types/src/externalBook/IExternalBook.d.ts +170 -18
  241. package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
  242. package/types/src/externalBook/index.d.ts +1 -0
  243. package/types/src/{lib/file → file}/file.browser.d.ts +22 -8
  244. package/types/src/{lib/file → file}/file.node.d.ts +7 -2
  245. package/types/src/fill/IEffect.d.ts +5 -5
  246. package/types/src/fill/IFill.d.ts +123 -78
  247. package/types/src/fill/IStroke.d.ts +190 -64
  248. package/types/src/fill/RectAlignment.d.ts +20 -0
  249. package/types/src/fill/_Fills.d.ts +187 -0
  250. package/types/src/fill/_Stroke.d.ts +89 -0
  251. package/types/src/fill/index.d.ts +1 -0
  252. package/types/src/filter/IFilter.d.ts +188 -5
  253. package/types/src/font/AdvanceBuilder.d.ts +25 -0
  254. package/types/src/font/AdvanceTable.d.ts +114 -0
  255. package/types/src/font/FontCollection.d.ts +57 -0
  256. package/types/src/font/IFont.d.ts +17 -0
  257. package/types/src/font/IFontCollection.d.ts +120 -22
  258. package/types/src/font/TableFileAdvanceBuilder.d.ts +27 -0
  259. package/types/src/font/_BuiltinFontTables.d.ts +10 -0
  260. package/types/src/font/index.d.ts +4 -1
  261. package/types/src/group/Group.d.ts +136 -0
  262. package/types/src/group/GroupMovableCollection.d.ts +37 -0
  263. package/types/src/group/IGroup.d.ts +129 -0
  264. package/types/src/group/index.d.ts +2 -0
  265. package/types/src/history/IHistory.d.ts +3 -2
  266. package/types/src/hyperlink/IHyperlink.d.ts +13 -0
  267. package/types/src/hyperlink/_Hyperlink.d.ts +5 -1
  268. package/types/src/i18n/LanguagePack.d.ts +12 -4
  269. package/types/src/index.d.ts +5 -0
  270. package/types/src/io/AbstractBackingStore.d.ts +24 -1
  271. package/types/src/io/ArrayBackingStore.d.ts +1 -1
  272. package/types/src/io/EmbeddedPart.d.ts +20 -0
  273. package/types/src/io/IEmbeddedPart.d.ts +63 -0
  274. package/types/src/io/IWorkbookIO.d.ts +185 -18
  275. package/types/src/io/WorkbookIO.d.ts +9 -0
  276. package/types/src/io/WorkbookOrigin.d.ts +20 -11
  277. package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
  278. package/types/src/io/_XmlFragment.d.ts +49 -0
  279. package/types/src/io/index.d.ts +1 -0
  280. package/types/src/license/LicenseDetails.d.ts +1 -0
  281. package/types/src/license/LicenseManager.d.ts +4 -1
  282. package/types/src/license/Types.d.ts +38 -0
  283. package/types/src/license/_Utils.d.ts +22 -0
  284. package/types/src/license/details.d.ts +24 -0
  285. package/types/src/license/license-key.d.ts +49 -2
  286. package/types/src/license/runtime.browser.d.ts +41 -0
  287. package/types/src/{lib/utils/utils.node.d.ts → license/runtime.node.d.ts} +9 -12
  288. package/types/src/listener/IListener.d.ts +12 -7
  289. package/types/src/listener/ListenerEmitter.d.ts +46 -5
  290. package/types/src/model/AbstractModel.d.ts +14 -5
  291. package/types/src/movable/AbstractMovableContent.d.ts +182 -0
  292. package/types/src/movable/CustomElement.d.ts +4 -5
  293. package/types/src/movable/ErrorContent.d.ts +49 -0
  294. package/types/src/movable/FormControl.d.ts +285 -0
  295. package/types/src/movable/GroupMember.d.ts +87 -0
  296. package/types/src/movable/ICustomElement.d.ts +7 -2
  297. package/types/src/movable/IErrorContent.d.ts +23 -0
  298. package/types/src/movable/IFormControl.d.ts +455 -0
  299. package/types/src/movable/IMovable.d.ts +378 -46
  300. package/types/src/movable/IMovableCollection.d.ts +63 -3
  301. package/types/src/movable/Movable.d.ts +149 -49
  302. package/types/src/movable/MovableCollection.d.ts +15 -8
  303. package/types/src/movable/MovableContentRegistry.d.ts +113 -0
  304. package/types/src/movable/_BuiltInContents.d.ts +14 -0
  305. package/types/src/movable/_ContentFactory.d.ts +35 -0
  306. package/types/src/movable/_DrawnBounds.d.ts +37 -0
  307. package/types/src/movable/_InsertableCollection.d.ts +28 -0
  308. package/types/src/movable/_MovableUtils.d.ts +5 -0
  309. package/types/src/movable/_PendingContent.d.ts +25 -0
  310. package/types/src/movable/_PlacementUtils.d.ts +55 -0
  311. package/types/src/movable/_RotatedFrame.d.ts +20 -0
  312. package/types/src/movable/index.d.ts +7 -1
  313. package/types/src/named/AbstractNamed.d.ts +1 -1
  314. package/types/src/named/INamed.d.ts +4 -1
  315. package/types/src/named/INamedCollection.d.ts +26 -0
  316. package/types/src/named/NamedCollection.d.ts +16 -15
  317. package/types/src/numFmt/BuiltInFormats.d.ts +20 -7
  318. package/types/src/numFmt/IFormatEngine.d.ts +2 -0
  319. package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
  320. package/types/src/numFmt/_FormatCell.d.ts +11 -2
  321. package/types/src/numFmt/_NumFmtUtils.d.ts +0 -1
  322. package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +6 -0
  323. package/types/src/outline/IOutline.d.ts +186 -0
  324. package/types/src/outline/Outline.d.ts +157 -0
  325. package/types/src/outline/index.d.ts +2 -0
  326. package/types/src/person/IPerson.d.ts +99 -0
  327. package/types/src/person/IPersonCollection.d.ts +51 -0
  328. package/types/src/person/Person.d.ts +32 -0
  329. package/types/src/person/PersonCollection.d.ts +49 -0
  330. package/types/src/person/index.d.ts +4 -0
  331. package/types/src/picture/IPicture.d.ts +33 -3
  332. package/types/src/picture/Picture.d.ts +33 -13
  333. package/types/src/pivot/IPivotTable.d.ts +72 -0
  334. package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
  335. package/types/src/pivot/PivotCache.d.ts +34 -0
  336. package/types/src/pivot/PivotTable.d.ts +61 -0
  337. package/types/src/pivot/PivotTableCollection.d.ts +25 -0
  338. package/types/src/pivot/_PivotXml.d.ts +24 -0
  339. package/types/src/pivot/index.d.ts +6 -0
  340. package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
  341. package/types/src/primitives/Criteria.d.ts +1 -1
  342. package/types/src/primitives/Grouping.d.ts +65 -0
  343. package/types/src/primitives/LambdaBrand.d.ts +26 -0
  344. package/types/src/primitives/PrimitiveUtils.d.ts +60 -21
  345. package/types/src/primitives/Range.d.ts +136 -26
  346. package/types/src/primitives/RangeStats.d.ts +30 -2
  347. package/types/src/primitives/ReferenceRange.d.ts +44 -0
  348. package/types/src/primitives/Runtime.d.ts +15 -2
  349. package/types/src/primitives/environment.browser.d.ts +9 -0
  350. package/types/src/primitives/environment.node.d.ts +10 -0
  351. package/types/src/primitives/stats/AggregateStats.d.ts +49 -15
  352. package/types/src/primitives/stats/Cancellation.d.ts +13 -0
  353. package/types/src/primitives/stats/FrequencyStats.d.ts +10 -1
  354. package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
  355. package/types/src/primitives/stats/Ranked.d.ts +1 -1
  356. package/types/src/primitives/stats/SortedNumbers.d.ts +4 -2
  357. package/types/src/primitives/stats/index.d.ts +1 -0
  358. package/types/src/print/IPrint.d.ts +0 -22
  359. package/types/src/protectedRange/IProtectedRange.d.ts +4 -0
  360. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
  361. package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
  362. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
  363. package/types/src/protection/DefaultProtection.d.ts +12 -1
  364. package/types/src/protection/IProtection.d.ts +36 -2
  365. package/types/src/reference/ReferenceUtils.d.ts +80 -0
  366. package/types/src/reference/index.d.ts +2 -0
  367. package/types/src/resource/IResource.d.ts +21 -1
  368. package/types/src/resource/IResourceCollection.d.ts +9 -1
  369. package/types/src/resource/ResourceCollection.d.ts +6 -6
  370. package/types/src/scripting/FunctionArguments.d.ts +22 -0
  371. package/types/src/scripting/FunctionCollection.d.ts +49 -15
  372. package/types/src/scripting/IFunctionCollection.d.ts +62 -32
  373. package/types/src/scripting/IModule.d.ts +25 -0
  374. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  375. package/types/src/scripting/IScript.d.ts +28 -26
  376. package/types/src/scripting/Module.d.ts +34 -6
  377. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  378. package/types/src/scripting/Runtime.d.ts +15 -0
  379. package/types/src/scripting/Scripts.d.ts +3 -7
  380. package/types/src/scripting/TypedFunction.d.ts +200 -4
  381. package/types/src/scripting/_FunctionIndex.d.ts +8 -3
  382. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  383. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  384. package/types/src/scripting/declarations.browser.d.ts +10 -0
  385. package/types/src/scripting/declarations.d.ts +49 -0
  386. package/types/src/scripting/declarations.node.d.ts +9 -0
  387. package/types/src/scripting/index.d.ts +3 -0
  388. package/types/src/selection/IMovableSelection.d.ts +148 -0
  389. package/types/src/selection/IRangeSelection.d.ts +9 -4
  390. package/types/src/selection/MovableSelection.d.ts +48 -0
  391. package/types/src/selection/RangeSelection.d.ts +15 -0
  392. package/types/src/selection/index.d.ts +1 -0
  393. package/types/src/shape/GeometryPreset.d.ts +197 -0
  394. package/types/src/shape/IGeometry.d.ts +380 -0
  395. package/types/src/shape/IShape.d.ts +341 -194
  396. package/types/src/shape/IShapeStyle.d.ts +135 -0
  397. package/types/src/shape/Shape.d.ts +107 -21
  398. package/types/src/shape/ShapeStyleUtils.d.ts +54 -0
  399. package/types/src/shape/_ConnectorFrame.d.ts +32 -0
  400. package/types/src/shape/_ConnectorRoute.d.ts +33 -0
  401. package/types/src/shape/_Connectors.d.ts +108 -0
  402. package/types/src/shape/_Geometry.d.ts +14 -0
  403. package/types/src/shape/_GeometryLoader.d.ts +21 -0
  404. package/types/src/shape/_ShapeStyle.d.ts +70 -0
  405. package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
  406. package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
  407. package/types/src/shape/_builtIn/arrows.d.ts +6 -0
  408. package/types/src/shape/_builtIn/basic.d.ts +6 -0
  409. package/types/src/shape/_builtIn/callouts.d.ts +6 -0
  410. package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
  411. package/types/src/shape/_builtIn/lines.d.ts +6 -0
  412. package/types/src/shape/_builtIn/math.d.ts +6 -0
  413. package/types/src/shape/_builtIn/other.d.ts +6 -0
  414. package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
  415. package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
  416. package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
  417. package/types/src/shape/geometry/format.d.ts +3 -0
  418. package/types/src/shape/geometry/geometry.d.ts +85 -0
  419. package/types/src/shape/geometry/guides.d.ts +54 -0
  420. package/types/src/shape/geometry/handles.d.ts +14 -0
  421. package/types/src/shape/geometry/index.d.ts +7 -0
  422. package/types/src/shape/geometry/lineEnds.d.ts +54 -0
  423. package/types/src/shape/geometry/paths.d.ts +35 -0
  424. package/types/src/shape/geometry/segments.d.ts +114 -0
  425. package/types/src/shape/index.d.ts +3 -0
  426. package/types/src/sheet/CellRegion.d.ts +6 -0
  427. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  428. package/types/src/sheet/ISheet.d.ts +197 -50
  429. package/types/src/sheet/ISheetCollection.d.ts +2 -5
  430. package/types/src/sheet/NamedCellRange.d.ts +16 -7
  431. package/types/src/sheet/NamedRange.d.ts +8 -0
  432. package/types/src/sheet/Sheet.d.ts +923 -138
  433. package/types/src/sheet/SheetCell.d.ts +92 -32
  434. package/types/src/sheet/SheetCollection.d.ts +19 -8
  435. package/types/src/sheet/SheetRange.d.ts +92 -17
  436. package/types/src/sheet/SheetRanges.d.ts +22 -9
  437. package/types/src/sheet/_CellBuffer.d.ts +214 -0
  438. package/types/src/sheet/_HeldFormula.d.ts +69 -0
  439. package/types/src/sheet/_InvalidSheetRange.d.ts +7 -7
  440. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  441. package/types/src/sheet/_RangeStateSweep.d.ts +16 -0
  442. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  443. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  444. package/types/src/sheet/_SheetAutoFitUtils.d.ts +28 -0
  445. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  446. package/types/src/sheet/_SheetFilterUtils.d.ts +49 -1
  447. package/types/src/sheet/_SheetIntents.d.ts +296 -0
  448. package/types/src/sheet/_SheetMutations.d.ts +182 -62
  449. package/types/src/sheet/_SheetStateReader.d.ts +19 -13
  450. package/types/src/sheet/_SheetStateTypes.d.ts +83 -78
  451. package/types/src/sheet/_SheetUtils.d.ts +39 -22
  452. package/types/src/sheet/_WatchAnchor.d.ts +93 -0
  453. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  454. package/types/src/sheet/spatial/index.d.ts +1 -0
  455. package/types/src/sheet/style/SheetCellStyle.d.ts +209 -304
  456. package/types/src/sheet/style/SheetDirectStyle.d.ts +30 -19
  457. package/types/src/sheet/style/SheetNamedStyle.d.ts +17 -17
  458. package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
  459. package/types/src/sheet/style/_Resolvers.d.ts +14 -8
  460. package/types/src/sheet/style/_StyleUtils.d.ts +38 -8
  461. package/types/src/sheetHeader/ISheetHeader.d.ts +94 -53
  462. package/types/src/sheetHeader/SheetCellHeader.d.ts +4 -0
  463. package/types/src/sheetHeader/SheetHeader.d.ts +42 -22
  464. package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
  465. package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -3
  466. package/types/src/sheetProtection/ISheetProtection.d.ts +41 -7
  467. package/types/src/sheetProtection/SheetProtection.d.ts +12 -0
  468. package/types/src/sheetView/ISheetView.d.ts +69 -15
  469. package/types/src/sheetView/SheetView.d.ts +20 -11
  470. package/types/src/slicer/ISlicer.d.ts +304 -17
  471. package/types/src/slicer/ISlicerStyle.d.ts +109 -0
  472. package/types/src/slicer/Slicer.d.ts +128 -13
  473. package/types/src/slicer/SlicerStyle.d.ts +25 -0
  474. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
  475. package/types/src/slicer/_SlicerUtils.d.ts +30 -0
  476. package/types/src/slicer/index.d.ts +1 -0
  477. package/types/src/sort/ISort.d.ts +4 -2
  478. package/types/src/string/IStringCollection.d.ts +5 -0
  479. package/types/src/string/StringCollection.d.ts +6 -6
  480. package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +72 -52
  481. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  482. package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
  483. package/types/src/style/IStyleCollection.d.ts +91 -60
  484. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  485. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  486. package/types/src/style/SlicerStyleCollection.d.ts +46 -0
  487. package/types/src/style/StyleCollection.d.ts +81 -26
  488. package/types/src/style/TableStyleCollection.d.ts +49 -0
  489. package/types/src/style/_BuiltInStyleDefs.d.ts +6 -6
  490. package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
  491. package/types/src/style/index.d.ts +7 -1
  492. package/types/src/table/AnchoredTable.d.ts +701 -72
  493. package/types/src/table/AutoTable.d.ts +7 -5
  494. package/types/src/table/ITable.d.ts +261 -34
  495. package/types/src/table/ITableCollection.d.ts +12 -0
  496. package/types/src/table/ITableStyle.d.ts +37 -37
  497. package/types/src/table/TableCollection.d.ts +19 -8
  498. package/types/src/table/_FilterField.d.ts +19 -6
  499. package/types/src/table/_NamedTable.d.ts +17 -1
  500. package/types/src/table/_NamedTableSource.d.ts +1 -0
  501. package/types/src/table/_SortField.d.ts +2 -0
  502. package/types/src/table/_TableColumn.d.ts +13 -2
  503. package/types/src/table/_TableMessages.d.ts +1 -0
  504. package/types/src/table/_TableUtils.d.ts +40 -0
  505. package/types/src/text/Bullet.d.ts +4 -0
  506. package/types/src/text/IText.d.ts +182 -0
  507. package/types/src/text/ITextFrame.d.ts +110 -1
  508. package/types/src/text/TextBoxAlignment.d.ts +25 -16
  509. package/types/src/text/TextFrame.d.ts +4 -0
  510. package/types/src/text/TextLine.d.ts +4 -0
  511. package/types/src/text/TextParagraph.d.ts +4 -0
  512. package/types/src/text/TextRotation.d.ts +3 -3
  513. package/types/src/text/TextRun.d.ts +9 -0
  514. package/types/src/text/TextStacked.d.ts +83 -0
  515. package/types/src/text/index.d.ts +1 -0
  516. package/types/src/text/richtext/IRichText.d.ts +36 -0
  517. package/types/src/text/richtext/IStyledFont.d.ts +18 -18
  518. package/types/src/text/richtext/index.d.ts +1 -0
  519. package/types/src/theme/ITheme.d.ts +45 -4
  520. package/types/src/theme/IThemeCollection.d.ts +2 -0
  521. package/types/src/theme/ThemeCollection.d.ts +11 -7
  522. package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
  523. package/types/src/transaction/ITransaction.d.ts +258 -45
  524. package/types/src/transaction/Transaction.d.ts +101 -11
  525. package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
  526. package/types/src/type/AbstractCollection.d.ts +101 -0
  527. package/types/src/type/ICollection.d.ts +117 -0
  528. package/types/src/type/ITypes.d.ts +9 -7
  529. package/types/src/type/index.d.ts +1 -0
  530. package/types/src/utils/_CSSUtils.d.ts +3 -3
  531. package/types/src/wasm/_sdkWasm.d.ts +7 -0
  532. package/types/src/wasm/index.d.ts +2 -0
  533. package/types/src/wasm/sdkWasm.d.ts +29 -0
  534. package/types/src/workbook/IWorkbook.d.ts +180 -40
  535. package/types/src/workbook/Workbook.d.ts +123 -10
  536. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  537. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  538. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  539. package/types/src/workbookView/IWorkbookView.d.ts +12 -0
  540. package/types/src/workbookView/WorkbookView.d.ts +5 -0
  541. package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
  542. package/browser/cjs/BF14ZEAnaqxXroSj.cjs +0 -1
  543. package/browser/cjs/BXtvdT1Z-MsB_o5F.cjs +0 -1
  544. package/browser/cjs/Bc4JjVVZfFo3R4He.cjs +0 -33
  545. package/browser/cjs/CD2RXdnfqSYNc6gX.cjs +0 -57
  546. package/browser/cjs/DcLpXGexEtOxi-dD.cjs +0 -1
  547. package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
  548. package/browser/cjs/index.cjs +0 -3
  549. package/browser/esm/0Mj5WKM362q6CECb.mjs +0 -824
  550. package/browser/esm/CPTtL2f6_4iblmFM.mjs +0 -4436
  551. package/browser/esm/CoA-sUxjiIUIpTUF.mjs +0 -109
  552. package/browser/esm/Dy4Sdpju1T2icURu.mjs +0 -50854
  553. package/node/esm/BtGxbEbBm79YvF_k.mjs +0 -843
  554. package/node/esm/DqgWsVXROpSgKq6c.mjs +0 -114
  555. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  556. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
  557. package/types/src/dataValidation/_Utils.d.ts +0 -10
  558. package/types/src/lib/utils/_Utils.d.ts +0 -20
  559. package/types/src/lib/utils/utils.browser.d.ts +0 -33
  560. package/types/src/movable/IGroup.d.ts +0 -30
  561. package/types/src/movable/IMovableSelection.d.ts +0 -49
  562. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  563. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  564. package/types/src/sheet/listener/index.d.ts +0 -3
  565. /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
@@ -0,0 +1,34 @@
1
+ import { IResource } from '../resource';
2
+ import { IEmbeddedPart } from '../io';
3
+ import { AbstractMovableContent } from '../movable/AbstractMovableContent';
4
+ import { IPivotTable } from './IPivotTable';
5
+ /**
6
+ * A pivot cache as the workbook holds it: the part it was read from, and its source held in the
7
+ * calculation engine so it follows the cells it names.
8
+ *
9
+ * @remarks
10
+ * The cache is workbook-level and shared by every table on it. Its `<cacheSource>
11
+ * <worksheetSource ref sheet>` is the one thing in the part that names cells; it is held through
12
+ * the seam of the sheet it names ({@link _hold}), once the sheets exist, and restated in place by
13
+ * {@link getXML}. A source that is a defined name or an external book holds nothing and is
14
+ * written as read.
15
+ * @internal
16
+ */
17
+ export declare class PivotCache {
18
+ readonly cacheId: number;
19
+ readonly part: IEmbeddedPart | null;
20
+ /** The source as the engine holds it; `null` while nothing is held. */
21
+ private _source;
22
+ constructor(cacheId: number, part: IEmbeddedPart | null);
23
+ /**
24
+ * Holds the source through the sheet it names. Asked once the sheets exist; a source naming no
25
+ * sheet of the workbook is left as read.
26
+ *
27
+ * @param resolve The seam of the sheet with that name, or `null` when there is none.
28
+ */
29
+ _hold(resolve: (sheetName: string) => AbstractMovableContent.AddWatch | null): void;
30
+ /** The part's markup, its source restated where the engine has moved it. */
31
+ getXML(): string | null;
32
+ toJSON(toResourceId?: (resource: IResource) => number | null): IPivotTable.CacheJSON;
33
+ }
34
+ //# sourceMappingURL=PivotCache.d.ts.map
@@ -0,0 +1,61 @@
1
+ import { IRange } from '@sheetxl/primitives';
2
+ import { IResource } from '../resource';
3
+ import { ISheet } from '../sheet';
4
+ import { Anchored } from '../anchored/Anchored';
5
+ import { AbstractAnchored } from '../anchored/AbstractAnchored';
6
+ import { IEmbeddedPart } from '../io';
7
+ import { IPivotTable } from './IPivotTable';
8
+ interface State extends AbstractAnchored.State {
9
+ anchorCoords: IRange.Coords;
10
+ cacheId: number;
11
+ name: string | null;
12
+ }
13
+ /**
14
+ * Implementation for {@link IPivotTable}: the part it was read from, anchored on the sheet at its
15
+ * `<location ref>`.
16
+ *
17
+ * @remarks
18
+ * The location is where the table SITS, so it is the anchor, as a table's range is, and the
19
+ * sheet's anchored map moves it with structural edits inside their commit. The table rules on
20
+ * those edits as a table does ({@link _processContainerShift}), with Excel's rule: an edit before
21
+ * it moves it whole, one taking every cell of it deletes it, anything that would move part of it
22
+ * is refused. {@link getXML} restates the anchor into the part; the rest of the part is as read.
23
+ */
24
+ export declare class PivotTable extends AbstractAnchored<State, IPivotTable.Events> implements IPivotTable {
25
+ protected _sheet: ISheet;
26
+ protected _part: IEmbeddedPart | null;
27
+ /** The location as the part spells it. While the anchor still says the same, the part is as read. */
28
+ private _ref;
29
+ constructor(options: PivotTable.ConstructorOptions);
30
+ protected _initialize(options: PivotTable.ConstructorOptions): void;
31
+ /** {@inheritDoc IPivotTable.getName} */
32
+ getName(): string;
33
+ /** {@inheritDoc IPivotTable.getSheet} */
34
+ getSheet(): ISheet;
35
+ /** {@inheritDoc IPivotTable.getXML} */
36
+ getXML(): string | null;
37
+ /** {@inheritDoc IPivotTable.getCacheId} */
38
+ getCacheId(): number;
39
+ /** {@inheritDoc IPivotTable.toJSON} */
40
+ toJSON(toResourceId?: (resource: IResource) => number | null): IPivotTable.JSON | null;
41
+ /**
42
+ * Excel's rule, from `pivot-probes/probe-pivot-structural.ps1` (2026-10-15): the table moves
43
+ * whole or goes whole. A shift that would split it or change its extent - a row or column cut
44
+ * through it, an insert inside it, a shift of some of its columns - is refused with Excel's own
45
+ * refusal, as a user error, before anything of the edit commits.
46
+ * @internal
47
+ */
48
+ protected _processContainerShift(options: Anchored.ShiftOptions): IRange.Coords | null | void;
49
+ /** @internal */
50
+ protected _getActionDescription(action: 'delete' | 'initialize' | 'updateListener'): string | null;
51
+ /** {@inheritDoc IPivotTable.isIPivotTable} */
52
+ get isIPivotTable(): true;
53
+ }
54
+ export declare namespace PivotTable {
55
+ interface ConstructorOptions extends Anchored.ConstructorOptions<IPivotTable.JSON> {
56
+ sheet: ISheet;
57
+ fromResourceId?: (resourceId: number) => IResource;
58
+ }
59
+ }
60
+ export {};
61
+ //# sourceMappingURL=PivotTable.d.ts.map
@@ -0,0 +1,25 @@
1
+ import { AbstractCollection } from '../type';
2
+ import { IPivotTable } from './IPivotTable';
3
+ import { IPivotTableCollection } from './IPivotTableCollection';
4
+ /**
5
+ * Implementation for {@link IPivotTableCollection}.
6
+ *
7
+ * @remarks
8
+ * A front over storage held elsewhere — the sheet's own tables, or a walk over every sheet's for
9
+ * the workbook — so the same class serves both. Nothing edits a pivot table yet, so there is
10
+ * nothing to announce.
11
+ */
12
+ export declare class PivotTableCollection extends AbstractCollection<IPivotTable> implements IPivotTableCollection {
13
+ private _getItemsDelegate;
14
+ /**
15
+ * @param getItems Returns the tables, as an array the caller may keep.
16
+ */
17
+ constructor(getItems: () => IPivotTable[]);
18
+ /** {@inheritDoc AbstractCollection._getItems} */
19
+ protected _getItems(): IPivotTable[];
20
+ /** {@inheritDoc IPivotTableCollection.getByName} */
21
+ getByName(name: string): IPivotTable | null;
22
+ /** {@inheritDoc IPivotTableCollection.isIPivotTableCollection} */
23
+ get isIPivotTableCollection(): true;
24
+ }
25
+ //# sourceMappingURL=PivotTableCollection.d.ts.map
@@ -0,0 +1,24 @@
1
+ import { IRange } from '@sheetxl/primitives';
2
+ import { IPivotTable } from './IPivotTable';
3
+ /** Character data as the markup spells it, decoded. */
4
+ export declare function decodeXml(text: string): string;
5
+ /** `text` as an attribute value spells it. */
6
+ export declare function encodeXml(text: string): string;
7
+ /**
8
+ * A plain A1 reference as the part spells it (`B3`, `A1:A7`, relative) made absolute, which is how
9
+ * it is held: a relative endpoint in a body that has no position is left where it is written,
10
+ * and these name fixed cells.
11
+ */
12
+ export declare function absoluteA1(ref: string): string;
13
+ /** The held text back in the part's spelling: relative. */
14
+ export declare function relativeA1(ref: string): string;
15
+ /**
16
+ * The cells a pivot table's part says it is laid out on (`<location ref>`), as coords on its own
17
+ * sheet, or `null` when the part states none it can be anchored at.
18
+ */
19
+ export declare function locationCoordsOf(json: IPivotTable.JSON | undefined): IRange.Coords | null;
20
+ /** `attribute` of the first `element` in `xml`, decoded, or `null` when either is absent. */
21
+ export declare function readAttribute(xml: string, element: string, attribute: string): string | null;
22
+ /** `xml` with `attribute` of the first `element` restated as `value`; unchanged when either is absent. */
23
+ export declare function writeAttribute(xml: string, element: string, attribute: string, value: string): string;
24
+ //# sourceMappingURL=_PivotXml.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export * from './IPivotTable';
5
+ export * from './IPivotTableCollection';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -24,6 +24,8 @@ export declare class CompositeRangeStats implements IRangeStats {
24
24
  protected _typedCounts: Readonly<Record<ScalarType, number>> | undefined;
25
25
  protected _frequencies: Readonly<IRangeStats.IFrequency> | undefined;
26
26
  constructor(children: readonly IRangeStats[]);
27
+ /** @inheritdoc IRangeStats.getCoords */
28
+ getCoords(): IRange.Coords | null;
27
29
  /** @inheritdoc IRangeStats.getSize */
28
30
  getSize(): number;
29
31
  /** @inheritdoc IRangeStats.getCount */
@@ -30,6 +30,6 @@ export declare const Criteria: {
30
30
  * Parse criteria and return a predicate function for testing values against it.
31
31
  * Each operator gets its own closure, avoiding repeated branching on every call.
32
32
  */
33
- createEvaluator: (context: IFormulaContext, criteria: Scalar) => IFormulaContext.CriteriaEvaluator;
33
+ createEvaluator: (context: IFormulaContext, criteria: Scalar, options?: IFormulaContext.CriteriaOptions) => IFormulaContext.CriteriaEvaluator;
34
34
  };
35
35
  //# sourceMappingURL=Criteria.d.ts.map
@@ -0,0 +1,65 @@
1
+ import { IFormulaContext, IRange, Scalar } from '@sheetxl/primitives';
2
+ /**
3
+ * Builds the column a group's members come back in: `size` rows, with `values[i]` at `rows[i]`
4
+ * and every other row blank.
5
+ */
6
+ export type GroupingColumnFactory = (size: number, rows: ArrayLike<number>, values: ArrayLike<Scalar>, count: number) => IRange;
7
+ /**
8
+ * Records grouped by key — see {@link IFormulaContext.createGrouping}.
9
+ *
10
+ * @remarks
11
+ * ### Not public API
12
+ *
13
+ * Reached as `IFormulaContext.createGrouping`, the same arrangement `Criteria` has.
14
+ *
15
+ * ### Shape of the work
16
+ *
17
+ * Every key column is read once, by its non-blank entries, into one small id per record. A record
18
+ * the entries never reached is blank in that column, so a whole-column key over a short table
19
+ * costs the table, not the column. The ids then assign each kept record a group, and a counting
20
+ * sort numbers each record within its group.
21
+ *
22
+ * A value column is bucketed the same way the first time it is asked for, so a group's members are
23
+ * one bucket rather than a scan of the column. Blank members are not stored at all: the member
24
+ * column is created at the group's size and only the non-blank rows are written.
25
+ */
26
+ export declare class Grouping implements IFormulaContext.Grouping {
27
+ private readonly _createColumn;
28
+ private readonly _recordCount;
29
+ /** Per record, its group, or -1 when the filter left it out. */
30
+ private readonly _groupOf;
31
+ /** Per group, the number of records. */
32
+ private readonly _sizes;
33
+ /** Per group, its key (first record's spelling). */
34
+ private readonly _keys;
35
+ /** Records kept, in record order — `null` when every record is kept. */
36
+ private readonly _kept;
37
+ /** Kept records ordered by group, record order within each group. */
38
+ private readonly _order;
39
+ /** Per group, where its records start in `_order`. */
40
+ private readonly _offsets;
41
+ /** Per record, its place within its group. */
42
+ private readonly _rankInGroup;
43
+ /** Per group, its first record. */
44
+ private readonly _firstRecord;
45
+ private readonly _buckets;
46
+ constructor(keys: IRange, createColumn: GroupingColumnFactory, options?: IFormulaContext.GroupingOptions);
47
+ /** @inheritdoc IFormulaContext.Grouping.getRecordCount */
48
+ getRecordCount(): number;
49
+ /** @inheritdoc IFormulaContext.Grouping.getGroupCount */
50
+ getGroupCount(): number;
51
+ /** @inheritdoc IFormulaContext.Grouping.getSize */
52
+ getSize(group: number): number;
53
+ /** @inheritdoc IFormulaContext.Grouping.getKeys */
54
+ getKeys(group: number): readonly Scalar[];
55
+ /** @inheritdoc IFormulaContext.Grouping.getGroup */
56
+ getGroup(record: number): number;
57
+ /** @inheritdoc IFormulaContext.Grouping.getFirstRecord */
58
+ getFirstRecord(group: number): number;
59
+ /** @inheritdoc IFormulaContext.Grouping.getMembers */
60
+ getMembers(values: IRange, groups?: readonly number[]): IRange;
61
+ /** The records of some groups, ascending. */
62
+ private _recordsOf;
63
+ private _getBuckets;
64
+ }
65
+ //# sourceMappingURL=Grouping.d.ts.map
@@ -0,0 +1,26 @@
1
+ import { IFunction } from '@sheetxl/primitives';
2
+ import { LambdaCallable } from '../calculation/formula/LambdaValue';
3
+ /**
4
+ * The brand a function value carries — what `LAMBDA(…)` evaluates to (`LambdaValue`) and what a
5
+ * bare function name eta-reduces to (`FunctionValue`).
6
+ *
7
+ * @remarks
8
+ * A function value IS an {@link IFunction}: a body whose untyped (`any`) parameter receives one — or
9
+ * an array of them, `HSTACK(SUM, AVERAGE)` — calls it like any other function (`GROUPBY`'s `fn`).
10
+ * A lambda-typed parameter instead receives a plain callable (`Lambda`). The brand exists so that
11
+ * the value-layer sites — coercion, the operators, a range's typed read — can RECOGNIZE a function
12
+ * value and refuse it without importing the calculation layer — the same structural pattern, and for
13
+ * the same reason, as `CalcSignal`.
14
+ *
15
+ * The brand is `isFunctionValue`, not `isLambda`: {@link IFunction.isLambda} is a method, and an
16
+ * eta-reduced built-in is a function value whose `isLambda()` is `false`.
17
+ */
18
+ export interface ILambdaValue extends IFunction {
19
+ /** The brand itself — the property every recognizing site reads. */
20
+ readonly isFunctionValue: true;
21
+ /** Marshals the value into the callable a lambda-typed parameter receives. */
22
+ makeCallable(): LambdaCallable;
23
+ }
24
+ /** `true` for a function value — see {@link ILambdaValue}. */
25
+ export declare const isLambdaValue: (value: unknown) => value is ILambdaValue;
26
+ //# sourceMappingURL=LambdaBrand.d.ts.map
@@ -127,7 +127,8 @@ export declare function isMultiAreaValue(value: any): boolean;
127
127
  export declare function countArgDepth(value: any): number;
128
128
  export declare function flattenToScalarArray(context: IFormulaContext, coercedArr: FixedPackedArray | Scalar[], currentArg: any, isDirect: boolean | undefined, rangeType: string | null, // the range preference for dims higher than 2 (if not specified then will materialize to array values
129
129
  scalarType: ScalarType | null, // the scalar preference. If not specified no coercion will occur.
130
- errors?: 'reject' | 'accept' | null): void | FormulaError.Known;
130
+ errors?: 'reject' | 'accept' | null, // effective error policy (TypedFunction resolves the default)
131
+ noMemberFilter?: boolean): void | FormulaError.Known;
131
132
  /**
132
133
  * Returns a 2d shape. Either a reference.
133
134
  */
@@ -149,7 +150,7 @@ isDirect: boolean, errors?: 'reject' | 'accept' | null): IRange | any[][] | Form
149
150
  * evaluated argument; see `isDirectArg` in `TypedFunction`.
150
151
  *
151
152
  * Two things it is NOT, both measured (`probe-direct-vs-literal.ps1`, pinned in
152
- * `functions2/coercion/DIRECT-VS-MEMBER.json`):
153
+ * `__tests__/functions/coercion/DIRECT-VS-MEMBER.json`):
153
154
  *
154
155
  * - **Not literalness.** `{1,TRUE}` and `A1:A2` behave IDENTICALLY (members of both are filtered),
155
156
  * and the COMPUTED `A2>0` behaves like a typed `TRUE`. A container being a literal or a
@@ -168,29 +169,58 @@ isDirect: boolean, errors?: 'reject' | 'accept' | null): IRange | any[][] | Form
168
169
  */
169
170
  export declare function addCoercedValue(context: IFormulaContext, coercedArr: FixedPackedArray | Scalar[], currentArg: any, isDirect: boolean, rangeType: 'p' | 'r' | 'm' | null, scalarType: ScalarType | null, // the scalar preference. If not specified then no coercion will occur.
170
171
  allowError: boolean, flatten: boolean, // indicates we should flatten
171
- errors?: 'reject' | 'accept' | null): FormulaError.Known | void;
172
+ errors?: 'reject' | 'accept' | null, // effective error policy (TypedFunction resolves the default)
173
+ noMemberFilter?: boolean): FormulaError.Known | void;
174
+ /**
175
+ * The depth-0 half of {@link addCoercedValue} for a SCALAR slot: `value` is already a single
176
+ * value — a typed or computed scalar, a blank, an error, rich data, or the member a one-cell
177
+ * reference was dereferenced to — never a container or coords. Same rules, same order, same
178
+ * verdicts as the general path, which still serves everything else; this exists so the common
179
+ * call (a number at a number slot) pays for no container questions.
180
+ *
181
+ * `isDirect` is the argument's own directness (a dereferenced cell is NOT direct): it gates the
182
+ * quoted-boolean parse, and nothing else — a scalar slot has no members, so the dereferenced
183
+ * value coerces with the direct rules exactly as it does in the general path (`ABS(A1)` is 1 for
184
+ * A1=TRUE).
185
+ */
186
+ export declare function addCoercedScalar(context: IFormulaContext, coercedArr: FixedPackedArray, value: any, isDirect: boolean, scalarType: ScalarType | null, allowError: boolean, errors: 'reject' | 'accept' | null): FormulaError.Known | void;
172
187
  /**
173
188
  * Minimal validation used from the return value of functions.
174
189
  */
175
190
  /**
176
- * Makes a raw JS double look like an Excel one. Excel arithmetic has neither Infinity nor
177
- * subnormals, and this is the single rule that enforces both. Measured against Excel 16.0
178
- * (formula-tests: probe-num-overflow.ps1, probe-boundaries.ps1, probe-api-nonfinite.ps1):
179
- *
180
- * * ANY non-finite value is #NUM! — NaN and ±Infinity alike. `9E+307*2`, `9E+307+9E+307` and
181
- * `9E+307/0.1` all report `ERROR.TYPE` 6, and a raw NaN or ±Infinity written through the
182
- * Value2 API lands as #NUM! too. Infinity does NOT mean #DIV/0!: Excel never derives that
183
- * error from a float, it raises it deliberately before dividing. Functions say so themselves
184
- * by returning `FormulaError.BuiltIn.Div0`.
185
- * * a magnitude below the smallest NORMAL double flushes to ZERO, which also folds -0 to 0.
186
- * `1E-300*2.224E-8` is 0 while `1E-300*2.226E-8` survives, and the flush lands before the next
187
- * operator reads it — `=1/(1E-300*1E-100)` is #DIV/0!, not a huge number. The API agrees:
188
- * writing `Double.Epsilon` reads back 0.
189
- *
190
- * Excel applies this at EVERY boundary, so SheetXL does too — `minCoerce` for a calculated
191
- * result, and the cell-write path for a value handed in through the API.
191
+ * Makes a raw JS double look like an Excel one: ANY non-finite value is #NUM! — NaN and
192
+ * ±Infinity alike. `9E+307*2`, `9E+307+9E+307` and `9E+307/0.1` all report `ERROR.TYPE` 6, and a
193
+ * raw NaN or ±Infinity written through the Value2 API lands as #NUM! too. Infinity does NOT mean
194
+ * #DIV/0!: Excel never derives that error from a float, it raises it deliberately before
195
+ * dividing. Functions say so themselves by returning `FormulaError.BuiltIn.Div0`.
196
+ *
197
+ * Measured against Excel 16.0 (formula-tests: probe-num-overflow.ps1, probe-boundaries.ps1,
198
+ * probe-api-nonfinite.ps1). This rule applies at every boundary; the SUBNORMAL rule does not —
199
+ * see {@link flushSubnormal}.
192
200
  */
193
201
  export declare function normalizeNumber(value: number): number | FormulaError.Known;
202
+ /**
203
+ * Zeroes a magnitude below the smallest NORMAL double, which also folds -0 to 0.
204
+ *
205
+ * "Excel has no subnormals" is true of its ARITHMETIC and of its write path, and false of its
206
+ * function results — so this is a rule three callers apply deliberately rather than one the
207
+ * boundary applies to everything (measured 2026-08-30,
208
+ * `fn-battery/mathTrig/adhoc-subnormal-store`):
209
+ *
210
+ * * MULTIPLICATION, DIVISION and EXPONENTIATION flush. `1E-300*2.224E-8` is 0 while
211
+ * `1E-300*2.226E-8` survives, `2^-1022/2` is 0, and the flush lands before the next operator
212
+ * reads it — `=1/(1E-300*1E-100)` is #DIV/0!, not a huge number.
213
+ * * ADDITION and SUBTRACTION do NOT. With `Z1` holding 5E-324, `Z1+0`, `-Z1` and `Z1+Z1` all
214
+ * keep the value, and `Z1*1` is 0.
215
+ * * A FUNCTION RESULT does not either, and it survives the cell it is stored in: `EXP(-745)` is
216
+ * 5E-324 and `EXP(-745)*1E300` is 4.94E-24. SUM, MIN, ABS, IF, INDEX and ROUND all pass it
217
+ * through. EXP reaches zero only below -745.1332, the true IEEE underflow.
218
+ * * The API WRITE path flushes: `Double.Epsilon` set through `Value2` reads back 0.
219
+ * * The BOOLEAN reading flushes, and so does `SWITCH`'s comparison — both are tests against zero
220
+ * (`IF(EXP(-745),…)` takes the false branch and `SWITCH(EXP(-745),0,…)` matches), which the
221
+ * comparison OPERATORS do not do: `EXP(-745)=0` is FALSE.
222
+ */
223
+ export declare function flushSubnormal(value: number): number;
194
224
  export declare function minCoerce(value: any, context?: IFormulaContext | null, type?: string): any;
195
225
  /**
196
226
  * Loads a (possibly nested) array literal into a sparse grid and returns the pieces a `Range`
@@ -217,8 +247,12 @@ export interface FixedPackedArray<T = any> {
217
247
  /**
218
248
  * V8 Optimization
219
249
  *
220
- * Is seems the new Array(length) because it uses holey arrays.
221
- * Push causes reallocation a bunch times.
250
+ * Builds an array that V8 keeps in `PACKED_ELEMENTS`, every slot set to `value`.
251
+ *
252
+ * A bare `new Array(length)` is holey, and each read from a holey array pays a
253
+ * hole check (~35% on a linear scan). Both branches here produce the same map;
254
+ * they differ only in how fast they build, and the threshold is the point where
255
+ * the per-call cost of `fill` stops dominating the per-element cost of `push`.
222
256
  *
223
257
  * This should be only used for reusable arrays where they are long lived
224
258
  * and need to be fast (and not resized (much)).
@@ -227,6 +261,11 @@ export declare function createPackedArray<T = any>(length: number, value?: T): T
227
261
  /**
228
262
  * Create a packed array but with undefined values.
229
263
  *
264
+ * `undefined` here is a real element in every slot, not a hole; the array is
265
+ * packed exactly as {@link createPackedArray} is. Kept separate rather than
266
+ * delegating because passing `undefined` as an argument would take the
267
+ * `value=null` default.
268
+ *
230
269
  * @see createPackedArray
231
270
  */
232
271
  export declare function createEmptyPackedArray<T = any>(length: number): T[];
@@ -18,26 +18,46 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
18
18
  protected _localRangeStats: IRangeStats | null;
19
19
  /** The `options` {@link _localRangeStats} was built for — the memo's key. See `getStats`. */
20
20
  protected _localRangeStatsOptions: IRange.IteratorOptions | undefined;
21
- constructor(runtime: IRuntime, values: ISparseGrid<Scalar>, coords: IRange.Coords | null, optionsIterator?: IRange.IteratorOptions | null, isLiteral?: boolean, isDirectScalar?: boolean);
21
+ /**
22
+ * What a cell the grid does not store reads as - `null` for an ordinary range.
23
+ *
24
+ * @remarks
25
+ * A grid can hold only part of its range's answer: a watch body's blank region shares one value
26
+ * that the engine keeps on the block rather than writing per cell (PLAN-WATCHES-BLANK-AWARE
27
+ * §4c), so within that body "absent" means "the shared answer", never "empty". A range with a
28
+ * non-null empty value is therefore DENSE: `getValueAt` answers it for every absent cell, and
29
+ * the iterators visit those cells whether or not `includeEmpty` was asked, since they are
30
+ * content. A STORED empty (`null`) is still empty.
31
+ *
32
+ * It is also how an elementwise operation carries its answer for the blank cells: `map`,
33
+ * `broadcast` and `zip` walk what their operands STORE, answer the absent region once, and
34
+ * hand that answer to the result here rather than writing it as a run per line — so the next
35
+ * operator finds the blank region again and a whole-column chain stays O(stored + runs)
36
+ * (CALC-PERFORMANCE §5). `fillEmpty` over the whole range sets it the same way.
37
+ *
38
+ * Every reader agrees on it: the iterators and `getValueAt` above; a transform over the same
39
+ * grid carries it (`slice`, `toType`, `clone`); one that derives a grid either writes every
40
+ * position or writes it out first (`_materializeEmpty` — `resize`, `tile`, a partial `fill`);
41
+ * and a reader that goes to the grid rather than through the range (the stats walk, the calc
42
+ * grid's write of a result, a sheet write) reads the written-out grid.
43
+ */
44
+ protected _absentValue: Scalar;
45
+ constructor(runtime: IRuntime, values: ISparseGrid<Scalar>, coords: IRange.Coords | null, optionsIterator?: IRange.IteratorOptions | null, isLiteral?: boolean, isDirectScalar?: boolean, absentValue?: Scalar);
22
46
  /** @inheritdoc IRange.argsort */
23
47
  argsort(keyRanges?: IRange | IRange[], orders?: number | number[], axis?: IRange.Axis): number[];
24
48
  /** @inheritdoc IRange.uniqueIndices */
25
49
  uniqueIndices(axis?: IRange.Axis, exactlyOnce?: boolean): number[];
26
50
  /** @inheritdoc IRange.broadcast */
27
51
  broadcast<TS extends Scalar = T>(other: IRange | TS, callbackFn: (a: TS, b: TS, coords: IRange.CellCoords, range: IRange<T>) => TS, options?: IRange.BroadcastOptions): this;
28
- /**
29
- * {@link broadcast} against a scalar operand: this range's OWN entries, with every empty position
30
- * written as a run of one computed value. See the call site for why the general path cannot.
31
- *
32
- * @remarks
33
- * Reached only for a coord-blind callback, so the single empty call carries the origin coords.
34
- */
35
- private _broadcastScalar;
36
52
  /** @inheritdoc IRange.choose */
37
53
  choose<TS extends Scalar = T>(from: (IRange<TS> | TS)[], selectFn: (value: TS, coords: IRange.CellCoords, range: IRange<T>) => MaybeError<number>, options?: IRange.ValuesOptions): this;
38
54
  /** @inheritdoc IRange.clear */
39
55
  clear(): this;
40
- /** @inheritdoc IRange.clone */
56
+ /**
57
+ * @inheritdoc IRange.clone
58
+ * @param options Read options for the clone, over this range's own: a `processRowSkip` here is
59
+ * a clone that reads without those rows.
60
+ */
41
61
  clone(options?: IRange.IteratorOptions, isLiteral?: boolean, isDirectScalar?: boolean): this;
42
62
  /** @inheritdoc IRange.compute */
43
63
  compute(fn: (range: IRange) => IRange): this;
@@ -55,10 +75,34 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
55
75
  fill(value: Scalar, coords?: Partial<IRange.Coords>): this;
56
76
  /** @inheritdoc IRange.fillEmpty */
57
77
  fillEmpty(value: Scalar, coords?: Partial<IRange.Coords>): this;
78
+ /**
79
+ * Writes `value` at every absent position of `absCoords` as runs — the stored form of
80
+ * {@link fillEmpty}, for the case the absent value cannot express (a partial fill), and of
81
+ * {@link _materializeEmpty}.
82
+ * The result reads its grid alone (no empty value).
83
+ */
84
+ protected _fillAbsent(value: Scalar, absCoords: IRange.Coords): this;
85
+ /**
86
+ * This range with its empty value WRITTEN — every absent cell stored as runs of it — for a
87
+ * reader that goes to the grid rather than through the range: the stats walk, the calc grid's
88
+ * write of a result, a sheet write. `this` when there is nothing to write.
89
+ * @internal
90
+ */
91
+ _materializeEmpty(): this;
58
92
  /** @inheritdoc IRange.filter */
59
93
  filter<TS extends Scalar = T>(callbackFn: (value: TS, coords: IRange.CellCoords, range: IRange<T>) => boolean, options?: IRange.IteratorOptions): this;
94
+ /** @inheritdoc IRange.firstError */
95
+ firstError(): FormulaError.Known | null;
60
96
  /** @inheritdoc IRange.flatten */
61
- flatten<TS extends Scalar = T>(options?: IRange.IteratorOptions): TS[];
97
+ flatten(options?: IRange.IteratorOptions): this;
98
+ /** @inheritdoc IRange.getValuesFlat */
99
+ getValuesFlat<TS extends Scalar = T>(options?: IRange.IteratorOptions): TS[];
100
+ /** @inheritdoc IRange.indexOf */
101
+ indexOf(value: Scalar, options?: IRange.IndexOfOptions): number;
102
+ /**
103
+ * The row-major walk behind {@link indexOf}, for the reads the run index cannot answer.
104
+ */
105
+ protected _indexOfScan(value: Scalar, reverse: boolean): number;
62
106
  /** @inheritdoc IRange.forEach */
63
107
  forEach<TS extends Scalar = T, B = any>(callbackFn: (value: TS, coords: IRange.CellCoords, range: IRange<T>) => {
64
108
  break: B;
@@ -74,6 +118,8 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
74
118
  };
75
119
  /** @inheritdoc IRange.getStats */
76
120
  getStats(options?: IRange.IteratorOptions): IRangeStats;
121
+ /** The stats without the typed-read fault — what `hasError()` and the fault itself read. */
122
+ protected _getStats(options?: IRange.IteratorOptions): IRangeStats;
77
123
  /** @inheritdoc IRange.hasError */
78
124
  hasError(): boolean;
79
125
  /** {@inheritDoc IRange.getType} */
@@ -83,7 +129,15 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
83
129
  /** @inheritdoc IRange.getValues */
84
130
  getValues<TS extends Scalar = T>(options?: IRange.GetValuesOptions): TS[][];
85
131
  /** @inheritdoc IRange.map */
86
- map<TS extends Scalar = T>(callbackFn: (value: TS, coords: IRange.CellCoords, range: IRange<T>) => TS, options?: IRange.IteratorOptions): this;
132
+ map<TS extends Scalar = T>(callbackFn: (value: TS, coords: IRange.CellCoords, range: IRange<T>) => TS, options?: IRange.MapOptions): this;
133
+ /**
134
+ * {@link map} over what the grid stores: one call per stored member, one per run holding one
135
+ * value, and under `once` one for the absent region — whose answer is the result's empty value,
136
+ * so the next consumer finds the blank region again (CALC-PERFORMANCE §5). A member the
137
+ * callback empties (`null`) and a blank region it answers cannot share the one absent state,
138
+ * so in that one case the region's answer is written out as runs.
139
+ */
140
+ private _mapRuns;
87
141
  /** @inheritdoc IRange.mask */
88
142
  mask<TS extends Scalar = T>(conditions: IRange | TS, isTrues?: IRange | TS, options?: IRange.MaskOptions): this;
89
143
  /** @inheritdoc IRange.alignValues */
@@ -133,17 +187,25 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
133
187
  /** @inheritdoc IRange.values */
134
188
  values<T extends Scalar = Scalar>(options?: IRange.IteratorOptions): IterableIterator<T>;
135
189
  /** @inheritdoc IRange.zip */
136
- zip(others: (IRange | Scalar)[], callbackFn: (values: Scalar[], coords: IRange.CellCoords, range: IRange<T>) => Scalar, options?: IRange.IteratorOptions): this;
137
- /** {@inheritDoc IRange.isLiteral} */
138
- isLiteral(): boolean;
139
- /** Not on IRange — the boxed-bare-scalar flag; see `_isDirectScalar`. */
140
- isDirectScalar(): boolean;
141
- /** {@inheritDoc IRange.isScalar} */
142
- isScalar(): boolean;
190
+ zip(others: (IRange | Scalar)[], callbackFn: (values: Scalar[], coords: IRange.CellCoords, range: IRange<T>) => Scalar, options?: IRange.ZipOptions): this;
191
+ /**
192
+ * The array-constant flag (`_isLiteral`), for the ENGINE only — the coercion alias that makes
193
+ * a typed `{…}` direct for a slot's coercion. Excel's runtime has no literal kind (a typed and
194
+ * a computed array are both `Array`), so a function body never reads it: bodies ask
195
+ * `FormulaContext.getArgs().getKindAt`, and the reference-vs-array question is
196
+ * `isIReferenceRange`.
197
+ * @internal
198
+ */
199
+ _isLiteralArray(): boolean;
200
+ /**
201
+ * The boxed-bare-scalar flag (`_isDirectScalar`), for the ENGINE only — the box is call-local
202
+ * plumbing (born at a slot, unboxed at the call exit) and a function body never reads it:
203
+ * bodies ask `FormulaContext.getArgs().getKindAt`.
204
+ * @internal
205
+ */
206
+ _isDirectScalarBox(): boolean;
143
207
  /** {@inheritDoc IRange.isEmpty} */
144
208
  isEmpty(): boolean;
145
- /** {@inheritDoc IRange.isVector} */
146
- isVector(): boolean;
147
209
  /** @inheritdoc IRange.size */
148
210
  get size(): number;
149
211
  /** {@inheritDoc IRange[Symbol.iterator]} */
@@ -157,6 +219,17 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
157
219
  protected _entries(options?: IRange.IteratorOptions & {
158
220
  reuseResult?: boolean;
159
221
  }): IGrid.EntryIterator<Scalar>;
222
+ /**
223
+ * The read `_entries` applies to one member under `options` - the typed coercion, its error
224
+ * policy, what an absent cell reads as - as a function, so a walk over runs (`RunHead`) reads a
225
+ * member exactly as the entry iterator would. Only a TYPED read (`options.type`) coerces; a raw
226
+ * read hands the member back, and an absent one (`undefined` in) as the empty value.
227
+ *
228
+ * @returns The value the member reads as, or `undefined` when the read DROPS it: a typed read
229
+ * filters what it cannot coerce - the declaration that the type is strict, so an aggregate
230
+ * ignores stray text the way Excel does - unless `includeEmpty` keeps it as an empty.
231
+ */
232
+ protected _memberReader(options: IRange.IteratorOptions | undefined, includeEmpty: boolean): (fromValue: Scalar | undefined) => Scalar | undefined;
160
233
  /**
161
234
  * Finds an absolute intersection given a relative coord.
162
235
  */
@@ -189,12 +262,49 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
189
262
  * (`SUMPRODUCT(--ISNUMBER(SEARCH(...)))` → 0).
190
263
  */
191
264
  protected _untyped(): this;
265
+ /** This range's options without its skips: for a result whose cells are laid out anew. */
266
+ protected _optionsFresh(): Omit<IRange.IteratorOptions, 'axis'> & {
267
+ axis?: IRange.Axis;
268
+ };
269
+ /**
270
+ * This range's options for a result over the same grid at `coords`: its skips count from this
271
+ * range's origin and cover its shape, so a result whose origin moved (a slice) asks them with
272
+ * the difference, and one that grew (a resize) asks them for the cells it had and leaves the
273
+ * rest alone. `null` coords - a result laid out anew - carry no skip.
274
+ *
275
+ * @remarks
276
+ * The rule the skips follow: a result whose cells sit where this range's do (a slice, a fill, a
277
+ * resize, a map) keeps them, since it is written over a copy of this grid and the cells the skip
278
+ * left alone still hold what the source does; one laid out anew (`empty()`, a compaction, a
279
+ * reflow) drops them ({@link _optionsFresh}).
280
+ */
281
+ protected _optionsAt(coords: IRange.Coords | null): Omit<IRange.IteratorOptions, 'axis'> & {
282
+ axis?: IRange.Axis;
283
+ };
284
+ /** Whether this range's own options skip anything. */
285
+ protected _hasSkips(): boolean;
286
+ /**
287
+ * Iterator options with their skips asked in the GRID's indexes rather than this range's: what
288
+ * the grid's own iterators take. The options themselves when they skip nothing.
289
+ */
290
+ protected _skipsOnGrid<O extends IRange.IteratorOptions>(options: O): O;
192
291
  protected _createBuilder(axis?: IRange.Axis): Tuple.IBuilder;
193
- protected _applyBuilder(values: ISparseGrid<Scalar>, builder: Tuple.IBuilder, clone?: boolean): ISparseGrid<Scalar>;
194
- protected _cloneFromBuilder(builder: Tuple.IBuilder | undefined, deletes?: ISpatialMap.IConflatingEntries | null): this;
292
+ /**
293
+ * Writes `region` into `values`: its clears first, unless `fresh` (a grid that stores nothing
294
+ * there), then its tuples.
295
+ */
296
+ protected _applyRegion(values: ISparseGrid<Scalar>, region: Tuple.Region | null, fresh: boolean): void;
297
+ /**
298
+ * @param absentValue What the result's absent cells read as. Defaults to this range's own: the
299
+ * result is this grid written into, so what it lacked it still lacks. A caller whose writes
300
+ * changed that says so (`map`; `_fillAbsent`, which wrote it out).
301
+ */
302
+ protected _cloneFromBuilder(builder: Tuple.IBuilder | undefined, deletes?: ISpatialMap.IConflatingEntries | null, fresh?: boolean, absentValue?: Scalar): this;
303
+ /** {@link _cloneFromBuilder} from a built region, whose clears are applied with the deletes. */
304
+ protected _cloneFromRegion(region: Tuple.Region | null, deletes?: ISpatialMap.IConflatingEntries | null, fresh?: boolean, absentValue?: Scalar): this;
195
305
  protected _coerceValue<TS extends Scalar>(fromValue: Scalar, toType: ScalarType, options?: IRange.ValueOptions, fromType?: ScalarType): TS;
196
306
  protected _mergeIterators<T = Scalar>(that: Range, callbackFn?: (a: T, b: T, coords: IRange.CellCoords, range: IRange) => T, options?: IRange.IteratorOptions): Tuple.IBuilder;
197
- protected _newRange(values: ISparseGrid<Scalar>, coords: IRange.Coords | null, optionsIterator?: IRange.IteratorOptions | null, isLiteral?: boolean, isDirectScalar?: boolean): this;
307
+ protected _newRange(values: ISparseGrid<Scalar>, coords: IRange.Coords | null, optionsIterator?: IRange.IteratorOptions | null, isLiteral?: boolean, isDirectScalar?: boolean, absentValue?: Scalar): this;
198
308
  /** @inheritdoc IRange.isIRange */
199
309
  get isIRange(): true;
200
310
  }
@@ -215,7 +325,7 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
215
325
  export declare class _VisibleScopedRange extends Range {
216
326
  protected _visibleCoords: readonly IRange.Coords[];
217
327
  constructor(runtime: IRuntime, values: ISparseGrid<Scalar>, coords: IRange.Coords, visibleCoords: readonly IRange.Coords[]);
218
- /** {@inheritDoc IRange.getStats} */
219
- getStats(options?: IRange.IteratorOptions): IRangeStats;
328
+ /** The rescoped stats; `getStats` (the typed-read fault) is inherited and reads through here. */
329
+ protected _getStats(options?: IRange.IteratorOptions): IRangeStats;
220
330
  }
221
331
  //# sourceMappingURL=Range.d.ts.map