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

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 (355) hide show
  1. package/THIRD-PARTY-NOTICES.md +1 -1
  2. package/browser/cjs/4f5eoQQfV-V7LO2_.cjs +1 -0
  3. package/browser/cjs/BEnEDC1m546-gzWS.cjs +1 -0
  4. package/browser/cjs/CwCUa4IzGNGissLL.cjs +1 -0
  5. package/browser/cjs/Dg3GaW0QWwnlqetX.cjs +1 -0
  6. package/browser/cjs/KWQPie2u7AP69web.cjs +93 -0
  7. package/browser/cjs/index.cjs +2 -2
  8. package/browser/esm/{DBIu6NUHIcxOOBQp.mjs → BJ9hcZAGY8Tj5_9L.mjs} +1 -1
  9. package/browser/esm/C8vpA2ZBtZf6w4nq.mjs +394 -0
  10. package/browser/esm/DDojiE2-oycJ7qGi.mjs +20 -0
  11. package/browser/esm/DEPT7zmpiMdZ-_qC.mjs +70253 -0
  12. package/browser/esm/DOvCi3lf49To36WP.mjs +8 -0
  13. package/browser/esm/{CHSahmMFYNB0Ajkf.mjs → Dq3sc4B_HQHBrT5N.mjs} +2 -2
  14. package/browser/esm/index.mjs +871 -696
  15. package/browser/esm/{CKk58ZLcrllMzfou.mjs → trwZArJQQq7K9kL7.mjs} +2 -2
  16. package/licenses/dependencies.txt +204 -204
  17. package/node/esm/CGWsQOMWdnDeF4dX.mjs +8 -0
  18. package/node/esm/{DUYP6faJJHCaW1Xf.mjs → CL9MI-b6D9BmtVXW.mjs} +1 -1
  19. package/node/esm/CressiwiIhxCVp1v.mjs +28 -0
  20. package/node/esm/O2cOO3xIynWUgOWe.mjs +403 -0
  21. package/node/esm/index.mjs +53973 -38584
  22. package/package.json +6 -7
  23. package/resources/locales/de/model.msg.json +45 -9
  24. package/resources/locales/en/model.msg.json +42 -9
  25. package/types/scripting-api.json +7093 -0
  26. package/types/scripting-enums.json +54 -4
  27. package/types/scripting.d.ts +7185 -1079
  28. package/types/src/anchored/AbstractAnchored.d.ts +18 -8
  29. package/types/src/anchored/AnchoredMap.d.ts +2 -0
  30. package/types/src/anchored/IAnchoredMap.d.ts +52 -4
  31. package/types/src/autoFill/AutoFill.d.ts +316 -32
  32. package/types/src/autoFill/IAutoFill.d.ts +232 -15
  33. package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +41 -40
  34. package/types/src/border/index.d.ts +1 -1
  35. package/types/src/calculation/Calculation.d.ts +745 -35
  36. package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
  37. package/types/src/calculation/FormulaText.d.ts +74 -0
  38. package/types/src/calculation/ICalculation.d.ts +318 -81
  39. package/types/src/calculation/INamedFormulasCollection.d.ts +5 -8
  40. package/types/src/calculation/NamedFormulaCollection.d.ts +139 -107
  41. package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
  42. package/types/src/calculation/TokenType.d.ts +9 -0
  43. package/types/src/calculation/Types.d.ts +83 -2
  44. package/types/src/calculation/_CloneBoundary.d.ts +80 -0
  45. package/types/src/calculation/compiler/ASTTypes.d.ts +58 -0
  46. package/types/src/calculation/compiler/CompilerUtils.d.ts +134 -12
  47. package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
  48. package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
  49. package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
  50. package/types/src/calculation/compiler/ParserUtils.d.ts +26 -1
  51. package/types/src/calculation/compiler/SRParser.d.ts +2 -1
  52. package/types/src/calculation/compiler/Types.d.ts +79 -9
  53. package/types/src/calculation/executor/CalcExecutor.d.ts +422 -34
  54. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +43 -2
  55. package/types/src/calculation/executor/CircularReference.d.ts +2 -0
  56. package/types/src/calculation/formula/Formula.d.ts +58 -21
  57. package/types/src/calculation/formula/FormulaBlock.d.ts +124 -21
  58. package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
  59. package/types/src/calculation/formula/IFormulaBlock.d.ts +261 -67
  60. package/types/src/calculation/formula/LambdaValue.d.ts +15 -16
  61. package/types/src/calculation/formula/LazyValue.d.ts +96 -0
  62. package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
  63. package/types/src/calculation/formula/index.d.ts +1 -0
  64. package/types/src/calculation/functions/FunctionDeclarations.d.ts +31 -0
  65. package/types/src/calculation/functions/initializeFunctions.d.ts +15 -2
  66. package/types/src/calculation/grid/CalcGrid.d.ts +384 -158
  67. package/types/src/calculation/grid/CalcGridBackend.d.ts +450 -0
  68. package/types/src/calculation/grid/CalcGridProxy.d.ts +133 -0
  69. package/types/src/calculation/grid/CalcGridUtils.d.ts +62 -12
  70. package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
  71. package/types/src/calculation/grid/FormulaHost.d.ts +236 -0
  72. package/types/src/calculation/grid/ICalcGrid.d.ts +456 -143
  73. package/types/src/calculation/grid/_CalcRequest.d.ts +272 -0
  74. package/types/src/calculation/grid/index.d.ts +4 -0
  75. package/types/src/calculation/index.d.ts +2 -0
  76. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
  77. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +339 -11
  78. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
  79. package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
  80. package/types/src/calculation/spatial/index.d.ts +1 -0
  81. package/types/src/calculation/state/CalcInputs.d.ts +41 -0
  82. package/types/src/calculation/state/CalcNode.d.ts +160 -29
  83. package/types/src/calculation/state/CalcScope.d.ts +37 -0
  84. package/types/src/calculation/state/CalcState.d.ts +22 -1
  85. package/types/src/calculation/state/CalculationContext.d.ts +39 -3
  86. package/types/src/calculation/state/IContextContainer.d.ts +159 -26
  87. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
  88. package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
  89. package/types/src/calculation/state/index.d.ts +1 -0
  90. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
  91. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
  92. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
  93. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
  94. package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
  95. package/types/src/calculation/symbol/index.d.ts +3 -2
  96. package/types/src/cell/ICell.d.ts +78 -23
  97. package/types/src/cell/ICellProtection.d.ts +50 -10
  98. package/types/src/cellRange/ICellRange.d.ts +368 -90
  99. package/types/src/cellRange/ICellRanges.d.ts +9 -7
  100. package/types/src/chart/Chart.d.ts +72 -2
  101. package/types/src/chart/ChartCollection.d.ts +26 -0
  102. package/types/src/chart/IChart.d.ts +162 -9
  103. package/types/src/chart/IChartCollection.d.ts +25 -0
  104. package/types/src/chart/_ChartXml.d.ts +70 -0
  105. package/types/src/chart/index.d.ts +1 -3
  106. package/types/src/collections/ArraysGrid.d.ts +1 -1
  107. package/types/src/collections/IGrid.d.ts +1 -1
  108. package/types/src/collections/ISparseGrid.d.ts +9 -0
  109. package/types/src/collections/ISpatialMap.d.ts +59 -21
  110. package/types/src/collections/ImmutableList.d.ts +28 -0
  111. package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
  112. package/types/src/collections/OverlappingRangeIterator.d.ts +13 -17
  113. package/types/src/collections/RepeatingList.d.ts +7 -0
  114. package/types/src/collections/ScalarGrid.d.ts +50 -0
  115. package/types/src/collections/SparseGrid.d.ts +1 -1
  116. package/types/src/collections/SpatialMap.d.ts +13 -21
  117. package/types/src/collections/Tuple.d.ts +128 -16
  118. package/types/src/collections/_GridUtils.d.ts +19 -6
  119. package/types/src/collections/_RangeSweep.d.ts +97 -0
  120. package/types/src/collections/_SpatialUtils.d.ts +20 -2
  121. package/types/src/collections/index.d.ts +1 -0
  122. package/types/src/comment/Comment.d.ts +159 -0
  123. package/types/src/comment/CommentCollection.d.ts +40 -0
  124. package/types/src/comment/IComment.d.ts +319 -48
  125. package/types/src/comment/ICommentCollection.d.ts +90 -0
  126. package/types/src/comment/_CommentUtils.d.ts +28 -0
  127. package/types/src/comment/index.d.ts +1 -0
  128. package/types/src/condition/AnchoredConditional.d.ts +76 -17
  129. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +8 -7
  130. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +2 -1
  131. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +3 -6
  132. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +1 -1
  133. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +7 -0
  134. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +9 -0
  135. package/types/src/condition/Condition.d.ts +16 -0
  136. package/types/src/condition/ICondition.d.ts +86 -33
  137. package/types/src/condition/_ConditionFormula.d.ts +152 -0
  138. package/types/src/condition/_ConditionUtils.d.ts +73 -10
  139. package/types/src/conditionalFormat/ConditionalFormat.d.ts +21 -10
  140. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
  141. package/types/src/conditionalFormat/IConditionalFormat.d.ts +5 -3
  142. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
  143. package/types/src/dataValidation/DataValidation.d.ts +50 -3
  144. package/types/src/dataValidation/DataValidationCollection.d.ts +20 -9
  145. package/types/src/dataValidation/IDataValidation.d.ts +119 -30
  146. package/types/src/dataValidation/IDataValidationCollection.d.ts +10 -2
  147. package/types/src/date/DateUtils.d.ts +20 -0
  148. package/types/src/date/_DateUtils.d.ts +91 -7
  149. package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
  150. package/types/src/externalBook/ExternalBookName.d.ts +96 -0
  151. package/types/src/externalBook/IExternalBook.d.ts +170 -18
  152. package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
  153. package/types/src/externalBook/index.d.ts +1 -0
  154. package/types/src/fill/IStroke.d.ts +1 -1
  155. package/types/src/filter/IFilter.d.ts +29 -4
  156. package/types/src/font/IFont.d.ts +17 -0
  157. package/types/src/history/IHistory.d.ts +3 -2
  158. package/types/src/i18n/LanguagePack.d.ts +12 -4
  159. package/types/src/index.d.ts +3 -0
  160. package/types/src/io/AbstractBackingStore.d.ts +24 -1
  161. package/types/src/io/ArrayBackingStore.d.ts +1 -1
  162. package/types/src/io/EmbeddedPart.d.ts +20 -0
  163. package/types/src/io/IEmbeddedPart.d.ts +63 -0
  164. package/types/src/io/IWorkbookIO.d.ts +185 -18
  165. package/types/src/io/WorkbookIO.d.ts +9 -0
  166. package/types/src/io/WorkbookOrigin.d.ts +20 -11
  167. package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
  168. package/types/src/io/_XmlFragment.d.ts +49 -0
  169. package/types/src/io/index.d.ts +1 -0
  170. package/types/src/lib/file/file.browser.d.ts +19 -5
  171. package/types/src/lib/file/file.node.d.ts +5 -0
  172. package/types/src/lib/utils/_Utils.d.ts +18 -0
  173. package/types/src/lib/utils/utils.browser.d.ts +9 -3
  174. package/types/src/license/license-key.d.ts +27 -0
  175. package/types/src/listener/IListener.d.ts +12 -7
  176. package/types/src/listener/ListenerEmitter.d.ts +46 -5
  177. package/types/src/model/AbstractModel.d.ts +14 -5
  178. package/types/src/movable/Control.d.ts +57 -0
  179. package/types/src/movable/IControl.d.ts +84 -0
  180. package/types/src/movable/IMovable.d.ts +23 -1
  181. package/types/src/movable/IMovableCollection.d.ts +2 -0
  182. package/types/src/movable/Movable.d.ts +4 -6
  183. package/types/src/movable/MovableCollection.d.ts +7 -7
  184. package/types/src/movable/index.d.ts +4 -0
  185. package/types/src/named/AbstractNamed.d.ts +1 -1
  186. package/types/src/named/INamed.d.ts +4 -1
  187. package/types/src/named/INamedCollection.d.ts +26 -0
  188. package/types/src/named/NamedCollection.d.ts +16 -15
  189. package/types/src/numFmt/BuiltInFormats.d.ts +15 -7
  190. package/types/src/numFmt/IFormatEngine.d.ts +2 -0
  191. package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
  192. package/types/src/person/IPerson.d.ts +99 -0
  193. package/types/src/person/IPersonCollection.d.ts +51 -0
  194. package/types/src/person/Person.d.ts +32 -0
  195. package/types/src/person/PersonCollection.d.ts +49 -0
  196. package/types/src/person/index.d.ts +3 -0
  197. package/types/src/picture/IPicture.d.ts +2 -0
  198. package/types/src/picture/Picture.d.ts +2 -0
  199. package/types/src/pivot/IPivotTable.d.ts +107 -0
  200. package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
  201. package/types/src/pivot/PivotTable.d.ts +57 -0
  202. package/types/src/pivot/PivotTableCollection.d.ts +25 -0
  203. package/types/src/pivot/index.d.ts +6 -0
  204. package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
  205. package/types/src/primitives/Criteria.d.ts +1 -1
  206. package/types/src/primitives/LambdaBrand.d.ts +21 -0
  207. package/types/src/primitives/PrimitiveUtils.d.ts +60 -21
  208. package/types/src/primitives/Range.d.ts +105 -25
  209. package/types/src/primitives/RangeStats.d.ts +24 -1
  210. package/types/src/primitives/ReferenceRange.d.ts +42 -0
  211. package/types/src/primitives/Runtime.d.ts +15 -2
  212. package/types/src/primitives/stats/FrequencyStats.d.ts +9 -0
  213. package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
  214. package/types/src/primitives/stats/SortedNumbers.d.ts +2 -0
  215. package/types/src/primitives/stats/index.d.ts +1 -0
  216. package/types/src/print/IPrint.d.ts +0 -22
  217. package/types/src/protectedRange/IProtectedRange.d.ts +4 -0
  218. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
  219. package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
  220. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
  221. package/types/src/protection/DefaultProtection.d.ts +12 -1
  222. package/types/src/protection/IProtection.d.ts +36 -2
  223. package/types/src/reference/ReferenceUtils.d.ts +80 -0
  224. package/types/src/reference/index.d.ts +2 -0
  225. package/types/src/resource/IResource.d.ts +21 -1
  226. package/types/src/resource/IResourceCollection.d.ts +9 -1
  227. package/types/src/resource/ResourceCollection.d.ts +6 -6
  228. package/types/src/scripting/FunctionArguments.d.ts +22 -0
  229. package/types/src/scripting/FunctionCollection.d.ts +41 -11
  230. package/types/src/scripting/IFunctionCollection.d.ts +41 -0
  231. package/types/src/scripting/IModule.d.ts +25 -0
  232. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  233. package/types/src/scripting/IScript.d.ts +18 -0
  234. package/types/src/scripting/Module.d.ts +34 -6
  235. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  236. package/types/src/scripting/Runtime.d.ts +15 -0
  237. package/types/src/scripting/Scripts.d.ts +2 -0
  238. package/types/src/scripting/TypedFunction.d.ts +197 -4
  239. package/types/src/scripting/_FunctionIndex.d.ts +5 -0
  240. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  241. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  242. package/types/src/scripting/declarations.browser.d.ts +10 -0
  243. package/types/src/scripting/declarations.d.ts +49 -0
  244. package/types/src/scripting/declarations.node.d.ts +9 -0
  245. package/types/src/scripting/index.d.ts +3 -0
  246. package/types/src/selection/IRangeSelection.d.ts +9 -4
  247. package/types/src/selection/RangeSelection.d.ts +2 -0
  248. package/types/src/shape/IShape.d.ts +41 -3
  249. package/types/src/shape/Shape.d.ts +10 -0
  250. package/types/src/shape/_ShapeXml.d.ts +28 -0
  251. package/types/src/sheet/CellRegion.d.ts +6 -0
  252. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  253. package/types/src/sheet/ISheet.d.ts +224 -41
  254. package/types/src/sheet/ISheetCollection.d.ts +2 -5
  255. package/types/src/sheet/NamedCellRange.d.ts +16 -7
  256. package/types/src/sheet/Sheet.d.ts +757 -114
  257. package/types/src/sheet/SheetCell.d.ts +81 -21
  258. package/types/src/sheet/SheetCollection.d.ts +19 -8
  259. package/types/src/sheet/SheetRange.d.ts +65 -14
  260. package/types/src/sheet/SheetRanges.d.ts +4 -6
  261. package/types/src/sheet/_CellBuffer.d.ts +214 -0
  262. package/types/src/sheet/_InvalidSheetRange.d.ts +5 -5
  263. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  264. package/types/src/sheet/_RangeStateSweep.d.ts +16 -0
  265. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  266. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  267. package/types/src/sheet/_SheetAutoFitUtils.d.ts +28 -0
  268. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  269. package/types/src/sheet/_SheetFilterUtils.d.ts +32 -1
  270. package/types/src/sheet/_SheetIntents.d.ts +250 -0
  271. package/types/src/sheet/_SheetMutations.d.ts +179 -59
  272. package/types/src/sheet/_SheetStateReader.d.ts +16 -10
  273. package/types/src/sheet/_SheetStateTypes.d.ts +57 -73
  274. package/types/src/sheet/_SheetUtils.d.ts +2 -18
  275. package/types/src/sheet/_WatchAnchor.d.ts +93 -0
  276. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  277. package/types/src/sheet/spatial/index.d.ts +1 -0
  278. package/types/src/sheet/style/SheetCellStyle.d.ts +91 -64
  279. package/types/src/sheet/style/SheetDirectStyle.d.ts +16 -5
  280. package/types/src/sheet/style/_Resolvers.d.ts +5 -3
  281. package/types/src/sheet/style/_StyleUtils.d.ts +37 -7
  282. package/types/src/sheetHeader/ISheetHeader.d.ts +2 -0
  283. package/types/src/sheetHeader/SheetHeader.d.ts +14 -0
  284. package/types/src/sheetProtection/ISheetProtection.d.ts +41 -7
  285. package/types/src/sheetProtection/SheetProtection.d.ts +12 -0
  286. package/types/src/sheetView/ISheetView.d.ts +45 -1
  287. package/types/src/sheetView/SheetView.d.ts +11 -0
  288. package/types/src/slicer/ISlicer.d.ts +2 -0
  289. package/types/src/slicer/Slicer.d.ts +2 -0
  290. package/types/src/sort/ISort.d.ts +2 -0
  291. package/types/src/string/IStringCollection.d.ts +5 -0
  292. package/types/src/string/StringCollection.d.ts +6 -6
  293. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  294. package/types/src/style/IStyle.d.ts +30 -10
  295. package/types/src/style/IStyleCollection.d.ts +63 -42
  296. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  297. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  298. package/types/src/style/StyleCollection.d.ts +41 -5
  299. package/types/src/style/TableStyleCollection.d.ts +49 -0
  300. package/types/src/style/_BuiltInStyleDefs.d.ts +3 -3
  301. package/types/src/style/index.d.ts +4 -0
  302. package/types/src/table/AnchoredTable.d.ts +644 -68
  303. package/types/src/table/AutoTable.d.ts +5 -5
  304. package/types/src/table/ITable.d.ts +228 -30
  305. package/types/src/table/ITableCollection.d.ts +2 -0
  306. package/types/src/table/TableCollection.d.ts +19 -8
  307. package/types/src/table/_FilterField.d.ts +7 -5
  308. package/types/src/table/_NamedTable.d.ts +17 -1
  309. package/types/src/table/_NamedTableSource.d.ts +1 -0
  310. package/types/src/table/_SortField.d.ts +2 -0
  311. package/types/src/table/_TableColumn.d.ts +13 -2
  312. package/types/src/table/_TableMessages.d.ts +1 -0
  313. package/types/src/table/_TableUtils.d.ts +40 -0
  314. package/types/src/text/Bullet.d.ts +4 -0
  315. package/types/src/text/ITextFrame.d.ts +25 -1
  316. package/types/src/text/TextBoxAlignment.d.ts +15 -6
  317. package/types/src/text/TextFrame.d.ts +4 -0
  318. package/types/src/text/TextLine.d.ts +4 -0
  319. package/types/src/text/TextParagraph.d.ts +4 -0
  320. package/types/src/text/TextRun.d.ts +9 -0
  321. package/types/src/text/TextStacked.d.ts +83 -0
  322. package/types/src/text/index.d.ts +1 -0
  323. package/types/src/theme/ITheme.d.ts +2 -0
  324. package/types/src/theme/IThemeCollection.d.ts +2 -0
  325. package/types/src/theme/ThemeCollection.d.ts +8 -7
  326. package/types/src/transaction/ITransaction.d.ts +238 -36
  327. package/types/src/transaction/Transaction.d.ts +99 -11
  328. package/types/src/type/AbstractCollection.d.ts +101 -0
  329. package/types/src/type/ICollection.d.ts +117 -0
  330. package/types/src/type/ITypes.d.ts +9 -7
  331. package/types/src/type/index.d.ts +1 -0
  332. package/types/src/utils/_CSSUtils.d.ts +3 -3
  333. package/types/src/workbook/IWorkbook.d.ts +171 -40
  334. package/types/src/workbook/Workbook.d.ts +103 -7
  335. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  336. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  337. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  338. package/types/src/workbookView/IWorkbookView.d.ts +12 -0
  339. package/types/src/workbookView/WorkbookView.d.ts +5 -0
  340. package/browser/cjs/BF14ZEAnaqxXroSj.cjs +0 -1
  341. package/browser/cjs/BXtvdT1Z-MsB_o5F.cjs +0 -1
  342. package/browser/cjs/Bc4JjVVZfFo3R4He.cjs +0 -33
  343. package/browser/cjs/CD2RXdnfqSYNc6gX.cjs +0 -57
  344. package/browser/cjs/DcLpXGexEtOxi-dD.cjs +0 -1
  345. package/browser/esm/0Mj5WKM362q6CECb.mjs +0 -824
  346. package/browser/esm/CPTtL2f6_4iblmFM.mjs +0 -4436
  347. package/browser/esm/CoA-sUxjiIUIpTUF.mjs +0 -109
  348. package/browser/esm/Dy4Sdpju1T2icURu.mjs +0 -50854
  349. package/node/esm/BtGxbEbBm79YvF_k.mjs +0 -843
  350. package/node/esm/DqgWsVXROpSgKq6c.mjs +0 -114
  351. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  352. package/types/src/dataValidation/_Utils.d.ts +0 -10
  353. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  354. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  355. package/types/src/sheet/listener/index.d.ts +0 -3
@@ -11,12 +11,12 @@ export declare class Module implements IModule {
11
11
  protected _diagnostics: Diagnostic[];
12
12
  protected _emitter: ListenerEmitter<IModule, IModule.IListeners>;
13
13
  protected _name: string;
14
- constructor(options: {
15
- json: IModule.JSON;
16
- readonlyFunctions: Map<string, IFunction>;
17
- name: string;
18
- diagnostics?: Diagnostic[];
19
- });
14
+ /**
15
+ * Derived by whoever built the module from where it is stored, never read from the JSON —
16
+ * see {@link IModule.getScope}. Held as a getter so the module does not pin a closed sheet.
17
+ */
18
+ protected _scope: () => IModule.Scope;
19
+ constructor(options: Module.ConstructorOptions);
20
20
  /** {@inheritDoc IModule.getName} */
21
21
  getName(): string;
22
22
  /** {@inheritDoc IModule.getFunctions} */
@@ -25,15 +25,43 @@ export declare class Module implements IModule {
25
25
  getSource(): string | null;
26
26
  /** {@inheritDoc IModule.getLanguage} */
27
27
  getLanguage(): string;
28
+ /** {@inheritDoc IModule.getScope} */
29
+ getScope(): IModule.Scope;
28
30
  /** {@inheritDoc IModule.getErrors} */
29
31
  getErrors(): any[];
30
32
  /** {@inheritDoc IModule.getDiagnostics} */
31
33
  getDiagnostics(): Diagnostic[];
32
34
  /** {@inheritDoc IModule.delete} */
33
35
  delete(): void;
36
+ /**
37
+ * Set by the collection holding this module; throws to refuse a delete. A listener cannot refuse
38
+ * one — listener errors do not reach the caller.
39
+ * @internal
40
+ */
41
+ _setBeforeDelete(beforeDelete: (() => void) | null): void;
42
+ private _beforeDelete;
34
43
  /** {@inheritDoc IModule.addListeners} */
35
44
  addListeners(listeners: IModule.IListeners, options?: IListener.Options): IListener.Remove;
36
45
  /** {@inheritDoc IModule.toJSON} */
37
46
  toJSON(): IModule.JSON;
47
+ /** {@inheritDoc IModule.isIModule} */
48
+ get isIModule(): true;
49
+ }
50
+ export declare namespace Module {
51
+ interface ConstructorOptions {
52
+ json: IModule.JSON;
53
+ readonlyFunctions: Map<string, IFunction>;
54
+ name: string;
55
+ diagnostics?: Diagnostic[];
56
+ /**
57
+ * What the module is bound to, as decided by whoever is storing it.
58
+ *
59
+ * A function is accepted so an owner that is not built yet (a sheet still constructing) can
60
+ * be resolved on demand rather than captured.
61
+ *
62
+ * @defaultValue `null` (global)
63
+ */
64
+ scope?: IModule.Scope | (() => IModule.Scope);
65
+ }
38
66
  }
39
67
  //# sourceMappingURL=Module.d.ts.map
@@ -1,31 +1,26 @@
1
+ import { AbstractCollection } from '../type';
1
2
  import { ITransaction } from '../transaction';
2
3
  import { IListener } from '../listener';
3
- import { ListenerEmitter } from '../listener/ListenerEmitter';
4
4
  import { IModule } from './IModule';
5
5
  import { IModuleCollection } from './IModuleCollection';
6
6
  /**
7
7
  * Implementation for `IModuleCollection`.
8
8
  */
9
- export declare class ModuleCollection implements IModuleCollection {
10
- protected _emitter: ListenerEmitter<this, IModuleCollection.IListeners>;
9
+ export declare class ModuleCollection extends AbstractCollection<IModule, IModuleCollection.GetItemsOptions> implements IModuleCollection {
11
10
  private _options;
12
- private _transactions;
11
+ protected _transactions: ITransaction.IStore;
13
12
  private _stateId;
14
13
  private _transactionsRemoveListener;
15
- private _closed;
16
14
  constructor(options: ModuleCollection.ConstructorOptions);
17
15
  /** {@inheritDoc IModuleCollection.add} */
18
16
  add(uid: string, module: IModule, options?: IModuleCollection.AddOptions): void;
19
- /** {@inheritDoc ICollection.[Symbol.iterator]} */
20
- [Symbol.iterator](): IterableIterator<IModule>;
21
- /** {@inheritDoc IModuleCollection.getItems} */
22
- getItems(options?: IModuleCollection.GetItemsOptions): IModule[];
17
+ /** {@inheritDoc AbstractCollection._getItems} */
18
+ protected _getItems(options?: IModuleCollection.GetItemsOptions): IModule[];
23
19
  /** {@inheritDoc IModuleCollection.getByName} */
24
20
  getByName(name: string): IModule | null;
25
- /** {@inheritDoc ICollection.getCount} */
26
- getCount(): number;
27
21
  /** {@inheritDoc ITransaction.ITransactional.beginCommit} */
28
22
  beginCommit(options?: string | ITransaction.OperationOptions): ITransaction;
23
+ private _assertWritable;
29
24
  private _getState;
30
25
  private _beginCommit;
31
26
  private _updateState;
@@ -34,9 +29,14 @@ export declare class ModuleCollection implements IModuleCollection {
34
29
  addListeners(listeners: IModuleCollection.IListeners, options?: IListener.Options): IListener.Remove;
35
30
  /** {@inheritDoc IModuleCollection.toJSON} */
36
31
  toJSON(): Record<string, IModule.JSON>;
37
- isClosed(): boolean;
32
+ /**
33
+ * Closes the collection. Called by the owner when it closes; announces
34
+ * {@link ICollection.Events.onClose} once.
35
+ */
38
36
  close(): void;
39
37
  get isFunctionCollection(): true;
38
+ /** {@inheritDoc IModuleCollection.isIModuleCollection} */
39
+ get isIModuleCollection(): true;
40
40
  }
41
41
  export declare namespace ModuleCollection {
42
42
  interface ConstructorOptions {
@@ -51,6 +51,11 @@ export declare namespace ModuleCollection {
51
51
  /** `module` is `null` when the removal came from saving empty content. */
52
52
  onRemove?: (moduleId: string, module: IModule | null) => void;
53
53
  onAdd?: (moduleId: string, module: IModule) => void;
54
+ /**
55
+ * Whether adding, replacing and deleting modules is refused. Loading the initial modules never
56
+ * is.
57
+ */
58
+ isReadOnly?: () => boolean;
54
59
  }
55
60
  }
56
61
  //# sourceMappingURL=ModuleCollection.d.ts.map
@@ -13,4 +13,19 @@ export declare const GLOBAL_SCRIPT_VARIABLE = "SheetXL";
13
13
  export declare function getRuntime(): Promise<any>;
14
14
  export declare function setGlobalRuntime(): Promise<void>;
15
15
  export declare function clearGlobalRuntime(): void;
16
+ /**
17
+ * The runtime value of the `SheetXL` global — the enum constants `scripting.d.ts` declares — for a
18
+ * host that binds it into a scope of its own (a REPL context) rather than onto `globalThis`.
19
+ */
20
+ export declare function getScriptRuntime(): Promise<any>;
21
+ /**
22
+ * Runs `fn` with the `SheetXL` global installed, and removes it again however `fn` ends.
23
+ *
24
+ * @remarks
25
+ * For a host that executes script source WITHOUT compiling it to a module (the CLI's `-e`/`-f`,
26
+ * which type-strip and import): a compiled macro gets the global from the macro runtime, and this
27
+ * is how every other path keeps the same promise the declarations make. Wrap the LOAD as well as
28
+ * the call — a script may read `SheetXL.ISheet.Visibility.Hidden` at module top level.
29
+ */
30
+ export declare function withScriptRuntime<T>(fn: () => Promise<T>): Promise<T>;
16
31
  //# sourceMappingURL=Runtime.d.ts.map
@@ -62,6 +62,8 @@ export declare class Scripts implements IScript {
62
62
  isReadOnly(): boolean;
63
63
  /** {@inheritDoc IScript.toJSON} */
64
64
  toJSON(): Record<string, IModule.JSON>;
65
+ /** {@inheritDoc IScript.isIScript} */
66
+ get isIScript(): true;
65
67
  }
66
68
  export declare namespace Scripts {
67
69
  interface ConstructorOptions {
@@ -1,10 +1,87 @@
1
- import { ScalarType, IRange, IFunction, IFormulaContext } from '@sheetxl/primitives';
1
+ import { ScalarType, FormulaError, IRange, IFunction, IFormulaContext } from '@sheetxl/primitives';
2
+ import { FixedPackedArray } from '../primitives/PrimitiveUtils';
2
3
  /**
3
4
  * The per-call shape of a declaration that carries a repeating group, resolved from the ARGUMENT
4
- * COUNT alone (`Repeating<T>`; DESIGN-ENUM §5). Excel is measured never to disambiguate by type —
5
+ * COUNT alone (`Repeating<T>`; DESIGN-REPEATING §2). Excel is measured never to disambiguate by type —
5
6
  * `SORTBY(array, by1, by2, o2)` is refused where a type-directed parse would have read argument 2
6
7
  * as `by_array2` — so the arithmetic is the whole rule.
7
8
  */
9
+ /**
10
+ * What `_exec` needs to know about ONE parameter position, decided once per declaration (and
11
+ * once per expanded {@link RepeatPlan}) rather than on every call: the normalized value types,
12
+ * the kind flags the coercion loop branches on, and the effective error policy where it does not
13
+ * depend on the argument. The per-call loop reads this and the raw JSON only on its rare paths.
14
+ */
15
+ /**
16
+ * The member set of an enum slot, precomputed per declaration. A slot holds numbers or strings,
17
+ * never both, so exactly one of the two is set.
18
+ */
19
+ interface EnumGate {
20
+ numbers: ReadonlySet<number> | null;
21
+ /** Lower-cased spelling to the DECLARED one: a formula is case-insensitive, the body is not. */
22
+ strings: ReadonlyMap<string, string> | null;
23
+ }
24
+ interface ParamSpec {
25
+ /** `param.scalar` with `Null` and `*` normalized to `null` (no coercion). */
26
+ scalarType: ScalarType | null;
27
+ /** `range === '*'` — marshals as `'r'` and never triggers a lift (see the `_lc` table). */
28
+ isAny: boolean;
29
+ /** The marshalling range kind, `*` already folded to `'r'`. */
30
+ rangeType: 'p' | 'r' | 'm' | null;
31
+ rest: boolean;
32
+ optional: boolean;
33
+ /** A lambda slot (`param.lambda != null`) — takes a callable, never a member. */
34
+ isLambda: boolean;
35
+ /**
36
+ * The `Lazy` marker: the argument's subtree may reach the body UNEVALUATED, as a handle. The
37
+ * slot's {@link IFunction.ParameterTypeJSON.defaultValue} is APPLIED here rather than merely
38
+ * recorded, since a handle-typed parameter carries no initializer of its own.
39
+ */
40
+ lazy: boolean;
41
+ /** `arrayDepth > 0` — the aggregating (flatten) slot. */
42
+ flatten: boolean;
43
+ /** A scalar slot: the only kind that can START an implicit lift (see the `_lc` table). */
44
+ liftTrigger: boolean;
45
+ /** The `AcceptError` marker: a bare error is delivered, not propagated. */
46
+ acceptError: boolean;
47
+ /**
48
+ * `IRange | Scalar` — the arm is picked per argument by its kind
49
+ * ({@link IFunction.ParameterTypeJSON.valueOrRange}): a value, a bare error or a one-cell
50
+ * reference takes the scalar path, a container the range path; never a lift.
51
+ */
52
+ valueOrRange: boolean;
53
+ /**
54
+ * The declared type is ADVISORY ({@link IFunction.ParameterTypeJSON.reportType}): where the
55
+ * engine cannot deliver it, the body receives the raw argument instead of the slot answering
56
+ * `#VALUE!`. Today that is the multi-area union; the body reads it through `getArgs`.
57
+ */
58
+ reportType: boolean;
59
+ /**
60
+ * `ReportType<NoLift<T>>` (either order): a multi-cell REFERENCE at this scalar slot neither
61
+ * lifts (`NoLift`) nor refuses (`ReportType`), it is handed to the body WHOLE, as one
62
+ * `IReferenceRange`; an array still lifts. Excel's `Boolean|Range` slot shape, no `Array` bit:
63
+ * LINEST/LOGEST `const`/`stats`, TREND/GROWTH `const` (DESIGN-LIFT-AND-DEMAND §1). One flag
64
+ * because the coercion loop and both lift walks ask the same question, and a slot carrying only
65
+ * one of the two markers changes nothing here.
66
+ */
67
+ wholeReference: boolean;
68
+ /** The effective policy and its `allowError` half — static per declaration. */
69
+ policy: 'reject' | 'accept' | null;
70
+ allowError: boolean;
71
+ /**
72
+ * The slot's enum, when the engine enforces it: every value delivered is a member, or the slot
73
+ * answers as a failed coercion does. `null` for a slot with no enum, and for `ReportType<E>`,
74
+ * where the enum is what the caller is told and the body owns the verdict.
75
+ */
76
+ enumGate: EnumGate | null;
77
+ /**
78
+ * The plain scalar slot the inline fast path in `_exec` serves: not rest, range, lambda or
79
+ * flatten, and a static policy. A primitive or a single-cell reference at such a slot is the
80
+ * bulk of every call on a formula-heavy sheet. An enum slot is not one, so the fast path pays
81
+ * nothing for the check.
82
+ */
83
+ simple: boolean;
84
+ }
8
85
  interface RepeatPlan {
9
86
  /**
10
87
  * The parameter list the coercion loop runs against.
@@ -16,10 +93,12 @@ interface RepeatPlan {
16
93
  * branch consumes the tail exactly as `...p: T[]` always did. That is not an optimization: a
17
94
  * reference union in a range-typed slot contributes one entry PER AREA, so the coerced count is
18
95
  * argument count plus extra areas and no 1:1 expansion can describe it. Marshalling it as a
19
- * single reference instead answers `#REF!` (PrimitiveUtils `isMultiAreaValue`), which is how
96
+ * single reference instead answers `#VALUE!` (PrimitiveUtils `isMultiAreaValue`), which is how
20
97
  * `SUMPRODUCT(A1:A3,(A1:A3,C1:C3))` briefly started failing.
21
98
  */
22
99
  params: IFunction.ParameterTypeJSON[];
100
+ /** {@link ParamSpec} per entry of `params`. */
101
+ specs: ParamSpec[];
23
102
  /** Number of parameters before the group. */
24
103
  prefix: number;
25
104
  /** Group period (the slot count). */
@@ -33,6 +112,14 @@ interface RepeatPlan {
33
112
  short: boolean;
34
113
  /** Period 1 hands the body `T[]`; period 2+ hands it tuples. */
35
114
  tuples: boolean;
115
+ /**
116
+ * Declared parameters SUPPLIED after the group, solved for alongside `n` rather than fixed — a
117
+ * trailing suffix may be optional (SWITCH's `default`).
118
+ *
119
+ * Only `getArgs()` reads it: the suffix parameters are pinned to the TAIL of the argument list,
120
+ * so this is what lets a body ask for its `default` without counting how many pairs preceded it.
121
+ */
122
+ suffix: number;
36
123
  }
37
124
  export declare class TypedFunction implements IFunction {
38
125
  protected _n: string;
@@ -52,6 +139,29 @@ export declare class TypedFunction implements IFunction {
52
139
  };
53
140
  protected _lc: boolean;
54
141
  protected _rlc: boolean;
142
+ /**
143
+ * Some parameter declares `NoLift<T>` — a multi-cell REFERENCE at that non-repeating scalar
144
+ * slot is `#VALUE!` rather than a broadcast, per parameter as Excel needs
145
+ * (`NETWORKDAYS.INTL` refuses a reference at its date slots and lifts at `weekend`,
146
+ * CALC-ISSUES 31; DESIGN-FUNCTION-ARGUMENTS §2.3, §6). A declaration bit and not a body
147
+ * concern, because the body never runs: without it the lift runs instead and answers one
148
+ * result per cell, so there is nothing for a body-facing API to express. Precomputed so the
149
+ * common call pays one boolean.
150
+ */
151
+ protected _nl: boolean;
152
+ /** Whether ANY parameter (or repeating slot) is `Lazy` — the guard on the wrapping below. */
153
+ protected _lz: boolean;
154
+ /**
155
+ * Some repeating slot declares `NoFilter<T>` — its members are coerced rather than filtered:
156
+ * numeric text parses, a blank inside a multi-cell range reads 0, and a boolean or non-numeric
157
+ * text member is `#VALUE!` for the whole call. The Analysis-ToolPak reading of a repeating
158
+ * slot, where `NoLift<T>` is the same heritage's reading of a non-repeating one. It is applied
159
+ * where the native filter lives — the rest branch of the coercion loop — and nowhere else.
160
+ *
161
+ * A function has at most one repeating group, so this precomputed boolean IS the slot's flag;
162
+ * the common call pays one boolean rather than a property read per argument.
163
+ */
164
+ protected _nmf: boolean;
55
165
  /**
56
166
  * The declared return scalar type, normalized (`'*'`/null → null).
57
167
  *
@@ -60,12 +170,45 @@ export declare class TypedFunction implements IFunction {
60
170
  * through the parameter's coercion.
61
171
  */
62
172
  protected _rs: ScalarType | null;
173
+ /**
174
+ * The reference half of the declared RETURN KIND pair (DESIGN-DECLARATION-SURFACE §3.1): may
175
+ * this call answer a REFERENCE? True for a declared `IReferenceRange` return (`r:'p'` —
176
+ * OFFSET/INDIRECT/XLOOKUP/TAKE/DROP) and for an UNTYPED return (`any` — the pass-through
177
+ * selectors IF/IFS/SWITCH/CHOOSE/INDEX, and any UDF that declares nothing). False for every
178
+ * provable value — a declared scalar (`'*'` included: IFERROR) or a ranged array producer.
179
+ *
180
+ * Read at the call exit (a value-declared function's reference result is demoted to its VALUE)
181
+ * and at the `*`-slot union pass-through.
182
+ */
183
+ protected _rref: boolean;
184
+ /**
185
+ * The declared result kind is a SCALAR member of {@link ValueKind} — `ROW(A1)` is the number 3
186
+ * (TYPE 1) where `TRANSPOSE({5})` stays a 1x1 array (TYPE 64). Precomputed from
187
+ * {@link deriveReturnKind} so the call exit pays one boolean. False when the kind is
188
+ * Reference/Array/Lambda or dynamic (`null` — `'*'`, untyped: the result's own kind rides on
189
+ * the value).
190
+ */
191
+ protected _rkScalar: boolean;
63
192
  protected _json: IFunction.DeclarationJSON;
64
193
  protected _pj: IFunction.ParameterTypeJSON[] | null | undefined;
194
+ /** {@link ParamSpec} per declared parameter — the per-call loop's view of `_pj`. */
195
+ protected _ps: ParamSpec[];
65
196
  /** Index of the repeating-group parameter, or `-1`. */
66
197
  protected _gi: number;
198
+ /**
199
+ * Index of the one parameter that consumes a VARIABLE number of arguments — a repeating group or
200
+ * a trailing rest — or `-1`.
201
+ *
202
+ * `getArgs()` indexes by PARAMETER (DESIGN-FUNCTION-ARGUMENTS §3.3) and this is the single place
203
+ * parameter numbering and argument numbering part company, so it is resolved once here rather
204
+ * than re-derived per call. `_gi` cannot serve: it covers `Repeating<T>` only, and a plain rest
205
+ * parameter is the same thing to a body asking which parameter its argument landed in.
206
+ */
207
+ protected _va: number;
67
208
  /** Resolved {@link RepeatPlan} per argument count (`null` = an arity the declaration refuses). */
68
209
  protected _gc: Map<number, RepeatPlan | null> | null;
210
+ /** The name's argument ceiling — {@link IFunction.IDeclaration.getMaxArguments}, cached. */
211
+ protected _mx: number;
69
212
  constructor(json: IFunction.DeclarationJSON, fn: (...args: any) => any, getContext: () => IFormulaContext | null | undefined, desc?: IFunction.DescriptorJSON | ((locale?: string) => Promise<IFunction.DescriptorJSON>) | null, builtIn?: boolean);
70
213
  /** @inheritdoc IFunction.execute */
71
214
  execute<R = any>(...args: any[]): R;
@@ -98,6 +241,15 @@ export declare class TypedFunction implements IFunction {
98
241
  * (`Repeating<IRange>` hands the body `IRange[]`, the same shape a rest parameter would).
99
242
  */
100
243
  protected _regroup(values: any[], length: number, plan: RepeatPlan): any[];
244
+ /**
245
+ * Gates what an enum slot just delivered — `coerced` from `from` on, which is one entry for a
246
+ * plain slot and one per member for a rest slot. A RANGE entry is a lift's autoboxed operand and
247
+ * is skipped: the lift walks gate it per element, which is where its members are coerced too.
248
+ *
249
+ * @returns the slot's fault, or `null`. A refusal is a failed coercion, so `AcceptError<E>`
250
+ * receives it as the `#VALUE!` it would have raised rather than the call answering it.
251
+ */
252
+ protected _gateDelivered(spec: ParamSpec, coerced: FixedPackedArray, from: number): FormulaError.Known | null;
101
253
  /**
102
254
  * The body of {@link execute} after argument-source resolution. Split out so the reference
103
255
  * lift (`_refLift`) can invoke the function once per element with a substituted argument list,
@@ -106,6 +258,30 @@ export declare class TypedFunction implements IFunction {
106
258
  * writes anything into it.
107
259
  */
108
260
  protected _exec<R = any>(argsEval: any[], argsLength: number): R;
261
+ /**
262
+ * `NoLift<T>`: is a multi-cell REFERENCE sitting at a non-repeating scalar parameter marked to
263
+ * refuse one? (DESIGN-FUNCTION-ARGUMENTS §2.3, §2.7 rule 3.)
264
+ *
265
+ * Three qualifications, each measured rather than assumed
266
+ * (`fn-battery/adhoc-container-at-slot{,2}`, Excel 16.0 build 20326):
267
+ *
268
+ * - **A REFERENCE, not an array.** `MROUND({3,4,5},5)` spills where `MROUND(A1:A3,5)` is
269
+ * `#VALUE!`, so an array at the same slot still lifts. That is the whole reason this reads the
270
+ * argument's shape rather than trusting the parameter: the engine hands a reference over as
271
+ * COORDS and an array as an `IRange`.
272
+ * - **MULTI-CELL.** A 1×1 reference collapses to its member and is an ordinary argument
273
+ * (`EFFECT(J1,4)` over a text cell is `0.0824…`).
274
+ * - **NON-REPEATING.** A repeating scalar slot ABSORBS a container as members whatever the
275
+ * function's heritage — `GCD(C1:C3)` is 4, `MULTINOMIAL(A1:A3)` is 27720 — and those were the
276
+ * rows that could have broken the rule and did not. Period-1 groups marshal through the rest
277
+ * branch and are already excluded by `rest`; period 2+ expand to per-argument entries, so the
278
+ * group's span is skipped explicitly.
279
+ *
280
+ * A multi-AREA union `(A1:A3,C1:C5)` arrives as an ARRAY of areas and is not treated as a
281
+ * reference here — unmeasured at these slots, and inventing a verdict for it would be the kind
282
+ * of unification §2.0 warns about.
283
+ */
284
+ protected _refusesReferenceLift(params: IFunction.ParameterTypeJSON[] | null | undefined, paramLength: number, argsEval: any[], argsLength: number, plan: RepeatPlan | null): boolean;
109
285
  /**
110
286
  * The consumer half of the lift (CALC-ISSUES item 22 change 2). Each `refLifts` entry is a
111
287
  * reference-only (r:'p') argument holding a producer lift's preserved per-element results.
@@ -119,7 +295,7 @@ export declare class TypedFunction implements IFunction {
119
295
  * special-cased: the per-element coercion answers exactly as it would for the unlifted call
120
296
  * (item 23b's `#PARSE!`), which becomes that member of the output.
121
297
  */
122
- protected _refLift<R>(context: IFormulaContext, argsEval: any[], argsLength: number, refLifts: RefLiftEntry[]): R;
298
+ protected _refLift<R>(context: IFormulaContext, argsEval: any[], argsLength: number, refLifts: RefLiftEntry[], firstCell?: boolean): R;
123
299
  /**
124
300
  * @hidden
125
301
  * Vends a NEW instance whose evaluation context comes from `getContext` — the public-API
@@ -138,6 +314,8 @@ export declare class TypedFunction implements IFunction {
138
314
  getDescriptor(locale?: string): Promise<IFunction.IDescriptor>;
139
315
  /** @inheritdoc IFunction.isBuiltIn */
140
316
  isBuiltIn(): boolean;
317
+ /** @inheritdoc IFunction.isLambda */
318
+ isLambda(): boolean;
141
319
  /** @inheritdoc IFunction.getContext() */
142
320
  getContext(): string | null;
143
321
  get [Symbol.toStringTag](): string;
@@ -147,6 +325,21 @@ export declare class TypedFunction implements IFunction {
147
325
  /** @inheritdoc ITypedFunction.isITypedFunction */
148
326
  get isITypedFunction(): true;
149
327
  }
328
+ export declare class Declaration implements IFunction.IDeclaration {
329
+ protected _n: string;
330
+ protected _p: readonly IFunction.IParameterType[];
331
+ protected _r: IFunction.IReturnType;
332
+ protected _mx: number;
333
+ constructor(json: IFunction.DeclarationJSON);
334
+ /** @inheritdoc IFunction.IDeclaration.getName */
335
+ getName(): string;
336
+ /** @inheritdoc IFunction.IDeclaration.getParameters */
337
+ getParameters(): readonly IFunction.IParameterType[];
338
+ /** @inheritdoc IFunction.IDeclaration.getMaxArguments */
339
+ getMaxArguments(): number;
340
+ /** @inheritdoc IFunction.IDeclaration.getReturnType */
341
+ getReturnType(): IFunction.IReturnType;
342
+ }
150
343
  type LiftedFnResults = {
151
344
  elements: any[];
152
345
  rows: number;
@@ -74,6 +74,11 @@ export declare const compareMatches: (a: FunctionMatch, b: FunctionMatch) => num
74
74
  * Sorts `functions` IN PLACE (and returns it) — callers pass the freshly merged array.
75
75
  */
76
76
  export declare const rankByName: (functions: IFunction[], textUpper: string) => IFunction[];
77
+ /**
78
+ * The {@link FunctionIndexEntry} for `fn`, from its descriptor — `null` for a function whose descriptor
79
+ * failed to resolve, which still gets an entry (name only, `Uncategorized`).
80
+ */
81
+ export declare const createIndexEntry: (fn: IFunction, descriptor: IFunction.IDescriptor | null) => FunctionIndexEntry;
77
82
  /**
78
83
  * The LAZY, per-language descriptor index behind {@link IFunctionCollection.search} and
79
84
  * {@link IFunctionCollection.getCategories}.
@@ -1,5 +1,15 @@
1
1
  import { Diagnostic } from '@sheetxl/scripting';
2
2
  import { IModule } from './IModule';
3
- export declare function jsonToModule(name: string, json: IModule.JSON, declarationsOnly?: boolean, diagnostics?: Diagnostic[]): Promise<IModule>;
3
+ export declare function jsonToModule(name: string, json: IModule.JSON, declarationsOnly?: boolean, diagnostics?: Diagnostic[], scope?: IModule.Scope | (() => IModule.Scope)): Promise<IModule>;
4
+ /**
5
+ * Build a module without loading any compiled body — no import, no execution, no `await`.
6
+ *
7
+ * @remarks
8
+ * The synchronous counterpart of {@link jsonToModule}, for owners that vend their modules from a
9
+ * plain accessor. It is complete for a module that has no runnable `compiled` output (imported VBA
10
+ * source is the case that matters); a module that *does* carry one is built as declarations only,
11
+ * so its functions are inspectable but inert.
12
+ */
13
+ export declare function jsonToModuleSync(name: string, json: IModule.JSON, scope?: IModule.Scope | (() => IModule.Scope), diagnostics?: Diagnostic[]): IModule;
4
14
  export declare function runAsyncGenerator<T>(generator: AsyncGenerator<any, T, any>): Promise<T>;
5
15
  //# sourceMappingURL=_ModuleUtils.d.ts.map
@@ -1,4 +1,5 @@
1
1
  import { IRange, FormulaError, Observable, IFormulaContext } from '@sheetxl/primitives';
2
+ import { RunGuard } from '@sheetxl/scripting';
2
3
  export declare const _ReuseGlobalContext: {
3
4
  FormulaContext: IFormulaContext | undefined;
4
5
  ScalarType: {
@@ -12,6 +13,8 @@ export declare const _ReuseGlobalContext: {
12
13
  IRange: typeof IRange;
13
14
  FormulaError: typeof FormulaError;
14
15
  Observable: typeof Observable;
16
+ /** The stop check a guarded compile inserts into loops and function bodies (`CompileOptions.runGuard`). */
17
+ checkRun: typeof RunGuard.check;
15
18
  };
16
19
  /**
17
20
  * Publishes the shared context on `globalThis` for bundled scripts.
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Browser loaders for the script authoring surface (`scripting.d.ts`) and its signature index
3
+ * (`scripting-api.json`).
4
+ *
5
+ * Selected via the `@sheetxl/sdk/scripting/declarations` conditional export (the `browser`/`default`
6
+ * condition). Keeping this browser-only keeps node builtins out of browser bundles entirely.
7
+ */
8
+ export declare function loadScriptingDeclarations(): Promise<string>;
9
+ export declare function loadScriptingApi(): Promise<string>;
10
+ //# sourceMappingURL=declarations.browser.d.ts.map
@@ -0,0 +1,49 @@
1
+ export declare function getScriptingDeclarations(): Promise<string>;
2
+ /**
3
+ * The signature index of the script authoring surface — the shipped `scripting-api.json`.
4
+ *
5
+ * @remarks
6
+ * `scripting.d.ts` carries every declaration with its full documentation, which is what an editor
7
+ * wants. This is the same surface as a lookup table: one entry per declared name, one line per
8
+ * member, each with where its full declaration sits in `scripting.d.ts`. Both files are written by
9
+ * one build step from one text, so a name listed here is a name a script type-checks against.
10
+ */
11
+ export declare namespace ScriptingApi {
12
+ /** One callable or readable member of a declaration. */
13
+ interface Member {
14
+ /** The member's name; `new`, `(call)` and `[index]` for the unnamed signature forms. */
15
+ readonly name: string;
16
+ /** The declaration on one line, without its documentation. */
17
+ readonly signature: string;
18
+ /** The first sentence of the member's documentation. */
19
+ readonly summary?: string;
20
+ readonly deprecated?: true;
21
+ /** 1-based, inclusive line span in `scripting.d.ts`, documentation included. */
22
+ readonly lines: readonly [start: number, end: number];
23
+ }
24
+ /** One declared name. */
25
+ interface Entry {
26
+ readonly kind: 'interface' | 'class' | 'enum' | 'type' | 'const' | 'function' | 'namespace';
27
+ /** The first sentence of the declaration's documentation. */
28
+ readonly summary?: string;
29
+ readonly deprecated?: true;
30
+ /** The type parameter list as written, e.g. `<T = any>`. */
31
+ readonly typeParams?: string;
32
+ /** The types this one extends, as written. Their members are reachable on this type too. */
33
+ readonly extends?: readonly string[];
34
+ /** The declaration on one line — present when there is no member list to show instead. */
35
+ readonly signature?: string;
36
+ readonly members?: readonly Member[];
37
+ /** Names declared in the namespace merged with this one; each is indexed as `<this>.<name>`. */
38
+ readonly nested?: readonly string[];
39
+ /** 1-based, inclusive line span in `scripting.d.ts`, documentation included. */
40
+ readonly lines: readonly [start: number, end: number];
41
+ }
42
+ interface Index {
43
+ readonly version: 1;
44
+ /** Keyed by the dotted path below `SheetXL` — `ICellRange`, `ICellRange.Coords`. */
45
+ readonly types: Readonly<Record<string, Entry>>;
46
+ }
47
+ }
48
+ export declare function getScriptingApi(): Promise<ScriptingApi.Index>;
49
+ //# sourceMappingURL=declarations.d.ts.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Node loaders for the script authoring surface (`scripting.d.ts`) and its signature index
3
+ * (`scripting-api.json`).
4
+ *
5
+ * Selected via the `@sheetxl/sdk/scripting/declarations` conditional export (the `node` condition).
6
+ */
7
+ export declare function loadScriptingDeclarations(): Promise<string>;
8
+ export declare function loadScriptingApi(): Promise<string>;
9
+ //# sourceMappingURL=declarations.node.d.ts.map
@@ -1,4 +1,7 @@
1
1
  export * from './IScript';
2
2
  export * from './IModule';
3
+ export * from './IModuleCollection';
3
4
  export * from './IFunctionCollection';
5
+ export * from './declarations';
6
+ export { getScriptRuntime, withScriptRuntime } from './Runtime';
4
7
  //# sourceMappingURL=index.d.ts.map
@@ -23,11 +23,14 @@ export interface IRangeSelection {
23
23
  * @param axis The axis to traverse. Default is `ICellRange.Axis.Row`.
24
24
  * @param reverse Whether to traverse in reverse. Default is false.
25
25
  * @param region An optional bounding region to *wrap within* when there is no explicit selection (a
26
- * bare cursor) — e.g. a table's data range, so Tab/Enter cycle inside it instead of walking off its
27
- * edge. Resolving this region is the caller's job (the view's `getRegionBounds`); omit it (the bare
28
- * sheet) and a bare-cursor traverse is a plain move.
26
+ * bare cursor), so the move cycles inside it instead of walking off its edge. Omit it and a
27
+ * bare-cursor traverse is a plain move.
29
28
  *
30
- * @remarks Useful for pressing tab or enter from the UI.
29
+ * @remarks
30
+ * Useful for pressing tab or enter from the UI.
31
+ *
32
+ * A bare cursor in a table wraps a row traverse (Tab) within the table's data range without being
33
+ * given a region; a column traverse (Enter) moves on out of the table.
31
34
  */
32
35
  traverse(axis?: IRange.Axis, reverse?: boolean, region?: IRange.Coords): this;
33
36
  /**
@@ -177,6 +180,8 @@ export interface IRangeSelection {
177
180
  * @returns A function to remove the listeners.
178
181
  */
179
182
  addListeners(listeners: IRangeSelection.IListeners, options?: IListener.Options): IListener.Remove;
183
+ /** For runtime type checking. */
184
+ readonly isIRangeSelection: true;
180
185
  }
181
186
  /**
182
187
  * {@inheritDoc IRangeSelection}
@@ -135,6 +135,8 @@ export declare class RangeSelection {
135
135
  protected _scrollCellCoordsIntoView(coords: Partial<IRange.Coords>, options?: globalThis.ScrollIntoViewOptions | boolean): Promise<boolean>;
136
136
  get [Symbol.toStringTag](): string;
137
137
  toString(): string;
138
+ /** {@inheritDoc IRangeSelection.isIRangeSelection} */
139
+ get isIRangeSelection(): true;
138
140
  }
139
141
  interface _ReadCache {
140
142
  range: ICellRange | null;