@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,80 @@
1
+ import { IRange } from '@sheetxl/primitives';
2
+ /**
3
+ * The rules a reference follows when the cells around it change.
4
+ *
5
+ * @remarks
6
+ * A reference is a rectangle that names cells - a formula's precedent, a range listener's
7
+ * subscription, a watch's location. Everything that holds one has to answer the same questions
8
+ * when the sheet is restructured: where is it after an insert or a delete, when does it become
9
+ * `#REF!`, and when does a cut carry it along. These are those answers, and they live here rather
10
+ * than in the calc graph so that the graph's precedents and the sheet's listeners map cannot
11
+ * disagree - they call the same functions.
12
+ *
13
+ * Nothing here knows about formulas, blocks or grids. A reference is two numbers per axis plus,
14
+ * for a formula, which of its endpoints a structural change is allowed to move.
15
+ *
16
+ * @internal
17
+ */
18
+ /**
19
+ * Shift one axis of a reference the way a structural change shifts a formula precedent.
20
+ *
21
+ * @remarks
22
+ * This is the rule `shiftPrecedents` applies, per axis, to every reference it rewrites, and the
23
+ * rule a range listener's reference follows so that the two can never disagree. A reference is
24
+ * judged on the shifted axis alone - whether it overlaps the inserted or deleted band on the OTHER
25
+ * axis plays no part - which is why `=SUM(A1:C3)` reads `A2:C4` after one cell is inserted at A1
26
+ * shifting down: the whole reference moves, it does not come apart.
27
+ *
28
+ * * An insert (`shiftBy` > 0) moves every endpoint at or past `shiftStart` by `shiftBy`; an
29
+ * endpoint before it stays, so a reference straddling the insert line grows.
30
+ * * A delete (`shiftBy` < 0) whose zone covers the whole reference makes it `#REF!` (`null`); one
31
+ * that covers an end trims that end to the zone's edge; one entirely before the reference moves
32
+ * it whole.
33
+ *
34
+ * An immune endpoint is left exactly as it is, and a reference with an immune endpoint is never
35
+ * `#REF!`: that is a relative endpoint of an unanchored block (a named formula's body), which
36
+ * names no cell for a structural change to move. See the note in `shiftPrecedents`.
37
+ *
38
+ * @param start The reference's absolute start on this axis.
39
+ * @param end The reference's absolute end on this axis.
40
+ * @param shiftStart The first index of the inserted or deleted band.
41
+ * @param shiftBy How far the band moves cells: positive for an insert, negative for a delete.
42
+ * @param deleteEnd The last index of the deleted band; ignored for an insert.
43
+ * @param immuneStart `true` if the start endpoint must not move.
44
+ * @param immuneEnd `true` if the end endpoint must not move.
45
+ * @returns The shifted `[start, end]`, or `null` when the delete removed the whole reference.
46
+ */
47
+ export declare function shiftReferenceAxis(start: number, end: number, shiftStart: number, shiftBy: number, deleteEnd: number, immuneStart?: boolean, immuneEnd?: boolean): [start: number, end: number] | null;
48
+ /**
49
+ * Move one axis of a reference the way a cut moves a formula precedent.
50
+ *
51
+ * @remarks
52
+ * A move is a rigid translation, so unlike a shift there is no zone to compare against and no
53
+ * `#REF!`: both endpoints travel the same distance or neither does. Whether this reference travels
54
+ * at all is {@link isReferenceEnclosed}'s question, asked before this one.
55
+ *
56
+ * An immune endpoint is left exactly as it is. That is a relative endpoint whose own cells are
57
+ * moving by the same amount - the formula and its target translate together, so the offset between
58
+ * them is already right - or one of an unanchored block, which names no cell to re-point.
59
+ *
60
+ * @param start The reference's start on this axis.
61
+ * @param end The reference's end on this axis.
62
+ * @param moveBy How far the cut carries the cells on this axis.
63
+ * @param immuneStart `true` if the start endpoint must not move.
64
+ * @param immuneEnd `true` if the end endpoint must not move.
65
+ */
66
+ export declare function moveReferenceAxis(start: number, end: number, moveBy: number, immuneStart?: boolean, immuneEnd?: boolean): [start: number, end: number];
67
+ /**
68
+ * Whether a cut of `from` carries `reference` with it.
69
+ *
70
+ * @remarks
71
+ * Excel's test, and the graph's: a reference moves only when the cut rectangle FULLY ENCLOSES it.
72
+ * Cut A1:C3 and `=SUM(A1:B2)` follows to the destination; `=SUM(A1:C5)` reaches outside the cut
73
+ * and so is left exactly where it is, pointing at cells that are now empty. There is no partial
74
+ * answer and no split - a reference that is only half carried would name two different rectangles.
75
+ *
76
+ * A formula BLOCK asks a longer version of this question, because each of its cells has a
77
+ * reference of its own and all of them have to be enclosed; see `movePrecedents`.
78
+ */
79
+ export declare function isReferenceEnclosed(reference: Readonly<IRange.Coords>, from: Readonly<IRange.Coords>): boolean;
80
+ //# sourceMappingURL=ReferenceUtils.d.ts.map
@@ -0,0 +1,2 @@
1
+ export * from './ReferenceUtils';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- import { JSONSerializableAsync } from '@sheetxl/utils';
1
+ import { JSONSerializableAsync, MaybePromise } from '@sheetxl/utils';
2
2
  /**
3
3
  * A resource is an item referenced elsewhere with the application.
4
4
  * This will track when a resource is no longer being used and can be removed.
@@ -63,6 +63,26 @@ export interface IResource extends JSONSerializableAsync<IResource.JSON> {
63
63
  * {@link IResource}
64
64
  */
65
65
  export declare namespace IResource {
66
+ /**
67
+ * Writes a single resource wherever the caller wants it, and returns the {@link IResource.JSON}
68
+ * that should stand for it in the serialized model.
69
+ *
70
+ * @param resource The resource being written.
71
+ * @param id The id the serialized model references this resource by.
72
+ *
73
+ * @returns The JSON to record for the resource, or `null` to record nothing.
74
+ *
75
+ * @remarks
76
+ * Called once per resource that the write actually touched, never for unused ones.
77
+ *
78
+ * Returning `{ uri }` is the useful case: the bytes go wherever the writer put them and the
79
+ * model keeps a pointer, which reads back as an external resource with no reader changes.
80
+ *
81
+ * Ids are positions, so a `null` leaves a `{}` placeholder rather than shifting the resources
82
+ * after it. If every resource returns `null` no resources are recorded at all — for a writer
83
+ * that emits the bytes itself and only needs the ids, such as the xlsx writer.
84
+ */
85
+ type Writer = (resource: IResource, id: number) => MaybePromise<IResource.JSON | null>;
66
86
  interface IUnloadListener {
67
87
  onUnload: (ref: IResource) => void;
68
88
  }
@@ -3,6 +3,9 @@ import { ICollection } from '../type';
3
3
  import { IResource } from './IResource';
4
4
  /**
5
5
  * Collections of {@link IResource}.
6
+ *
7
+ * @remarks
8
+ * Keyed by the resource, not ordered: iteration order is unspecified.
6
9
  */
7
10
  export interface IResourceCollection extends ICollection<IResource> {
8
11
  /**
@@ -24,6 +27,8 @@ export interface IResourceCollection extends ICollection<IResource> {
24
27
  * will only save the resource that were accessed within the persist scope.
25
28
  */
26
29
  beginPersist(): IResourceCollection.IPersistScope<IResource.JSON>;
30
+ /** For runtime type checking. */
31
+ readonly isIResourceCollection: true;
27
32
  }
28
33
  /**
29
34
  * {@inheritDoc IResourceCollection}
@@ -89,8 +94,11 @@ export declare namespace IResourceCollection {
89
94
  fromJSON(json: J[]): void;
90
95
  /**
91
96
  * This can be called multiple times.
97
+ *
98
+ * @param writer Called once per resource in place of serializing it, to write it elsewhere.
99
+ * Returns `[]` when the writer records nothing for any of them.
92
100
  */
93
- toJSONAsync(): Promise<J[]>;
101
+ toJSONAsync(writer?: IResource.Writer): Promise<J[]>;
94
102
  }
95
103
  }
96
104
  //# sourceMappingURL=IResourceCollection.d.ts.map
@@ -1,19 +1,19 @@
1
- import { ICollection } from '../type';
1
+ import { ICollection, AbstractCollection } from '../type';
2
2
  import { IResource } from './IResource';
3
3
  import { IResourceCollection } from './IResourceCollection';
4
- export declare class ResourceCollection implements IResourceCollection {
4
+ export declare class ResourceCollection extends AbstractCollection<IResource> implements IResourceCollection {
5
5
  private _resources;
6
6
  private _persistOpen;
7
7
  constructor();
8
8
  /** {@inheritDoc IResourceCollection.add} */
9
9
  add(res: string | IResource | IResourceCollection.AddOptions): IResource;
10
- /** {@inheritDoc ICollection.[Symbol.iterator]} */
11
- [Symbol.iterator](): IterableIterator<IResource>;
12
- /** {@inheritDoc IResourceCollection.getItems} */
13
- getItems(options?: ICollection.GetItemsOptions): IResource[];
10
+ /** {@inheritDoc AbstractCollection._getItems} */
11
+ protected _getItems(options?: ICollection.GetItemsOptions): IResource[];
14
12
  /** {@inheritDoc IResourceCollection.getCount} */
15
13
  getCount(): number;
16
14
  /** {@inheritDoc IResourceCollection.beginPersist} */
17
15
  beginPersist(): IResourceCollection.IPersistScope<IResource.JSON>;
16
+ /** {@inheritDoc IResourceCollection.isIResourceCollection} */
17
+ get isIResourceCollection(): true;
18
18
  }
19
19
  //# sourceMappingURL=ResourceCollection.d.ts.map
@@ -0,0 +1,22 @@
1
+ import { IFunction, IFunctionArguments } from '@sheetxl/primitives';
2
+ /**
3
+ * A bound view, as the marshaller holds it.
4
+ *
5
+ * @internal The public half is {@link IFunctionArguments}; this adds the two things only `_exec`
6
+ * may do — point the view at the argument array its broadcast loop rewrites per output cell, and
7
+ * take it off the engine's shared dispatch buffer when the body is about to re-enter dispatch.
8
+ */
9
+ export interface IArgumentsFrame extends IFunctionArguments {
10
+ /** @see FunctionArguments._setLiftValues */
11
+ _setLiftValues(values: any[] | null): void;
12
+ /** @see FunctionArguments._setPrivateArgs */
13
+ _setPrivateArgs(args: any[]): void;
14
+ }
15
+ /**
16
+ * Binds the view for a call about to dispatch, and returns it so the lift can point it at its
17
+ * per-cell arguments. Pairs with {@link popArguments} in a `finally`.
18
+ */
19
+ export declare const pushArguments: (params: IFunction.ParameterTypeJSON[] | null | undefined, variadic: number, suffix: number, args: any[], argsLength: number) => IArgumentsFrame;
20
+ /** Ends the call {@link pushArguments} began. */
21
+ export declare const popArguments: () => void;
22
+ //# sourceMappingURL=FunctionArguments.d.ts.map
@@ -1,33 +1,52 @@
1
1
  import { IFunction, IFormulaContext } from '@sheetxl/primitives';
2
2
  import { ITransaction } from '../transaction';
3
3
  import { IListener } from '../listener';
4
- import { ICollection } from '../type';
5
- import { ListenerEmitter } from '../listener/ListenerEmitter';
4
+ import { AbstractCollection } from '../type';
6
5
  import { IFunctionCollection } from './IFunctionCollection';
7
6
  import { FunctionMatch } from './_FunctionIndex';
8
7
  /**
9
8
  * Implementation for `IFunctionCollection`.
10
9
  */
11
- export declare class FunctionCollection implements IFunctionCollection {
12
- protected _emitter: ListenerEmitter<this, IFunctionCollection.IListeners>;
10
+ export declare class FunctionCollection extends AbstractCollection<IFunction, IFunctionCollection.GetItemsOptions> implements IFunctionCollection {
13
11
  private _options;
14
12
  private _readonly;
15
- private _transactions;
13
+ /** The functions lambda-valued defined names export. See {@link _setNamedSource}. */
14
+ private _named;
15
+ protected _transactions: ITransaction.IStore;
16
16
  private _stateId;
17
17
  private _transactionsRemoveListener;
18
- private _closed;
19
18
  /**
20
19
  * The descriptor index behind the metadata searches. Built on first use and dropped whenever the
21
20
  * collection's contents change — see {@link FunctionIndex}.
22
21
  */
23
22
  private _index;
23
+ /** The read-only and own functions, by name. Dropped with {@link _index}. */
24
+ private _sorted;
24
25
  constructor(options: ConstructorOptions);
25
- /** {@inheritDoc ICollection.[Symbol.iterator]} */
26
- [Symbol.iterator](): IterableIterator<IFunction>;
27
- /** {@inheritDoc IFunctionCollection.getItems} */
28
- getItems(options?: ICollection.GetItemsOptions): IFunction[];
26
+ /** {@inheritDoc AbstractCollection._getItems} */
27
+ protected _getItems(options?: IFunctionCollection.GetItemsOptions): IFunction[];
28
+ /** {@inheritDoc IFunctionCollection.getCount} */
29
+ getCount(options?: IFunctionCollection.GetItemsOptions): number;
29
30
  /** {@inheritDoc IFunctionCollection.getByName} */
30
31
  getByName(name: string, options?: IFunctionCollection.GetByNameOptions): IFunction | null;
32
+ /**
33
+ * Installs the functions lambda-valued defined names export: {@link getByName} falls back to them
34
+ * for a name no registered function has, and {@link getItems}, {@link search} and
35
+ * {@link getCategories} list them.
36
+ *
37
+ * @remarks
38
+ * Supplied by the calculation, which owns defined names — this layer does not know them. What it
39
+ * answers reports `isLambda()`, which is how the engine's own lookups tell it apart and skip it: a
40
+ * call to a named lambda evaluates the name, not a function.
41
+ */
42
+ _setNamedSource(source: NamedFunctionSource | null): void;
43
+ /**
44
+ * The exported named lambdas that no registered function shadows, read LIVE: a name's body and
45
+ * comment change without this collection hearing of it, so they never enter the cached index.
46
+ */
47
+ private _namedFunctions;
48
+ /** The cached index, followed by entries for {@link _namedFunctions} built fresh. */
49
+ private _entries;
31
50
  /** {@inheritDoc IFunctionCollection.search} */
32
51
  search(options?: IFunctionCollection.SearchOptions): Promise<IFunction[]>;
33
52
  /**
@@ -35,14 +54,12 @@ export declare class FunctionCollection implements IFunctionCollection {
35
54
  *
36
55
  * @remarks
37
56
  * Not part of {@link IFunctionCollection}: it exists so a caller merging SEVERAL collections
38
- * ({@link IScript.searchFunctions} — built-ins plus every module) can rank the union on one
39
- * scale instead of concatenating separately-ranked lists.
57
+ * ({@link IScript.searchFunctions} — every loaded module) can rank the union on one scale instead
58
+ * of concatenating separately-ranked lists.
40
59
  */
41
60
  searchScored(options?: IFunctionCollection.SearchOptions): Promise<FunctionMatch[]>;
42
61
  /** {@inheritDoc IFunctionCollection.getCategories} */
43
62
  getCategories(options?: IFunctionCollection.GetCategoryOptions): Promise<IFunctionCollection.Category[]>;
44
- /** {@inheritDoc ICollection.getCount} */
45
- getCount(): number;
46
63
  /** {@inheritDoc IFunctionCollection.validateName} */
47
64
  validateName(named: string): void;
48
65
  _validateName(name: string, ignoreExisting?: boolean): void;
@@ -60,15 +77,32 @@ export declare class FunctionCollection implements IFunctionCollection {
60
77
  private _addFunction;
61
78
  /** {@inheritDoc ITransaction.ITransactional.beginCommit} */
62
79
  beginCommit(options?: string | ITransaction.OperationOptions): ITransaction;
80
+ /** Drops everything derived from the collection's contents. */
81
+ private _invalidate;
63
82
  private _getState;
64
83
  private _beginCommit;
65
84
  private _updateState;
66
85
  protected _initState(): void;
67
86
  /** {@inheritDoc IListener.ISource.addListeners} */
68
87
  addListeners(listeners: IFunctionCollection.IListeners, options?: IListener.Options): IListener.Remove;
69
- isClosed(): boolean;
88
+ /**
89
+ * Closes the collection. Called by the owner when it closes; announces
90
+ * {@link ICollection.Events.onClose} once.
91
+ */
70
92
  close(): void;
71
93
  get isFunctionCollection(): true;
94
+ /** {@inheritDoc IFunctionCollection.isIFunctionCollection} */
95
+ get isIFunctionCollection(): true;
96
+ }
97
+ /**
98
+ * Functions a collection lists and answers without holding them — the calculation's named lambdas.
99
+ * See {@link FunctionCollection._setNamedSource}.
100
+ */
101
+ export interface NamedFunctionSource {
102
+ /** The function `name` exports as seen from `sheet` (a sheet's own name shadows a global), or `null`. */
103
+ getByName(name: string, sheet?: string): IFunction | null;
104
+ /** Every exported function, one per name. */
105
+ getItems(): IFunction[];
72
106
  }
73
107
  export interface ConstructorOptions {
74
108
  /**
@@ -3,6 +3,9 @@ import { ICollection } from '../type';
3
3
  import { IListener } from '../listener';
4
4
  /**
5
5
  * Collections of {@link IFunction}.
6
+ *
7
+ * @remarks
8
+ * Keyed by name, not ordered: iteration order is unspecified.
6
9
  */
7
10
  export interface IFunctionCollection extends ICollection<IFunction> {
8
11
  /**
@@ -16,27 +19,41 @@ export interface IFunctionCollection extends ICollection<IFunction> {
16
19
  */
17
20
  add(option: string | IFunction | IFunctionCollection.AddOptions): Promise<IFunction>;
18
21
  /**
19
- * Returns functions that match the filter criteria.
22
+ * The functions in the collection, ordered by canonical name.
23
+ *
24
+ * @param options {@link IFunctionCollection.GetItemsOptions}
20
25
  *
21
- * If no filter criteria is provided, all items will be returned.
26
+ * @remarks
27
+ * Leaves out hidden functions ({@link IFunction.IDeclaration.isHidden}) unless
28
+ * {@link GetItemsOptions.includeHidden} is set.
29
+ */
30
+ getItems(options?: IFunctionCollection.GetItemsOptions): IFunction[];
31
+ /**
32
+ * How many functions {@link getItems} returns for the same options.
33
+ *
34
+ * @param options {@link IFunctionCollection.GetItemsOptions}
35
+ */
36
+ getCount(options?: IFunctionCollection.GetItemsOptions): number;
37
+ /**
38
+ * {@link getItems}, with the filters that read a function's {@link IFunction.IDescriptor}.
22
39
  *
23
40
  * @param options {@link IFunctionCollection.SearchOptions}
24
41
  *
25
42
  * @remarks
43
+ * Without {@link SearchOptions.text} or {@link SearchOptions.category}, returns exactly what
44
+ * `getItems` returns for the same options.
45
+ *
26
46
  * ### Ordering
27
- * A search that reads DESCRIPTORS ({@link SearchOptions.text} / {@link SearchOptions.category},
28
- * see below) returns results ordered — by relevance when there is `text`, alphabetically by
29
- * canonical name otherwise. Every other search returns them in registration order.
47
+ * By relevance when there is `text`, by canonical name otherwise.
30
48
  *
31
49
  * With `text`, relevance is: an exact name, then a name prefix, then a name substring, then the
32
50
  * same three for the LOCALIZED name (each one tier behind its canonical counterpart), and finally
33
51
  * a summary substring. Matching is case-insensitive "contains" — never fuzzy.
34
52
  *
35
53
  * ### Cost
36
- * `name`- and `type`-only searches are a cheap scan. `text`, `category` and an explicit
37
- * {@link SearchOptions.includeDeprecated} read each function's {@link IFunction.IDescriptor},
38
- * which loads (once, lazily, per language) the descriptor chunk of every module — pennies for a
39
- * search box, but not something to put on a hot path.
54
+ * `text` and `category` read each function's descriptor, which loads (once, lazily, per language)
55
+ * the descriptor chunk of every module — pennies for a search box, but not something to put on a
56
+ * hot path.
40
57
  */
41
58
  search(options?: IFunctionCollection.SearchOptions): Promise<IFunction[]>;
42
59
  /**
@@ -56,8 +73,7 @@ export interface IFunctionCollection extends ICollection<IFunction> {
56
73
  */
57
74
  getCategories(options?: IFunctionCollection.GetCategoryOptions): Promise<IFunctionCollection.Category[]>;
58
75
  /**
59
- * Convenience method for filter by name.
60
- * This is functionally equivalent to getItems({ name });
76
+ * The function with this name, hidden or not.
61
77
  *
62
78
  * @param name The name to search for This is case insensitive.
63
79
  * @param options {@link IFunctionCollection.GetByNameOptions}
@@ -68,8 +84,16 @@ export interface IFunctionCollection extends ICollection<IFunction> {
68
84
  * resolve against the bound sheet with no evaluation current, and the instance is safe to
69
85
  * hold across awaits. Without options, the shared registry instance is returned (the one the
70
86
  * engine evaluates with); its reference resolution requires an active evaluation.
87
+ *
88
+ * A defined name whose body is `LAMBDA(…)` answers too, when no function has the name: a function
89
+ * whose `isLambda()` is `true`, with the lambda's parameters and, as its summary, the name's comment
90
+ * (or its formula, without one).
91
+ * {@link getItems} and {@link search} list these under the category `Lambda`. `options.sheet` only
92
+ * chooses which sheet's names are visible — a named lambda cannot be bound or called outside its name.
71
93
  */
72
94
  getByName(name: string, options?: IFunctionCollection.GetByNameOptions): IFunction | null;
95
+ /** For runtime type checking. */
96
+ readonly isIFunctionCollection: true;
73
97
  }
74
98
  /**
75
99
  * {@inheritDoc IFunctionCollection}
@@ -82,6 +106,29 @@ export declare namespace IFunctionCollection {
82
106
  /**
83
107
  * Options for {@link IFunctionCollection.getByName}.
84
108
  */
109
+ /**
110
+ * Options for {@link IFunctionCollection.getItems}.
111
+ */
112
+ interface GetItemsOptions extends ICollection.GetItemsOptions {
113
+ /**
114
+ * Only the function with this name. Case insensitive.
115
+ */
116
+ name?: string;
117
+ /**
118
+ * Only functions of this type: `'formula'`, `'macro'` or `'autoRun'`.
119
+ *
120
+ * @remarks
121
+ * Compared against {@link IFunction.getContext}, which is what `search` filters on too, so the
122
+ * two agree on what a type means.
123
+ */
124
+ type?: string;
125
+ /**
126
+ * Include hidden functions ({@link IFunction.IDeclaration.isHidden}).
127
+ *
128
+ * @defaultValue `false`
129
+ */
130
+ includeHidden?: boolean;
131
+ }
85
132
  interface GetByNameOptions {
86
133
  /**
87
134
  * A sheet name to bind the returned function to. Vends a NEW instance whose evaluation
@@ -94,11 +141,7 @@ export declare namespace IFunctionCollection {
94
141
  /**
95
142
  * Options for searching a function in the collection.
96
143
  */
97
- interface SearchOptions {
98
- /**
99
- * Search with the given name. This is case insensitive.
100
- */
101
- name?: string;
144
+ interface SearchOptions extends GetItemsOptions {
102
145
  /**
103
146
  * Search all function descriptors for the given text. This is case insensitive.
104
147
  *
@@ -107,22 +150,9 @@ export declare namespace IFunctionCollection {
107
150
  */
108
151
  text?: string;
109
152
  /**
110
- * Search with the given name. This is case insensitive.
153
+ * Only functions in this category ({@link IFunction.IDescriptor.getCategory}). Case insensitive.
111
154
  */
112
155
  category?: string;
113
- type?: string;
114
- /**
115
- * Include functions their descriptor marks deprecated (or hidden).
116
- *
117
- * @defaultValue `false` — but only where it can be read; see the remarks.
118
- *
119
- * @remarks
120
- * Deprecation lives in the descriptor ({@link IFunction.IDescriptor.isDeprecated}), so honoring
121
- * this means loading descriptors. To keep a `name`/`type` lookup free, the filter applies only
122
- * when the search is already reading them — with {@link text} or {@link category}, or when this
123
- * option is passed EXPLICITLY (either value forces the read).
124
- */
125
- includeDeprecated?: boolean;
126
156
  /**
127
157
  * Return at most this many functions.
128
158
  *
@@ -144,11 +174,11 @@ export declare namespace IFunctionCollection {
144
174
  */
145
175
  type?: string;
146
176
  /**
147
- * Count functions their descriptor marks deprecated (or hidden).
177
+ * Count hidden functions ({@link IFunction.IDeclaration.isHidden}).
148
178
  *
149
179
  * @defaultValue `false`
150
180
  */
151
- includeDeprecated?: boolean;
181
+ includeHidden?: boolean;
152
182
  }
153
183
  /**
154
184
  * One category and its population, as returned by {@link IFunctionCollection.getCategories}.
@@ -1,5 +1,7 @@
1
1
  import { CompileOptions as _CompileOptions, CompileResult as _CompileResult, CompiledModule, Diagnostic as _Diagnostic } from '@sheetxl/scripting';
2
2
  import { IListener } from '../listener';
3
+ import { ISheet } from '../sheet';
4
+ import { IWorkbook } from '../workbook';
3
5
  import { IFunctionCollection } from './IFunctionCollection';
4
6
  /**
5
7
  * Represents a collection of functions. This is analogous to a file.
@@ -23,6 +25,21 @@ export interface IModule {
23
25
  * The language the function is written in.
24
26
  */
25
27
  getLanguage(): string;
28
+ /**
29
+ * What the module is bound to — the sheet or workbook that owns it, or `null` when it is
30
+ * global.
31
+ *
32
+ * @remarks
33
+ * Scope is a **visibility rule**, not a label: only a globally scoped module contributes
34
+ * functions to the workbook's formula namespace. A UDF declared in a sheet- or
35
+ * workbook-scoped module is unreachable from a cell formula.
36
+ *
37
+ * It is also **derived, not stored** — a module's scope is where it lives. A sheet's modules
38
+ * are reached through {@link ISheet.getModules}, and go away with the sheet; there is
39
+ * deliberately no setter, because changing a module's scope would silently promote or demote
40
+ * every function in it.
41
+ */
42
+ getScope(): IModule.Scope;
26
43
  /**
27
44
  * Returns the error-severity diagnostics for the module (a subset of {@link IModule.getDiagnostics}).
28
45
  */
@@ -45,6 +62,10 @@ export interface IModule {
45
62
  */
46
63
  toJSON(): IModule.JSON;
47
64
  addListeners(listeners: IModule.IListeners, options?: IListener.Options): IListener.Remove;
65
+ /**
66
+ * For runtime type checking.
67
+ */
68
+ readonly isIModule: true;
48
69
  }
49
70
  /**
50
71
  * {@inheritDoc IModule}
@@ -66,6 +87,10 @@ export declare namespace IModule {
66
87
  * Used to serialize a module.
67
88
  */
68
89
  type JSON = CompiledModule;
90
+ /**
91
+ * What a module is bound to: a sheet, the workbook, or `null` for global.
92
+ */
93
+ type Scope = ISheet | IWorkbook | null;
69
94
  /**
70
95
  * A positioned compile diagnostic (error or warning).
71
96
  */
@@ -3,6 +3,11 @@ import { IListener } from '../listener';
3
3
  import { IModule } from './IModule';
4
4
  /**
5
5
  * Represents a collection of functions. This is analogous to a file.
6
+ *
7
+ * @remarks
8
+ * Keyed by the module's id, not ordered: iteration order is unspecified. The unfiltered walk
9
+ * (`for…of`, `getCount()`, `toArray()`) is what `getItems()` returns with no options — the
10
+ * default language's modules; pass `{ language: null }` to `getItems` for every language.
6
11
  */
7
12
  export interface IModuleCollection extends ICollection<IModule> {
8
13
  /**
@@ -39,6 +44,10 @@ export interface IModuleCollection extends ICollection<IModule> {
39
44
  * Returns a JSON representation of the module collection.
40
45
  */
41
46
  toJSON(): Record<string, IModule.JSON>;
47
+ /**
48
+ * For runtime type checking.
49
+ */
50
+ readonly isIModuleCollection: true;
42
51
  }
43
52
  export declare namespace IModuleCollection {
44
53
  interface AddOptions {
@@ -59,6 +68,14 @@ export declare namespace IModuleCollection {
59
68
  * Search with the given name. This is case insensitive.
60
69
  */
61
70
  name?: string;
71
+ /**
72
+ * Only return modules written in this language. This is case insensitive.
73
+ *
74
+ * Pass `null` for every module, whatever its language.
75
+ *
76
+ * @defaultValue `'typescript'`
77
+ */
78
+ language?: string | null;
62
79
  }
63
80
  interface Events {
64
81
  /**