@sheetxl/sdk 0.8.0-beta.1 → 0.8.0-beta.3

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 (353) hide show
  1. package/THIRD-PARTY-NOTICES.md +1 -1
  2. package/browser/cjs/B0AS8k-hrSCBUlUY.cjs +1 -0
  3. package/browser/cjs/B308aXzcAYr1GN1c.cjs +1 -0
  4. package/browser/cjs/B44p8LIyxG3GtaGC.cjs +93 -0
  5. package/browser/cjs/{a0Z-SXs_N71CtqYb.cjs → D6YaqporVrSewZpm.cjs} +1 -1
  6. package/browser/cjs/DjWcveVCs0NFiKep.cjs +1 -0
  7. package/browser/cjs/index.cjs +2 -2
  8. package/browser/esm/-OKDZ9cUBtkgD4Zr.mjs +20 -0
  9. package/browser/esm/8Nw0lKc4ISs7hEJT.mjs +70223 -0
  10. package/browser/esm/{DlPMeIyxT9tG_WDk.mjs → BmEEyMxNzlbXG98H.mjs} +2 -2
  11. package/browser/esm/BtdDRkWn-zCV3oic.mjs +394 -0
  12. package/browser/esm/DaCTT4vda0m8Fnxo.mjs +8 -0
  13. package/browser/esm/{B0HS42a7lga1k1U_.mjs → DvFKKE72ZA02l8iF.mjs} +1 -1
  14. package/browser/esm/{uyWBMSIxMlt8n5Z3.mjs → Z-dzbKvqaxll9l_t.mjs} +2 -2
  15. package/browser/esm/index.mjs +871 -696
  16. package/licenses/dependencies.txt +204 -204
  17. package/node/esm/{Cku7XiUvw1xrRasi.mjs → BpMTlTrJLWh_wJ5H.mjs} +1 -1
  18. package/node/esm/D5quDVovf1zjYBgJ.mjs +28 -0
  19. package/node/esm/DP0M3_S_dwLwRMiA.mjs +403 -0
  20. package/node/esm/DTHN_EkuOscW3f3B.mjs +8 -0
  21. package/node/esm/index.mjs +54375 -39377
  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 +7094 -0
  26. package/types/scripting-enums.json +54 -8
  27. package/types/scripting.d.ts +6985 -1171
  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 +740 -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 +312 -33
  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 +141 -30
  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 +36 -2
  86. package/types/src/calculation/state/IContextContainer.d.ts +129 -27
  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 +329 -72
  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 +11 -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 +56 -19
  208. package/types/src/primitives/Range.d.ts +102 -24
  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/FunctionCollection.d.ts +41 -11
  229. package/types/src/scripting/IFunctionCollection.d.ts +41 -0
  230. package/types/src/scripting/IModule.d.ts +25 -0
  231. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  232. package/types/src/scripting/IScript.d.ts +18 -0
  233. package/types/src/scripting/Module.d.ts +34 -6
  234. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  235. package/types/src/scripting/Runtime.d.ts +15 -0
  236. package/types/src/scripting/Scripts.d.ts +2 -0
  237. package/types/src/scripting/TypedFunction.d.ts +151 -18
  238. package/types/src/scripting/_FunctionIndex.d.ts +5 -0
  239. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  240. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  241. package/types/src/scripting/declarations.browser.d.ts +10 -0
  242. package/types/src/scripting/declarations.d.ts +49 -0
  243. package/types/src/scripting/declarations.node.d.ts +9 -0
  244. package/types/src/scripting/index.d.ts +3 -0
  245. package/types/src/selection/IRangeSelection.d.ts +9 -4
  246. package/types/src/selection/RangeSelection.d.ts +2 -0
  247. package/types/src/shape/IShape.d.ts +41 -3
  248. package/types/src/shape/Shape.d.ts +10 -0
  249. package/types/src/shape/_ShapeXml.d.ts +28 -0
  250. package/types/src/sheet/CellRegion.d.ts +6 -0
  251. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  252. package/types/src/sheet/ISheet.d.ts +224 -41
  253. package/types/src/sheet/ISheetCollection.d.ts +2 -5
  254. package/types/src/sheet/NamedCellRange.d.ts +16 -7
  255. package/types/src/sheet/Sheet.d.ts +749 -114
  256. package/types/src/sheet/SheetCell.d.ts +81 -21
  257. package/types/src/sheet/SheetCollection.d.ts +19 -8
  258. package/types/src/sheet/SheetRange.d.ts +62 -14
  259. package/types/src/sheet/SheetRanges.d.ts +4 -6
  260. package/types/src/sheet/_CellBuffer.d.ts +214 -0
  261. package/types/src/sheet/_InvalidSheetRange.d.ts +5 -5
  262. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  263. package/types/src/sheet/_RangeStateSweep.d.ts +16 -0
  264. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  265. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  266. package/types/src/sheet/_SheetAutoFitUtils.d.ts +2 -2
  267. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  268. package/types/src/sheet/_SheetFilterUtils.d.ts +32 -1
  269. package/types/src/sheet/_SheetIntents.d.ts +250 -0
  270. package/types/src/sheet/_SheetMutations.d.ts +179 -59
  271. package/types/src/sheet/_SheetStateReader.d.ts +16 -10
  272. package/types/src/sheet/_SheetStateTypes.d.ts +57 -73
  273. package/types/src/sheet/_SheetUtils.d.ts +2 -18
  274. package/types/src/sheet/_WatchAnchor.d.ts +93 -0
  275. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  276. package/types/src/sheet/spatial/index.d.ts +1 -0
  277. package/types/src/sheet/style/SheetCellStyle.d.ts +91 -64
  278. package/types/src/sheet/style/SheetDirectStyle.d.ts +16 -5
  279. package/types/src/sheet/style/_Resolvers.d.ts +5 -3
  280. package/types/src/sheet/style/_StyleUtils.d.ts +37 -7
  281. package/types/src/sheetHeader/ISheetHeader.d.ts +2 -0
  282. package/types/src/sheetHeader/SheetHeader.d.ts +14 -0
  283. package/types/src/sheetProtection/ISheetProtection.d.ts +41 -7
  284. package/types/src/sheetProtection/SheetProtection.d.ts +12 -0
  285. package/types/src/sheetView/ISheetView.d.ts +45 -1
  286. package/types/src/sheetView/SheetView.d.ts +11 -0
  287. package/types/src/slicer/ISlicer.d.ts +2 -0
  288. package/types/src/slicer/Slicer.d.ts +2 -0
  289. package/types/src/sort/ISort.d.ts +2 -0
  290. package/types/src/string/IStringCollection.d.ts +5 -0
  291. package/types/src/string/StringCollection.d.ts +6 -6
  292. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  293. package/types/src/style/IStyle.d.ts +30 -10
  294. package/types/src/style/IStyleCollection.d.ts +63 -42
  295. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  296. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  297. package/types/src/style/StyleCollection.d.ts +41 -5
  298. package/types/src/style/TableStyleCollection.d.ts +49 -0
  299. package/types/src/style/_BuiltInStyleDefs.d.ts +3 -3
  300. package/types/src/style/index.d.ts +4 -0
  301. package/types/src/table/AnchoredTable.d.ts +644 -68
  302. package/types/src/table/AutoTable.d.ts +5 -5
  303. package/types/src/table/ITable.d.ts +228 -30
  304. package/types/src/table/ITableCollection.d.ts +2 -0
  305. package/types/src/table/TableCollection.d.ts +19 -8
  306. package/types/src/table/_FilterField.d.ts +7 -5
  307. package/types/src/table/_NamedTable.d.ts +17 -1
  308. package/types/src/table/_NamedTableSource.d.ts +1 -0
  309. package/types/src/table/_SortField.d.ts +2 -0
  310. package/types/src/table/_TableColumn.d.ts +13 -2
  311. package/types/src/table/_TableMessages.d.ts +1 -0
  312. package/types/src/table/_TableUtils.d.ts +40 -0
  313. package/types/src/text/Bullet.d.ts +4 -0
  314. package/types/src/text/ITextFrame.d.ts +25 -1
  315. package/types/src/text/TextBoxAlignment.d.ts +15 -6
  316. package/types/src/text/TextFrame.d.ts +4 -0
  317. package/types/src/text/TextLine.d.ts +4 -0
  318. package/types/src/text/TextParagraph.d.ts +4 -0
  319. package/types/src/text/TextRun.d.ts +9 -0
  320. package/types/src/text/TextStacked.d.ts +83 -0
  321. package/types/src/text/index.d.ts +1 -0
  322. package/types/src/theme/ITheme.d.ts +2 -0
  323. package/types/src/theme/IThemeCollection.d.ts +2 -0
  324. package/types/src/theme/ThemeCollection.d.ts +8 -7
  325. package/types/src/transaction/ITransaction.d.ts +238 -36
  326. package/types/src/transaction/Transaction.d.ts +99 -11
  327. package/types/src/type/AbstractCollection.d.ts +101 -0
  328. package/types/src/type/ICollection.d.ts +117 -0
  329. package/types/src/type/ITypes.d.ts +9 -7
  330. package/types/src/type/index.d.ts +1 -0
  331. package/types/src/utils/_CSSUtils.d.ts +3 -3
  332. package/types/src/workbook/IWorkbook.d.ts +171 -40
  333. package/types/src/workbook/Workbook.d.ts +103 -7
  334. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  335. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  336. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  337. package/types/src/workbookView/IWorkbookView.d.ts +12 -0
  338. package/types/src/workbookView/WorkbookView.d.ts +5 -0
  339. package/browser/cjs/BatsV2UUraVDCRXm.cjs +0 -57
  340. package/browser/cjs/CUz53T65cRGQRgvv.cjs +0 -33
  341. package/browser/cjs/DU0kYUtdFa3jK-im.cjs +0 -1
  342. package/browser/cjs/Dv4yIPLV98M5zLHa.cjs +0 -1
  343. package/browser/esm/6JKSOvc5czaQB2Bj.mjs +0 -109
  344. package/browser/esm/BtuJ9AGzeURtAsGo.mjs +0 -51241
  345. package/browser/esm/DGU6sM25u0EWCKl1.mjs +0 -824
  346. package/browser/esm/f2G3QRgEbvFJcoa2.mjs +0 -4436
  347. package/node/esm/-pxdn3M3tc6PLHs7.mjs +0 -114
  348. package/node/esm/0n5bslM9jhO1JnI2.mjs +0 -843
  349. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  350. package/types/src/dataValidation/_Utils.d.ts +0 -10
  351. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  352. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  353. 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). */
@@ -61,21 +140,26 @@ export declare class TypedFunction implements IFunction {
61
140
  protected _lc: boolean;
62
141
  protected _rlc: boolean;
63
142
  /**
64
- * `@compat noReferenceLift` — a multi-cell REFERENCE at a non-repeating scalar parameter is
65
- * `#VALUE!` rather than a broadcast (DESIGN-FUNCTION-ARGUMENTS §2.3, §6).
66
- *
67
- * A declaration bit and not a body concern, because the body never runs: without it the lift
68
- * runs instead and answers one result per cell, so there is nothing for a body-facing API to
69
- * express.
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.
70
150
  */
71
- protected _nrl: boolean;
151
+ protected _nl: boolean;
152
+ /** Whether ANY parameter (or repeating slot) is `Lazy` — the guard on the wrapping below. */
153
+ protected _lz: boolean;
72
154
  /**
73
- * `@compat noMemberFilter` — members of a REPEATING scalar parameter are coerced rather than
74
- * filtered: numeric text parses, a blank inside a multi-cell range reads 0, and a boolean or
75
- * non-numeric text member is `#VALUE!` for the whole call (DESIGN-FUNCTION-ARGUMENTS §2.8, §6).
76
- *
77
- * The other half of the ATP heritage `_nrl` carries; `@compat atp` turns on both. It is applied
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
78
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.
79
163
  */
80
164
  protected _nmf: boolean;
81
165
  /**
@@ -86,8 +170,29 @@ export declare class TypedFunction implements IFunction {
86
170
  * through the parameter's coercion.
87
171
  */
88
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;
89
192
  protected _json: IFunction.DeclarationJSON;
90
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[];
91
196
  /** Index of the repeating-group parameter, or `-1`. */
92
197
  protected _gi: number;
93
198
  /**
@@ -102,6 +207,8 @@ export declare class TypedFunction implements IFunction {
102
207
  protected _va: number;
103
208
  /** Resolved {@link RepeatPlan} per argument count (`null` = an arity the declaration refuses). */
104
209
  protected _gc: Map<number, RepeatPlan | null> | null;
210
+ /** The name's argument ceiling — {@link IFunction.IDeclaration.getMaxArguments}, cached. */
211
+ protected _mx: number;
105
212
  constructor(json: IFunction.DeclarationJSON, fn: (...args: any) => any, getContext: () => IFormulaContext | null | undefined, desc?: IFunction.DescriptorJSON | ((locale?: string) => Promise<IFunction.DescriptorJSON>) | null, builtIn?: boolean);
106
213
  /** @inheritdoc IFunction.execute */
107
214
  execute<R = any>(...args: any[]): R;
@@ -134,6 +241,15 @@ export declare class TypedFunction implements IFunction {
134
241
  * (`Repeating<IRange>` hands the body `IRange[]`, the same shape a rest parameter would).
135
242
  */
136
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;
137
253
  /**
138
254
  * The body of {@link execute} after argument-source resolution. Split out so the reference
139
255
  * lift (`_refLift`) can invoke the function once per element with a substituted argument list,
@@ -143,8 +259,8 @@ export declare class TypedFunction implements IFunction {
143
259
  */
144
260
  protected _exec<R = any>(argsEval: any[], argsLength: number): R;
145
261
  /**
146
- * `@compat noReferenceLift`: is a multi-cell REFERENCE sitting at a non-repeating scalar
147
- * parameter? (DESIGN-FUNCTION-ARGUMENTS §2.3, §2.7 rule 3.)
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.)
148
264
  *
149
265
  * Three qualifications, each measured rather than assumed
150
266
  * (`fn-battery/adhoc-container-at-slot{,2}`, Excel 16.0 build 20326):
@@ -179,7 +295,7 @@ export declare class TypedFunction implements IFunction {
179
295
  * special-cased: the per-element coercion answers exactly as it would for the unlifted call
180
296
  * (item 23b's `#PARSE!`), which becomes that member of the output.
181
297
  */
182
- 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;
183
299
  /**
184
300
  * @hidden
185
301
  * Vends a NEW instance whose evaluation context comes from `getContext` — the public-API
@@ -198,6 +314,8 @@ export declare class TypedFunction implements IFunction {
198
314
  getDescriptor(locale?: string): Promise<IFunction.IDescriptor>;
199
315
  /** @inheritdoc IFunction.isBuiltIn */
200
316
  isBuiltIn(): boolean;
317
+ /** @inheritdoc IFunction.isLambda */
318
+ isLambda(): boolean;
201
319
  /** @inheritdoc IFunction.getContext() */
202
320
  getContext(): string | null;
203
321
  get [Symbol.toStringTag](): string;
@@ -207,6 +325,21 @@ export declare class TypedFunction implements IFunction {
207
325
  /** @inheritdoc ITypedFunction.isITypedFunction */
208
326
  get isITypedFunction(): true;
209
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
+ }
210
343
  type LiftedFnResults = {
211
344
  elements: any[];
212
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;
@@ -5,13 +5,17 @@ import { IModel } from '../model';
5
5
  import { IHyperlink } from '../hyperlink';
6
6
  import { IFill } from '../fill';
7
7
  import { IStroke } from '../fill/IStroke';
8
+ import { ITextFrame } from '../text/ITextFrame';
8
9
  /**
9
- * Interface for working with IShape.
10
+ * A drawn shape: a text box, a callout, a rectangle, a connector, or a group of them.
10
11
  *
11
12
  * @remarks
13
+ * A shape is the content of an {@link IMovable} — `movable.getContent<IShape>()` for a movable
14
+ * whose content type is `'shape'`. The movable carries the position; the shape carries what is
15
+ * drawn there and what is written on it.
12
16
  *
13
- * A shape does not position information
14
- * **PLACEHOLDER**
17
+ * Reading only: a shape's preset and its text. An imported shape is otherwise kept as the source
18
+ * wrote it and saved back unchanged.
15
19
  */
16
20
  export interface IShape extends IModel {
17
21
  toJSON(toResourceId?: (resource: IResource) => number | null): IShape.JSON | null;
@@ -23,6 +27,37 @@ export interface IShape extends IModel {
23
27
  * Returns the description of the shape.
24
28
  */
25
29
  getDescription(): string;
30
+ /**
31
+ * Returns the kind of shape this is: its preset geometry.
32
+ *
33
+ * @remarks
34
+ * A DrawingML preset id — `rect`, `borderCallout2`, `curvedConnector3` — or `'custom'` for a
35
+ * shape drawn from its own path, or `'group'` for a group of shapes.
36
+ *
37
+ * The preset says what a shape is for where its name does not: a callout annotates something,
38
+ * a connector links two shapes, and a rectangle with no text is usually a box drawn around the
39
+ * cells under it.
40
+ */
41
+ getShapeType(): string;
42
+ /**
43
+ * Returns the text written on the shape.
44
+ *
45
+ * @remarks
46
+ * Text on a shape is a note from the workbook's author to its reader, so it is worth reading
47
+ * before the cells it sits beside. A group answers with the text of its members, in z-order.
48
+ *
49
+ * @returns `null` when the shape has no text body at all, as a connector does not. A shape that
50
+ * can hold text but has none answers with a frame whose text is `''`.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * for (const movable of sheet.getMovables().getItems({ type: 'shape' })) {
55
+ * const text = movable.getContent<IShape>().getTextFrame()?.getText();
56
+ * if (text) console.log(movable.getRange().toString(), text);
57
+ * }
58
+ * ```
59
+ */
60
+ getTextFrame(): ITextFrame.IText | null;
26
61
  }
27
62
  /**
28
63
  * {@inheritDoc IShape}
@@ -75,6 +110,9 @@ export declare namespace IShape {
75
110
  /** Opaque source XML fragment, captured verbatim from the source file and replayed as-is on
76
111
  * save, for whatever this shape doesn't (yet) model structurally. */
77
112
  xml?: string;
113
+ /** The `mc:Fallback` rendition of `xml`, captured verbatim, when the source offered the shape as an
114
+ * `mc:AlternateContent`. An equation's fallback is where its linear text form is. */
115
+ fallbackXml?: string;
78
116
  /** Original `cNvPr` id from the captured source fragment, if any; used to avoid id collisions
79
117
  * with freshly-generated ids on write. */
80
118
  sourceId?: number;