@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
@@ -1,209 +1,458 @@
1
- import { IRange, FormulaError, Scalar, IFormulaContext } from '@sheetxl/primitives';
1
+ import { IRange, Scalar, IRuntime, FormulaError } from '@sheetxl/primitives';
2
+ import { CoordUtils, RunCoords } from '@sheetxl/utils';
3
+ import { ITypes } from '../../type';
2
4
  import { IListener } from '../../listener';
3
5
  import { ListenerEmitter } from '../../listener/ListenerEmitter';
4
- import { Tuple, ISpatialQuery, ISparseGrid, ISpatialMap, ISpatialMap3D } from '../../collections';
5
- import { IContextContainer, CalcNode } from '../state';
6
- import { SpillEntry, FormulaSpatialValue, ContentfulSpatialValue, PrecedentSpatialValue, CircularEntry } from '../spatial';
7
- import { IFormulaBlock } from '../formula';
8
- import { ReferenceCoords } from '../Types';
6
+ import { ITransaction } from '../../transaction';
7
+ import { ISpatialMap, ISpatialQuery, ISparseGrid, Tuple } from '../../collections';
8
+ import { RangeStats } from '../../primitives/RangeStats';
9
9
  import { ICalculation } from '../ICalculation';
10
+ import { IFormulaBlockView } from '../formula';
11
+ import { NamedReference } from '../Types';
12
+ import { ContentfulSpatialValue, SpillEntry, CircularEntry } from '../spatial';
10
13
  import { ICalcGrid } from './ICalcGrid';
14
+ import { FormulaEntry } from './FormulaEntry';
11
15
  /**
12
- * ICalcGrid implementation
16
+ * The grid as the model holds it (DESIGN-CALC-SERVICE §13.23, §13.24): the synchronous half of
17
+ * every implementation, in front of a backend that answers late or not at all.
18
+ *
19
+ * @remarks
20
+ * Owns what a cell holds - the formulas as the model wrote them, text per run; the values, both
21
+ * the literals it entered and the answers the engine vended; and the indexes over them (the
22
+ * contentful summary, the array extents, the error values, the calc status) - versioned in the
23
+ * model's own transaction store, so an undo restores them with everything else the operation
24
+ * wrote. Each formula entry carries the view of the compiled block the backend vends for it.
25
+ * Every write lands here first, in the caller's transaction, and is then forwarded to the backend
26
+ * as the same verb; what the backend answers with is folded into the snapshot the request named
27
+ * and every later one, where what the request was made against is still there, and dropped where
28
+ * something newer wrote ({@link _adopt}, {@link _applyValueVend}). So an undo lands on maps that
29
+ * already carry the engine's answer for them, with no round trip.
30
+ *
31
+ * The backend is an {@link ICalcGrid.Backend}: the in-process engine grid, a message-passing
32
+ * proxy under a worker, and nothing at all is what an `Off` engine amounts to (the channel
33
+ * records nothing, so the text here is the whole truth until a start seeds the engine from it).
34
+ * The same code in every case; only the delegate differs.
13
35
  */
14
36
  export declare class CalcGrid implements ICalcGrid {
37
+ protected readonly _backend: ICalcGrid.Backend;
38
+ protected readonly _calculation: ICalculation | null;
39
+ protected readonly _transactions: ITransaction.IStore;
40
+ protected readonly _stateId: string;
41
+ protected readonly _host: CalcGrid.HostOptions;
42
+ protected readonly _valuesAxis: IRange.Axis;
43
+ protected readonly _runtime: IRuntime;
44
+ /** See {@link CalcGrid.ConstructorOptions.sizeOf}. */
45
+ protected readonly _sizeOf: string | undefined;
46
+ /** The aggregate cache over the values; bound to the map INSTANCE, so it follows every clone. */
47
+ protected _rangeStats: RangeStats;
15
48
  /**
16
- * This is MOSTLY set by the user but spills also contribute.
17
- * * Trying to keep lookups to a bare minimum.
18
- */
19
- _values: ISparseGrid<Scalar>;
20
- _spillSpatial: ISpatialMap<SpillEntry>;
21
- _errorSpatial: ISpatialMap<string>;
22
- _pendingSpatial: ISpatialMap<boolean>;
23
- _circularSpatial: ISpatialMap<CircularEntry>;
24
- _contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
25
- _notifyValues: ISpatialMap;
26
- _notifySpillsInsert: ISpatialMap.Entry<SpillEntry>[];
27
- _notifySpillsRemove: IRange.Coords[];
28
- _notifyFormats: ISpatialMap;
29
- _notifyPending: ISpatialMap<boolean>;
30
- _notifyCircular: ISpatialMap<CircularEntry | false>;
31
- _cloneKey?: CalcGrid;
32
- _version: number;
33
- _iterationId: number;
34
- _gridId: string;
35
- _options: CalcGrid.ConstructorOptions;
36
- _getEntireCoords: () => IRange.Coords;
37
- /**
38
- * @see CalcGrid.ConstructorOptions.unanchored
39
- */
40
- readonly _unanchored: boolean;
41
- _container: IContextContainer;
42
- _context: IFormulaContext;
43
- _calculation: ICalculation | null;
49
+ * Bumped whenever the value map is mutated IN PLACE (a vend that landed on this grid's own
50
+ * instance, a load): what {@link getErrorValues} invalidates its cached view by, since the
51
+ * map's identity does not change then.
52
+ */
53
+ protected _errorEpoch: number;
54
+ /** The reconciled error-VALUE view; see {@link getErrorValues}. */
55
+ protected _errorReconciled: {
56
+ values: ISparseGrid<Scalar>;
57
+ epoch: number;
58
+ spatial: ISpatialMap<boolean>;
59
+ } | null;
60
+ /** Savepoints a write was made under that rolled back since: their answers are dropped. */
61
+ protected _deadSavepoints: Set<string> | null;
62
+ /**
63
+ * Its own store, never open, so every event is delivered as it happens: what an
64
+ * `onInputsWritten` listener writes has to join the operation still open, and every answer is
65
+ * told, not merged into the first.
66
+ */
44
67
  protected _emitter: ListenerEmitter<ICalcGrid, ICalcGrid.IListeners> | null;
45
- protected _isProcessingJSON: boolean;
46
- protected _onCalculated: (results: ICalcGrid.Results) => void;
47
- constructor(options?: CalcGrid.ConstructorOptions);
48
- /** @inheritdoc ICalcGrid.beginUpdates */
49
- beginUpdates(): ICalcGrid.IncrementalUpdates;
50
- /** {@inheritDoc ICalcGrid.calculate} */
51
- calculate(full?: boolean): Promise<ICalculation.Status>;
52
- /** {@inheritDoc ICalcGrid.addListeners} */
53
- addListeners(listeners: ICalcGrid.IListeners, options?: IListener.Options): IListener.Remove;
54
- /** @inheritdoc ICalcGrid.clone */
55
- shift(options: ICalcGrid.ShiftOptions): this;
56
- /** @inheritdoc ICalcGrid.clone */
57
- clone(cloneKey?: any): this;
58
- /** @inheritdoc ICalcGrid.setInputs */
59
- setInputs(values: Tuple.BoundedTuples<Scalar> | null, formulas: readonly ISpatialMap.Entry<string>[] | null): IRange.Coords[];
60
- /** {@inheritDoc ICalcGrid.remove} */
61
- remove(range: IRange.Coords): IRange.Coords[];
62
- /** {@inheritDoc ICalcGrid.autoFill} */
63
- autoFill(template: IRange.Coords | string, destination: IRange.Coords | string): this;
64
- /** {@inheritDoc ICalcGrid.getEntireCoords} */
65
- delete(): void;
66
- /** {@inheritDoc ICalcGrid.markDirtyRegion} */
67
- markDirtyRegions(coords: IRange.Coords[]): void;
68
- /** @inheritdoc ICalcGrid.getId */
69
- getId(): string;
70
- /** {@inheritDoc ICalcGrid.getEntireCoords} */
71
- getEntireCoords(): IRange.Coords;
72
- /** {@inheritDoc ICalcGrid.getBoundingRange} */
73
- getBoundingRange(): IRange.Coords | null;
74
- /** @inheritdoc ICalcGrid.getValues */
75
- getValues(): ISparseGrid<Scalar>;
76
- /** {@inheritDoc ICalcGrid.getDirtyRegions} */
77
- getDirtyRegions(): ISpatialQuery;
68
+ protected _closed: boolean;
69
+ constructor(options: CalcGrid.ConstructorOptions);
70
+ /**
71
+ * Open this grid's maps from a content record, replacing what they hold: the formulas, the
72
+ * values, their contentful summary, the error ones among them, the array extents the record
73
+ * carries and the volatile regions it lists. The same record the backend is opened from.
74
+ */
75
+ protected _loadContent(json: ICalcGrid.JSON, write: CalcGrid.Writer): void;
76
+ /** The backend this grid forwards to. @internal */
77
+ _getBackend(): ICalcGrid.Backend;
78
+ /** {@inheritDoc ICalcGrid.getStateId} */
79
+ getStateId(): string;
80
+ /**
81
+ * This grid's record: the current one, or the one `transaction` sees.
82
+ *
83
+ * @remarks
84
+ * A read through the store makes the writes a cell buffer holds first ({@link getStateId} is
85
+ * in its list), which is what keeps a reader from seeing the sheet without them. The paths that
86
+ * answer a cell FROM those held writes must not make them, so they read through the buffer's
87
+ * own transaction.
88
+ */
89
+ protected _getState(transaction?: ITransaction | null): Readonly<CalcGrid.State>;
90
+ /**
91
+ * This grid's record as it was at a commit; the current one for the operation in progress;
92
+ * `undefined` for a commit the store no longer has on its live history.
93
+ */
94
+ protected _getStateAt(commitId: string): Readonly<CalcGrid.State> | undefined;
95
+ /** {@inheritDoc ICalcGrid.getFormulaAt} */
96
+ getFormulaAt(row: number, column: number): FormulaEntry | null;
78
97
  /** {@inheritDoc ICalcGrid.getFormulas} */
79
- getFormulas(): ISpatialQuery<IFormulaBlock>;
98
+ getFormulas(transaction?: ITransaction | null): ISpatialQuery<FormulaEntry>;
99
+ /** {@inheritDoc ICalcGrid.getValues} */
100
+ getValues(transaction?: ITransaction | null): ISparseGrid<Scalar>;
101
+ /** {@inheritDoc ICalcGrid.getContentful} */
102
+ getContentful(transaction?: ITransaction | null): ISpatialMap<ContentfulSpatialValue>;
80
103
  /** {@inheritDoc ICalcGrid.getSpills} */
81
- getSpills(): ISpatialQuery<SpillEntry>;
82
- /** {@inheritDoc ICalcGrid.getSnapshot} */
83
- getSnapshot(options?: ICalcGrid.GetSnapshotOptions): ICalcGrid.ISnapshot;
84
- /** {@inheritDoc ICalcGrid.getDirectDependentsAt} */
85
- getDirectDependentsAt(coords: IRange.Coords): IRange.Coords[];
86
- /** {@inheritDoc ICalcGrid.getDirectPrecedentsAt} */
87
- getDirectPrecedentsAt(coords: IRange.Coords): IRange.Coords[];
104
+ getSpills(transaction?: ITransaction | null): ISpatialMap<SpillEntry>;
105
+ /** {@inheritDoc ICalcGrid.getPending} */
106
+ getPending(transaction?: ITransaction | null): ISpatialMap<boolean>;
107
+ /** {@inheritDoc ICalcGrid.getCalcErrors} */
108
+ getCalcErrors(transaction?: ITransaction | null): ISpatialMap<string>;
109
+ /** {@inheritDoc ICalcGrid.getCirculars} */
110
+ getCirculars(transaction?: ITransaction | null): ISpatialMap<CircularEntry>;
111
+ /** {@inheritDoc ICalcGrid.getVolatileRegions} */
112
+ getVolatileRegions(): IRange.Address[] | null;
113
+ /** {@inheritDoc ICalcGrid.getRangeStats} */
114
+ getRangeStats(): RangeStats;
115
+ /** {@inheritDoc ICalcGrid.getErrorValues} */
116
+ getErrorValues(): ISpatialMap<boolean>;
88
117
  /**
89
- * One hop of a transitive walk, taken on whichever GRID the coord names.
118
+ * A write to this grid's own maps, in the caller's transaction: each map the write asks for is
119
+ * cloned once, and a map the open savepoint has already cloned is handed back and updated in
120
+ * place. Nothing asked for is nothing copied.
90
121
  *
91
122
  * @remarks
92
- * `getDirect*At` are grid-local by construction — they search their own grid and answer with
93
- * `scope` set only where a neighbor is elsewhere. A walk therefore cannot keep asking `this`:
94
- * once it steps onto `Sheet2!C3` the next hop belongs to Sheet2, and asking Sheet1 for `C3`
95
- * reads a different cell entirely. Results come back bare-relative to the grid that produced
96
- * them, so they are re-expressed against the walk's own anchor before being handed back.
123
+ * The model's own mutation paths take the writer directly ({@link _beginWrite}): a literal
124
+ * entry, a clear or a shift writes the values beside what it writes of its own, in one
125
+ * transaction, and cannot be expressed as one call.
97
126
  * @internal
98
127
  */
99
- private _directAcrossGrids;
100
- /** {@inheritDoc ICalcGrid.getDependentsAt} */
101
- getDependentsAt(coords: IRange.Coords): IRange.Coords[];
102
- /** {@inheritDoc ICalcGrid.getPrecedentsAt} */
103
- getPrecedentsAt(coords: IRange.Coords): IRange.Coords[];
104
- /** {@inheritDoc ICalcGrid.getFormulaBlockAt} */
105
- getFormulaBlockAt(row: number, column: number): IFormulaBlock | null;
106
- /** {@inheritDoc ICalcGrid.getReferencesAt} */
107
- getReferencesAt(row: number, column: number): ReferenceCoords[];
128
+ _beginWrite(options?: ICalcGrid.RequestOptions, isInput?: boolean): CalcGrid.Writer;
129
+ /** One write, begun and committed: what the verbs use. */
130
+ protected _write(mutate: (write: CalcGrid.Writer) => void, options?: ICalcGrid.RequestOptions, isInput?: boolean): void;
131
+ /** A bookkeeping write: folded into the commit the store is at, or the operation in progress. */
132
+ protected _amend(update: Partial<CalcGrid.State>): void;
133
+ /** {@inheritDoc ICalcGrid.setInputs} */
134
+ setInputs(values: Tuple.Region<Scalar> | null, formulas: readonly ISpatialMap.Entry<string>[] | null, options?: ICalcGrid.SetInputsOptions): Promise<ICalcGrid.Results>;
135
+ /**
136
+ * What a write of inputs changes beside the formulas: the values, which cells hold one, the
137
+ * array extents the write replaces or enters, and the error and cycle indexes over the cells.
138
+ */
139
+ protected _writeInputValues(write: CalcGrid.Writer, tuples: Tuple.GridTuple<Scalar> | undefined, formulas: readonly ISpatialMap.Entry<string>[] | null, arrayFixed: IRange.Coords | undefined): void;
140
+ /**
141
+ * What emptying cells changes beside the formulas: the values go, and with them their
142
+ * contentful summary, the error and cycle indexes over them, and the extent of an array
143
+ * anchored among them.
144
+ */
145
+ protected _removeInputValues(write: CalcGrid.Writer, coords: IRange.Coords): void;
146
+ /** {@inheritDoc ICalcGrid.remove} */
147
+ remove(coords: IRange.Coords, options?: ICalcGrid.RemoveOptions): Promise<ICalcGrid.Results>;
148
+ /**
149
+ * What a shift moves beside the formulas: the values and their contentful summary, the array
150
+ * extents - a fixed array the range touches is set aside and put back where the shift takes it -
151
+ * and the error values. An insert refuses to push content off the grid.
152
+ */
153
+ protected _shiftInputValues(write: CalcGrid.Writer, range: IRange.Coords, direction: IRange.Direction): void;
154
+ /** What an insert checks every extent it moves against: the grid's own bounds. */
155
+ protected _insertValidator(): CoordUtils.CoordValidator;
156
+ /** {@inheritDoc ICalcGrid.shift} */
157
+ shift(options: ICalcGrid.ShiftOptions): Promise<ICalcGrid.Results>;
158
+ /** {@inheritDoc ICalcGrid.autoFill} */
159
+ autoFill(template: IRange.Coords | string, destination: IRange.Coords | string, options?: ICalcGrid.RequestOptions): Promise<ICalcGrid.Results>;
160
+ /** {@inheritDoc ICalcGrid.getSnapshot} */
161
+ getSnapshot(options?: ICalcGrid.GetSnapshotOptions): ICalcGrid.ISnapshot;
162
+ /**
163
+ * Copy the entries over `from` in `snapshot` into this grid's map at `to`, in the current
164
+ * transaction, and return them as the text the backend is handed.
165
+ * @internal
166
+ */
167
+ _copyFormulaEntries(snapshot: ISpatialMap<FormulaEntry>, from: IRange.Coords, to: IRange.Coords, copyOptions: FormulaEntry.CopyOptions, options?: ICalcGrid.RequestOptions): ISpatialMap.Entry<string>[];
168
+ /** {@inheritDoc ICalcGrid.seed} */
169
+ seed(json: ICalcGrid.JSON, options?: ICalcGrid.SeedOptions): Promise<ICalcGrid.Results>;
170
+ /** {@inheritDoc ICalcGrid.revert} */
171
+ revert(options: ICalcGrid.RevertOptions): Promise<ICalcGrid.Results>;
172
+ /** {@inheritDoc ICalcGrid.delete} */
173
+ delete(options?: ICalcGrid.RequestOptions): void;
174
+ /**
175
+ * Whether the grid is in the model as the store is now: not closed, made at or before the
176
+ * current snapshot, and not deleted there.
177
+ * @internal
178
+ */
179
+ _isLive(): boolean;
108
180
  /** {@inheritDoc ICalcGrid.setReferenceAt} */
109
- setReferenceAt(row: number, column: number, index: number, precedent: IRange.FixableCoords | IRange.FixableCellCoords | FormulaError.Ref): this;
181
+ setReferenceAt(row: number, column: number, index: number, precedent: IRange.FixableCoords | IRange.FixableCellCoords | NamedReference | FormulaError.Ref): Promise<IFormulaBlockView | null>;
182
+ /** {@inheritDoc ICalcGrid.setReferenceModeAt} */
183
+ setReferenceModeAt(row: number, column: number, index: number, side?: ICalculation.ReferenceSide, mode?: number): Promise<IFormulaBlockView | null>;
184
+ /** {@inheritDoc ICalcGrid.calculate} */
185
+ calculate(full?: boolean): Promise<ICalculation.Status>;
186
+ /** {@inheritDoc ICalcGrid.markDirtyRegions} */
187
+ markDirtyRegions(coords: IRange.Coords[]): void;
188
+ /**
189
+ * Send a formula this grid holds to the engine again, without writing it here: an engine grid
190
+ * made since it was written. The answer lands as any answer does.
191
+ * @internal
192
+ */
193
+ _resendFormula(coords: IRange.Coords, text: string): Promise<ICalcGrid.Results>;
194
+ /** Whether a sheet owns this grid: see {@link CalcGrid.HostOptions.isOwned}. @internal */
195
+ _isOwned(): boolean;
196
+ /** {@inheritDoc ICalcGrid.Backend.requestPass} @internal */
197
+ _requestPass(): void;
198
+ /** {@inheritDoc ICalcGrid.getGraphNeighborsAt} */
199
+ getGraphNeighborsAt(coords: IRange.Coords, kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
200
+ /** {@inheritDoc ICalcGrid.Backend.getNameGraph} @internal */
201
+ _getNameGraph(kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
202
+ /** {@inheritDoc ICalcGrid.evaluateAt} */
203
+ evaluateAt(row: number, column: number, options?: number | ICalculation.EvaluateOptions): Promise<Scalar | IRange>;
204
+ /** `true` once closed: its state is gone. @internal */
205
+ _isClosed(): boolean;
206
+ /**
207
+ * Whether the snapshot the store is at holds this grid's maps: a restore to a commit older than
208
+ * the grid leaves it none. @internal
209
+ */
210
+ _hasState(): boolean;
211
+ /** {@inheritDoc ICalcGrid.Backend.evaluateScalarAt} @internal */
212
+ _evaluateScalarAt(row: number, column: number, evalIndex?: number): Promise<Scalar>;
213
+ /**
214
+ * Write a body as authored: the engine anchors it and answers with the record, which lands here
215
+ * as any answer does. Nothing is written here first - the text is the engine's to make.
216
+ * @internal
217
+ */
218
+ _setBody(options: ICalcGrid.BodyOptions): Promise<ICalcGrid.Results>;
110
219
  /** {@inheritDoc ICalcGrid.isVolatileAt} */
111
- isVolatileAt(row: number, column: number): boolean;
112
- protected _formulaAt(row: number, column: number): ISpatialMap.Entry<FormulaSpatialValue> | null;
220
+ isVolatileAt(row: number, column: number): Promise<boolean>;
221
+ /** {@inheritDoc ICalcGrid.addListeners} */
222
+ addListeners(listeners: ICalcGrid.IListeners, options?: IListener.Options): IListener.Remove;
223
+ protected _notify<T>(key: keyof ICalcGrid.Events, params: T): void;
224
+ /** {@inheritDoc ICalcGrid.getEntireCoords} */
225
+ getEntireCoords(): IRange.Coords;
226
+ /** {@inheritDoc ICalcGrid.resize} */
227
+ resize(entireCoords: IRange.Coords, options?: ICalcGrid.RequestOptions): void;
228
+ /** {@inheritDoc ICalcGrid.setHidden} */
229
+ setHidden(axis: IRange.Axis, runs: readonly RunCoords[], options?: ICalcGrid.RequestOptions): void;
230
+ /** {@inheritDoc ICalcGrid.setFiltered} */
231
+ setFiltered(filtered: boolean, options?: ICalcGrid.RequestOptions): void;
232
+ /**
233
+ * Holds what the owner says of itself - its size, what it hides, whether it is filtered - in the
234
+ * caller's operation: an undo restores it with whatever changed it.
235
+ */
236
+ protected _holdOwnerState(update: Pick<Partial<CalcGrid.State>, 'hiddenRows' | 'hiddenColumns' | 'filtered' | 'entireCoords'>): void;
237
+ /** {@inheritDoc ICalcGrid.getId} */
238
+ getId(): string;
239
+ /** {@inheritDoc ICalcGrid.toJSON} */
240
+ toJSON(options?: ICalcGrid.ToJSONOptions): Promise<ICalcGrid.JSON | null>;
113
241
  /**
114
- * Create non error spill entries for move/copy.
242
+ * What a start seeds the backend from: this map's formulas and every value the host holds. A
243
+ * host with nothing yet still seeds (an empty record), so the engine runs its full pass and
244
+ * answers for it.
245
+ * @internal
115
246
  */
116
- protected _createCopySpillEntries(spillSpatial: ISpatialMap<SpillEntry>, from: IRange.Coords, to: IRange.Coords, reuseInserts?: ISpatialMap.Entry<SpillEntry>[] | null, reuseRemoves?: ISpatialMap.Entry<SpillEntry>[] | null): ISpatialMap.Updates;
247
+ _seedContent(): ICalcGrid.JSON | null;
117
248
  /**
118
- * Because the formula we are copying from maybe have been compiled using
119
- * a different calculation context we have to serialize back to the formula string.
249
+ * This grid's content as its calc JSON (DESIGN-CALC-SERVICE §6.6): the same record a save
250
+ * writes, and what a start opens the backend from. The formulas, the array extents, the
251
+ * volatile regions, the rows and columns the owner hides and - with `includeData` - the values
252
+ * are all this grid's own; a volatile region is kept only where a formula still sits.
120
253
  *
121
- * @param gridExplicitId The grid context to compile in AND the scope prefix added to unqualified refs.
122
- * For formula-move: the source grid (refs get source-grid prefix). For precedent-move: the
123
- * destination grid (refs get destination-grid prefix).
124
- * @param targetScope If provided, the formula entry scope after re-anchoring. Defaults to this._gridId.
125
- * Use from.scope when re-anchoring formulas that stay in the source sheet.
254
+ * A pending entry is written as its own text; a compiled one images its block where it sits.
255
+ * @internal
256
+ */
257
+ _content(options?: ICalcGrid.ToJSONOptions): ICalcGrid.JSON | null;
258
+ /** The array extents a load carries, as spill entries. */
259
+ protected _spillsFromJSON(formulaArray: readonly IRange.JSONReferenceTuple<ITypes.FormulaArrayKind>[]): ISpatialMap.Entry<SpillEntry>[];
260
+ protected _entriesFromJSON(formulas: readonly IRange.JSONReferenceTuple<string>[]): ISpatialMap.Entry<FormulaEntry>[];
261
+ /**
262
+ * What the backend pushed (a pass's results, a seed's): the formula half is adopted here, then
263
+ * the host hears the whole record.
264
+ * @internal
265
+ */
266
+ _onCalculated(results: ICalcGrid.Results): void;
267
+ /**
268
+ * What a verb's answer goes through: the formula half adopted, unless the savepoint the
269
+ * request was made under (read now, as the request is made) has rolled back since.
270
+ */
271
+ protected _adopter(): (results: ICalcGrid.Results) => ICalcGrid.Results;
272
+ /**
273
+ * The block a reference edit answered with, adopted into the entry over that cell, inside the
274
+ * batch that asked for the edit.
275
+ */
276
+ protected _adoptAt(row: number, column: number, block: IFormulaBlockView | null): IFormulaBlockView | null;
277
+ /**
278
+ * The snapshots a record lands in, oldest first: the one it names, every later one on the
279
+ * live history, and the operation in progress if there is one.
126
280
  *
127
- * @remarks
128
- * This modifies the insert in place.
281
+ * @returns `null` when the record answers for a snapshot off the live history (undone, rolled
282
+ * back, pruned) or one this grid did not exist at: nothing it says is true anywhere. A record
283
+ * naming no snapshot, or the operation in progress, is current by construction.
129
284
  */
130
- protected _reanchorFormulas(inserts: ISpatialMap.Entry<FormulaSpatialValue>[], gridExplicitId?: string | null, targetScope?: string | null, force?: boolean): void;
285
+ protected _vendSnapshots(commitId: string | undefined): VendSnapshot[] | null;
131
286
  /**
132
- * Will copy tiles and invalidate relative precedents that are out
133
- * of bounds.
287
+ * The snapshot before the one a record names, or `null` when it is the first: a map instance
288
+ * the record's snapshots share with it is history's, and is cloned before the record lands.
134
289
  */
135
- protected _copyTo(snapshot: CalcGridSnapshot, from: IRange.Coords, to: IRange.Coords): void;
290
+ protected _vendParentState(requested: VendSnapshot): Readonly<CalcGrid.State> | null;
291
+ /** Fold a vend's maps into a snapshot: a bookkeeping write, never an edit. */
292
+ protected _writeVend(snapshot: VendSnapshot, update: Partial<CalcGrid.State>): void;
136
293
  /**
137
- * Will update absolute precedents from precedentEntries relative precedents get shifted
294
+ * Adopt the formula half of a result record: the views the backend vends, onto the entries
295
+ * they were compiled for.
296
+ *
297
+ * @remarks
298
+ * A block that spells the entry's formula (`sum(a1)` compiled to `SUM(A1)`, or the same block
299
+ * vended again on a full pass) is patched into the entry IN PLACE: it is the same formula, so
300
+ * every snapshot that holds the entry carries it, and a handle taken before the vend reads
301
+ * the block through the same object. A block whose formula differs - a reference re-imaged
302
+ * by a shift, a `#REF!` - or a change to the map's shape (a split, a cleared region, a block
303
+ * minted where the map held nothing) is model state: it is written to a clone of the map and
304
+ * folded into the snapshot the record names, so an undo restores the map as it was before the
305
+ * operation that caused it, and never the pending text of a request that has been answered.
306
+ *
307
+ * The record is applied to the snapshot it names first, then to every later snapshot on the
308
+ * live history, where it changes only what nothing newer has written: an entry is settled
309
+ * when the named snapshot holds the same entry at the same cells, and a region is settled when
310
+ * every entry over it is - the newer write's own resolution carries the truth for the rest. A
311
+ * record naming a snapshot off the live history is dropped whole: the backend's revert
312
+ * re-vends every block a restore exposes. On a full record every entry's block is dropped
313
+ * first; the record lists every block.
138
314
  */
139
- protected _moveTo(snapshot: CalcGridSnapshot, from: IRange.Coords, to: IRange.Coords): void;
140
- protected _notifyCalculated(cycleId: number, options: ICalculation.CalculateOptions | boolean): Promise<ICalcGrid.Results>;
141
- protected _setInputs(values: Tuple.BoundedTuples<Scalar> | null, formulas: readonly ISpatialMap.Entry<string>[] | null, deleteRange?: IRange.Coords): IRange.Coords[];
315
+ protected _adopt(results: ICalcGrid.Results, vended?: readonly VendSnapshot[]): void;
142
316
  /**
143
- * Used before loading a new state
317
+ * Land the value half of a record - values, spills, errors, pending and circular marks - in the
318
+ * snapshots it answers for, by ownership (DESIGN-CALC-SERVICE §13.18).
319
+ *
320
+ * @remarks
321
+ * Every item has one owner, and a snapshot's formula map says which: a cell holding a formula
322
+ * entry is the engine's, one holding none is the model's, a spill cell is the engine's through
323
+ * its anchor. So an item lands in a snapshot where that snapshot's map holds, over the item,
324
+ * what the requested snapshot's map held: the requested snapshot itself everywhere, a later one
325
+ * wherever nothing newer wrote. An item that a later write cut into is split at the ownership
326
+ * boundary when its payload is per cell (a value run, a pending or error mark, which the maps
327
+ * merge across neighbors) and left whole when it is one thing (a spill extent, a cycle). A full
328
+ * record clears an engine-owned map, keeping what a later snapshot owns.
329
+ *
330
+ * The maps are the snapshots' own instances, shared by reference until a write clones them, so
331
+ * each distinct instance is written once, settled for every snapshot that holds it. In-process
332
+ * the list is the requested snapshot alone and this is one write, as it always was. Nothing
333
+ * here goes through the caller's transaction: these are the backend's answers, regenerated by
334
+ * any pass.
144
335
  */
145
- protected _clearAll(): void;
146
- /** {@inheritDoc ICalcGrid.fromJSON} */
147
- fromJSON(json: ICalcGrid.JSON, options?: ICalcGrid.FromJSONOptions): ICalcGrid.Results | undefined;
148
- /** {@inheritDoc ICalcGrid.fromJSON} */
149
- toJSON(options?: ICalcGrid.ToJSONOptions): Promise<ICalcGrid.JSON | null>;
336
+ protected _applyValueVend(results: ICalcGrid.Results, snapshots: readonly VendSnapshot[]): void;
337
+ /** {@inheritDoc ICalcGrid.close} */
338
+ close(): void;
339
+ get [Symbol.toStringTag](): string;
150
340
  }
151
341
  export declare namespace CalcGrid {
152
342
  /**
153
- * Options available when creating a CalcGrid.
343
+ * Everything the grid holds for the model, versioned in the model's own store
344
+ * (DESIGN-CALC-SERVICE §13.23, §13.24): what the model wrote and what the backend answered
345
+ * with, one record per commit, so an undo restores them with the operation that wrote them.
154
346
  */
155
- interface ConstructorOptions {
156
- /**
157
- * The calculation instance that will be used to calculate the grid.
158
- *
159
- * @remarks
160
- * Required as this will contain the context
161
- */
162
- context: IFormulaContext;
347
+ interface State {
348
+ /** The formulas as the model wrote them, one entry per run, with the backend's view where it has vended one. */
349
+ formulaSpatial: ISpatialMap<FormulaEntry>;
350
+ /** The values: the literals the model entered and the answers the engine vended, one map. */
351
+ cellValuesGrid: ISparseGrid<Scalar>;
352
+ /** Which cells hold a value, per run: the summary index over {@link cellValuesGrid}. */
353
+ contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
354
+ /** The array extents: what the file said, what an array entry wrote, what the engine vended. */
355
+ spillSpatial: ISpatialMap<SpillEntry>;
163
356
  /**
164
- * handler for calculation callbacks.
165
- *
166
- * @remarks
167
- * The container contains information shared across all grids
357
+ * The volatile regions the file listed: what an `Off` save writes back and a seed carries,
358
+ * kept where a formula still sits under them. What the engine knows once it is up it answers
359
+ * itself; this list is not shifted by a structural change.
168
360
  */
169
- container: IContextContainer;
361
+ volatile: IRange.Address[] | null;
362
+ /** Cells the engine has not answered for yet. */
363
+ pendingSpatial: ISpatialMap<boolean>;
364
+ /** Engine FAILURES by cell, as a message. Not error values - those are in the values. */
365
+ calcErrorsSpatial: ISpatialMap<string>;
170
366
  /**
171
- * For status listening
367
+ * Cells in a reference cycle or downstream of one, by cycle (DESIGN-CIRCULAR-CALC.md §7.2).
368
+ * Maintained from the executor's deltas, like {@link pendingSpatial}.
172
369
  */
173
- calculation: ICalculation | null;
370
+ circularSpatial: ISpatialMap<CircularEntry>;
174
371
  /**
175
- * A callback that is called when the calculation is completed.
176
- *
177
- * @remarks
178
- * This will persist through clones.
372
+ * Error VALUES by cell, as the WRITE path knows them: fresh for what the model entered and
373
+ * stale for formula cells, which is why {@link CalcGrid.getErrorValues} reconciles it against
374
+ * the values rather than answering from it. It collapses into the values once the executor
375
+ * emits error deltas.
179
376
  */
180
- onCalculated?: (results: ICalcGrid.Results) => void;
377
+ errorSpatial: ISpatialMap<boolean>;
378
+ /** The grid was deleted - a sheet's removal - in this snapshot or before it. */
379
+ deleted: boolean;
380
+ /** The rows the owner hides, ascending and disjoint; `null` for none. See {@link ICalcGrid.setHidden}. */
381
+ hiddenRows: readonly RunCoords[] | null;
382
+ /** The columns the owner hides, as {@link hiddenRows}. */
383
+ hiddenColumns: readonly RunCoords[] | null;
384
+ /** Whether the owner is filtered. See {@link ICalcGrid.setFiltered}. */
385
+ filtered: boolean;
386
+ /** The grid's size; `null` for one that has the size of its {@link ConstructorOptions.sizeOf} grid. See {@link ICalcGrid.resize}. */
387
+ entireCoords: IRange.Coords | null;
388
+ }
389
+ /**
390
+ * The maps a write may change. Each is cloned once, on first ask, under the caller's key; a map
391
+ * the write never asks for is left as it is and copies nothing.
392
+ */
393
+ interface Writer {
394
+ /** The maps as they stand, for the reads a write makes on its way. Never clones. */
395
+ readonly current: Readonly<State>;
181
396
  /**
182
- * A unique id that never changes for the grid.
397
+ * Reading one clones it, once; assigning one replaces it, for the shifts and rebuilds that
398
+ * answer with a map rather than editing the one they were given.
183
399
  */
184
- uuid?: string;
400
+ formulas: ISpatialMap<FormulaEntry>;
401
+ values: ISparseGrid<Scalar>;
402
+ contentful: ISpatialMap<ContentfulSpatialValue>;
403
+ spills: ISpatialMap<SpillEntry>;
404
+ pending: ISpatialMap<boolean>;
405
+ calcErrors: ISpatialMap<string>;
406
+ circulars: ISpatialMap<CircularEntry>;
407
+ errorValues: ISpatialMap<boolean>;
408
+ /** The volatile regions are a list, not a map: replaced, never edited. */
409
+ volatile: IRange.Address[] | null;
410
+ /** An array extent the write set aside, moved or put back: reported with it. */
411
+ noteArray(extent: IRange.Coords): void;
185
412
  /**
186
- * Returns the entire coordinate bounds for this grid.
187
- * If not provided, defaults to the maximum sheet dimensions.
413
+ * Land what was asked for, in the caller's transaction. A write that lands more than once -
414
+ * a shift, which commits per range so a table sees what moved - lands the same maps again,
415
+ * as they stand.
188
416
  */
189
- getEntireCoords?: () => IRange.Coords;
417
+ commit(): void;
418
+ }
419
+ /** What the host of a grid supplies: the sheet, for a grid that is a sheet's. */
420
+ interface HostOptions {
190
421
  /**
191
- * `true` for a grid whose coordinates are a synthetic anchor rather than positions in a real
192
- * sheet — a named formula's compilation host, or the editor's temporary formula.
193
- *
194
- * @remarks
195
- * Stamped onto every {@link FormulaSpatialValue} this grid creates; see
196
- * `FormulaSpatialValue.unanchored` for what it buys. Defaults to `false` (a sheet).
422
+ * This grid has an owner in the model - a sheet. It seeds the engine at a start even when it
423
+ * holds nothing, so the engine runs its full pass and answers for it; a grid the engine made
424
+ * for itself (a name's host, a conditional format's body) does not.
197
425
  */
198
- unanchored?: boolean;
426
+ isOwned?: boolean;
427
+ /** The grid a copy lands on, by id: another sheet's, or this one. */
428
+ getGrid?: (gridId: string) => CalcGrid | null;
429
+ }
430
+ interface ConstructorOptions extends HostOptions {
431
+ /** What the verbs forward to, and what answers. */
432
+ backend: ICalcGrid.Backend;
433
+ /** For the engine's status: an `Off` save is answered from this map. */
434
+ calculation?: ICalculation | null;
435
+ /** The model's store; every map this grid holds versions in it. A transient one with no model. */
436
+ transactions?: ITransaction.IStore;
437
+ /** What the aggregate cache over the values measures with. */
438
+ runtime: IRuntime;
439
+ /** The orientation of the value tuples a write carries. */
440
+ valuesAxis?: IRange.Axis;
441
+ /** The grid's size, until a seed or a {@link ICalcGrid.resize} says otherwise: a name's fixed one. */
442
+ entireCoords?: IRange.Coords;
443
+ /** The grid whose size this one has, whatever it is then: a body on a sheet. Ignored with {@link entireCoords}. */
444
+ sizeOf?: string;
199
445
  }
200
446
  }
201
- interface CalcGridSnapshot {
202
- calcGrid: CalcGrid;
203
- formulaSpatial: ISpatialMap3D<FormulaSpatialValue>;
204
- precedentSpatial: ISpatialMap3D<PrecedentSpatialValue>;
205
- volatile: Set<CalcNode> | null;
447
+ /** A snapshot a vend lands in: this grid's record there, and whether it is the operation in progress. */
448
+ interface VendSnapshot {
449
+ id: string;
450
+ state: Readonly<CalcGrid.State>;
451
+ open: boolean;
206
452
  }
207
- export declare function valueCompareValues<T>(a: ISpatialMap.Entry<T>, removing: ISpatialMap.Entry<T>): boolean;
453
+ /** Whether `map` holds this very entry at these cells: what nothing newer has written. @internal */
454
+ export declare const holdsFormulaEntry: (map: ISpatialMap<FormulaEntry>, hit: ISpatialMap.Entry<FormulaEntry>) => boolean;
455
+ /** Whether `map` holds, over `region`, exactly the entries `requested` holds there. @internal */
456
+ export declare const sameFormulaEntries: (requested: ISpatialMap<FormulaEntry>, map: ISpatialMap<FormulaEntry>, region: IRange.Coords) => boolean;
208
457
  export {};
209
458
  //# sourceMappingURL=CalcGrid.d.ts.map