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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) hide show
  1. package/THIRD-PARTY-NOTICES.md +1 -1
  2. package/browser/esm/{DBIu6NUHIcxOOBQp.mjs → BEAY9XgKNx-bakXW.mjs} +2 -2
  3. package/browser/esm/BbSmt62FpFIpoVzu.mjs +392 -0
  4. package/browser/esm/BcHmrKHwMMOlzc9_.mjs +357 -0
  5. package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +412 -0
  6. package/browser/esm/Bk7xxbdDpa7-sIwd.mjs +7 -0
  7. package/browser/esm/BqskM7wA8oPfFQue.mjs +20 -0
  8. package/browser/esm/Btg43M1Bf-ENDreu.mjs +540 -0
  9. package/browser/esm/BzLfNyc6OOShIErH.mjs +598 -0
  10. package/browser/esm/C9B0djuUarfNdoj0.mjs +466 -0
  11. package/browser/esm/{CHSahmMFYNB0Ajkf.mjs → CSx9ed1JOs7K5BXO.mjs} +2 -2
  12. package/browser/esm/CYyv6uGjo10ig5FP.mjs +142 -0
  13. package/browser/esm/CZ5oa92wZEAXebgk.mjs +622 -0
  14. package/browser/esm/CdLZWVcH8cncBUPJ.mjs +849 -0
  15. package/browser/esm/Cgd5BnM3hg9RyUel.mjs +171 -0
  16. package/browser/esm/CjsUGJEQSbGjnH6R.mjs +1001 -0
  17. package/browser/esm/ClB5ix51roQOpZEr.mjs +7402 -0
  18. package/browser/esm/{CKk58ZLcrllMzfou.mjs → Cqr3knDsBvoVZ6MN.mjs} +179 -202
  19. package/browser/esm/D4uVlrG0xEFctsSM.mjs +905 -0
  20. package/browser/esm/DOMHmhYzPcLVcpAW.mjs +7 -0
  21. package/browser/esm/DUvUK61b2_4pf4tG.mjs +484 -0
  22. package/browser/esm/De175LygU7ot4nQm.mjs +441 -0
  23. package/browser/esm/DhKkrCVASZ6Isvz6.mjs +527 -0
  24. package/browser/esm/Di58Ji1n--3Mgc_2.mjs +607 -0
  25. package/browser/esm/Dtoyt8q5RyGAlxCp.mjs +1141 -0
  26. package/browser/esm/Y79I7Sm8kjaYexhf.mjs +167 -0
  27. package/browser/esm/index.mjs +1472 -1023
  28. package/browser/esm/o8MFgcVXns987D6_.mjs +400 -0
  29. package/browser/esm/zqJOaweiXE9D8RY1.mjs +66681 -0
  30. package/licenses/dependencies.txt +209 -209
  31. package/node/esm/B6D7sSetrcOWLsKj.mjs +1135 -0
  32. package/node/esm/B9ljpEIZg6wOTzRE.mjs +142 -0
  33. package/node/esm/BH1v-E4Ro3bR7Znw.mjs +962 -0
  34. package/node/esm/BN9j8V9gCExMjVtJ.mjs +540 -0
  35. package/node/esm/{DUYP6faJJHCaW1Xf.mjs → Bh4dv6tMjXX3X4nI.mjs} +1 -1
  36. package/node/esm/Bqd62L8KFgdS0Vou.mjs +7 -0
  37. package/node/esm/Bsx9uijd4X_SKV3L.mjs +360 -0
  38. package/node/esm/BtuY37FumvLE7EBo.mjs +629 -0
  39. package/node/esm/C6ZXsNyLXI6zA63X.mjs +402 -0
  40. package/node/esm/CCouEwT37f08qO3V.mjs +7 -0
  41. package/node/esm/CD9wbvufChVYYkrI.mjs +451 -0
  42. package/node/esm/CImNvdz1iP-lUlro.mjs +610 -0
  43. package/node/esm/CT0CN82y0_Qgoryk.mjs +7568 -0
  44. package/node/esm/CUQi5ZtMO02nhG0W.mjs +596 -0
  45. package/node/esm/CUUoseJmFsCf82bb.mjs +28 -0
  46. package/node/esm/CnSQ7MTXAUAyBOoS.mjs +911 -0
  47. package/node/esm/D7MfcID2Wf6l6VpC.mjs +171 -0
  48. package/node/esm/DCplLG93GfTs1vNw.mjs +1860 -0
  49. package/node/esm/DHUADiCmxNQS1ARz.mjs +417 -0
  50. package/node/esm/DMD12JUh7HJw2-jl.mjs +638 -0
  51. package/node/esm/DdFgXl-Ux2cMBTs_.mjs +15 -0
  52. package/node/esm/DefYISWfdZJFx57m.mjs +255 -0
  53. package/node/esm/Ds0d8zXzmgOu3MGx.mjs +403 -0
  54. package/node/esm/MiU4rDOiocmJ-9Ry.mjs +1783 -0
  55. package/node/esm/index.mjs +49153 -36824
  56. package/package.json +15 -16
  57. package/resources/contents.json +64 -0
  58. package/resources/fonts/arial-bold-italic.metrics.json +139 -0
  59. package/resources/fonts/arial-bold.metrics.json +139 -0
  60. package/resources/fonts/arial-italic.metrics.json +139 -0
  61. package/resources/fonts/arial-regular.metrics.json +139 -0
  62. package/resources/fonts/calibri-bold-italic.metrics.json +137 -0
  63. package/resources/fonts/calibri-bold.metrics.json +137 -0
  64. package/resources/fonts/calibri-italic.metrics.json +137 -0
  65. package/resources/fonts/calibri-regular.metrics.json +137 -0
  66. package/resources/fonts/cambria-bold-italic.metrics.json +66 -0
  67. package/resources/fonts/cambria-bold.metrics.json +66 -0
  68. package/resources/fonts/cambria-italic.metrics.json +66 -0
  69. package/resources/fonts/cambria-regular.metrics.json +66 -0
  70. package/resources/fonts/contents.json +126 -0
  71. package/resources/fonts/courier-new-bold-italic.metrics.json +143 -0
  72. package/resources/fonts/courier-new-bold.metrics.json +143 -0
  73. package/resources/fonts/courier-new-italic.metrics.json +143 -0
  74. package/resources/fonts/courier-new-regular.metrics.json +143 -0
  75. package/resources/fonts/times-new-roman-bold-italic.metrics.json +141 -0
  76. package/resources/fonts/times-new-roman-bold.metrics.json +141 -0
  77. package/resources/fonts/times-new-roman-italic.metrics.json +143 -0
  78. package/resources/fonts/times-new-roman-regular.metrics.json +141 -0
  79. package/resources/locales/de/model.msg.json +112 -12
  80. package/resources/locales/en/model.msg.json +119 -13
  81. package/types/scripting-api.json +8048 -0
  82. package/types/scripting-enums.json +277 -106
  83. package/types/scripting.d.ts +18126 -7971
  84. package/types/src/anchored/AbstractAnchored.d.ts +18 -8
  85. package/types/src/anchored/AnchoredMap.d.ts +2 -0
  86. package/types/src/anchored/IAnchoredMap.d.ts +52 -4
  87. package/types/src/autoFill/AutoFill.d.ts +316 -32
  88. package/types/src/autoFill/IAutoFill.d.ts +232 -15
  89. package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +42 -41
  90. package/types/src/border/index.d.ts +1 -1
  91. package/types/src/calculation/Calculation.d.ts +759 -49
  92. package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
  93. package/types/src/calculation/FormulaText.d.ts +82 -0
  94. package/types/src/calculation/ICalculation.d.ts +318 -81
  95. package/types/src/calculation/INamedFormulasCollection.d.ts +5 -8
  96. package/types/src/calculation/NamedFormulaCollection.d.ts +139 -107
  97. package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
  98. package/types/src/calculation/TokenType.d.ts +9 -0
  99. package/types/src/calculation/Types.d.ts +83 -2
  100. package/types/src/calculation/_CloneBoundary.d.ts +80 -0
  101. package/types/src/calculation/_TableRename.d.ts +13 -0
  102. package/types/src/calculation/compiler/ASTTypes.d.ts +71 -0
  103. package/types/src/calculation/compiler/CompilerUtils.d.ts +135 -44
  104. package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
  105. package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
  106. package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
  107. package/types/src/calculation/compiler/ParserUtils.d.ts +26 -1
  108. package/types/src/calculation/compiler/SRParser.d.ts +2 -1
  109. package/types/src/calculation/compiler/Types.d.ts +79 -9
  110. package/types/src/calculation/executor/CalcExecutor.d.ts +422 -34
  111. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +43 -2
  112. package/types/src/calculation/executor/CircularReference.d.ts +2 -0
  113. package/types/src/calculation/formula/Formula.d.ts +58 -21
  114. package/types/src/calculation/formula/FormulaBlock.d.ts +125 -23
  115. package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
  116. package/types/src/calculation/formula/FunctionValues.d.ts +10 -0
  117. package/types/src/calculation/formula/IFormulaBlock.d.ts +261 -67
  118. package/types/src/calculation/formula/LambdaValue.d.ts +46 -23
  119. package/types/src/calculation/formula/LazyValue.d.ts +96 -0
  120. package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
  121. package/types/src/calculation/formula/index.d.ts +1 -0
  122. package/types/src/calculation/functions/FunctionDeclarations.d.ts +31 -0
  123. package/types/src/calculation/functions/Operators.d.ts +8 -0
  124. package/types/src/calculation/functions/initializeFunctions.d.ts +15 -2
  125. package/types/src/calculation/grid/CalcGrid.d.ts +407 -158
  126. package/types/src/calculation/grid/CalcGridBackend.d.ts +493 -0
  127. package/types/src/calculation/grid/CalcGridProxy.d.ts +133 -0
  128. package/types/src/calculation/grid/CalcGridUtils.d.ts +62 -12
  129. package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
  130. package/types/src/calculation/grid/FormulaHost.d.ts +239 -0
  131. package/types/src/calculation/grid/ICalcGrid.d.ts +499 -141
  132. package/types/src/calculation/grid/_CalcRequest.d.ts +289 -0
  133. package/types/src/calculation/grid/index.d.ts +4 -0
  134. package/types/src/calculation/index.d.ts +2 -0
  135. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
  136. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +339 -11
  137. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
  138. package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
  139. package/types/src/calculation/spatial/index.d.ts +1 -0
  140. package/types/src/calculation/state/CalcInputs.d.ts +41 -0
  141. package/types/src/calculation/state/CalcNode.d.ts +160 -29
  142. package/types/src/calculation/state/CalcScope.d.ts +37 -0
  143. package/types/src/calculation/state/CalcState.d.ts +22 -1
  144. package/types/src/calculation/state/CalculationContext.d.ts +53 -4
  145. package/types/src/calculation/state/IContextContainer.d.ts +159 -26
  146. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
  147. package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
  148. package/types/src/calculation/state/index.d.ts +1 -0
  149. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
  150. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
  151. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
  152. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
  153. package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
  154. package/types/src/calculation/symbol/index.d.ts +3 -2
  155. package/types/src/cell/ICell.d.ts +104 -29
  156. package/types/src/cell/ICellHeader.d.ts +24 -2
  157. package/types/src/cell/ICellProtection.d.ts +50 -10
  158. package/types/src/cellRange/ICellRange.d.ts +458 -97
  159. package/types/src/cellRange/ICellRanges.d.ts +23 -21
  160. package/types/src/chart/Chart.d.ts +41 -13
  161. package/types/src/chart/ChartCollection.d.ts +26 -0
  162. package/types/src/chart/IChart.d.ts +166 -12
  163. package/types/src/chart/IChartCollection.d.ts +25 -0
  164. package/types/src/chart/_ChartXml.d.ts +70 -0
  165. package/types/src/chart/index.d.ts +1 -3
  166. package/types/src/collections/ArraysGrid.d.ts +1 -1
  167. package/types/src/collections/IGrid.d.ts +1 -1
  168. package/types/src/collections/ISparseGrid.d.ts +9 -0
  169. package/types/src/collections/ISpatialMap.d.ts +59 -21
  170. package/types/src/collections/ImmutableList.d.ts +28 -0
  171. package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
  172. package/types/src/collections/OverlappingRangeIterator.d.ts +13 -17
  173. package/types/src/collections/RepeatingList.d.ts +7 -0
  174. package/types/src/collections/ScalarGrid.d.ts +50 -0
  175. package/types/src/collections/SparseGrid.d.ts +1 -1
  176. package/types/src/collections/SpatialMap.d.ts +13 -21
  177. package/types/src/collections/Tuple.d.ts +128 -16
  178. package/types/src/collections/_GridUtils.d.ts +19 -6
  179. package/types/src/collections/_RangeSweep.d.ts +97 -0
  180. package/types/src/collections/_SpatialUtils.d.ts +20 -2
  181. package/types/src/collections/index.d.ts +1 -0
  182. package/types/src/color/_BuiltInIndexDefs.d.ts +6 -0
  183. package/types/src/comment/Comment.d.ts +223 -0
  184. package/types/src/comment/CommentCollection.d.ts +40 -0
  185. package/types/src/comment/IComment.d.ts +340 -50
  186. package/types/src/comment/ICommentCollection.d.ts +90 -0
  187. package/types/src/comment/NoteMovable.d.ts +26 -0
  188. package/types/src/comment/_CommentUtils.d.ts +50 -0
  189. package/types/src/comment/_NoteBox.d.ts +50 -0
  190. package/types/src/comment/index.d.ts +1 -0
  191. package/types/src/condition/AnchoredConditional.d.ts +82 -17
  192. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +42 -12
  193. package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +2 -0
  194. package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +2 -0
  195. package/types/src/condition/BuiltInOperators/AndOperator.d.ts +3 -1
  196. package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +2 -0
  197. package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +2 -0
  198. package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +2 -0
  199. package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +2 -0
  200. package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +4 -0
  201. package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +2 -0
  202. package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +2 -0
  203. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +4 -1
  204. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +5 -6
  205. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +2 -0
  206. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +2 -0
  207. package/types/src/condition/BuiltInOperators/IconOperator.d.ts +4 -0
  208. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +22 -5
  209. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +2 -0
  210. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +2 -0
  211. package/types/src/condition/BuiltInOperators/NotOperator.d.ts +2 -0
  212. package/types/src/condition/BuiltInOperators/OrOperator.d.ts +3 -1
  213. package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +2 -0
  214. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
  215. package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +6 -0
  216. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +21 -6
  217. package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +4 -5
  218. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +20 -0
  219. package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +7 -5
  220. package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +3 -5
  221. package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +3 -5
  222. package/types/src/condition/BuiltinSelectors/index.d.ts +12 -6
  223. package/types/src/condition/Condition.d.ts +19 -1
  224. package/types/src/condition/ICondition.d.ts +293 -73
  225. package/types/src/condition/_ConditionFormula.d.ts +152 -0
  226. package/types/src/condition/_ConditionUtils.d.ts +167 -13
  227. package/types/src/conditionalFormat/ConditionalEntry.d.ts +3 -3
  228. package/types/src/conditionalFormat/ConditionalFormat.d.ts +25 -14
  229. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
  230. package/types/src/conditionalFormat/IConditionalFormat.d.ts +12 -10
  231. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
  232. package/types/src/dataValidation/DataValidation.d.ts +69 -3
  233. package/types/src/dataValidation/DataValidationCollection.d.ts +20 -9
  234. package/types/src/dataValidation/IDataValidation.d.ts +149 -30
  235. package/types/src/dataValidation/IDataValidationCollection.d.ts +10 -2
  236. package/types/src/date/DateUtils.d.ts +20 -0
  237. package/types/src/date/_DateUtils.d.ts +91 -7
  238. package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
  239. package/types/src/externalBook/ExternalBookName.d.ts +96 -0
  240. package/types/src/externalBook/IExternalBook.d.ts +170 -18
  241. package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
  242. package/types/src/externalBook/index.d.ts +1 -0
  243. package/types/src/{lib/file → file}/file.browser.d.ts +22 -8
  244. package/types/src/{lib/file → file}/file.node.d.ts +7 -2
  245. package/types/src/fill/IEffect.d.ts +5 -5
  246. package/types/src/fill/IFill.d.ts +123 -78
  247. package/types/src/fill/IStroke.d.ts +190 -64
  248. package/types/src/fill/RectAlignment.d.ts +20 -0
  249. package/types/src/fill/_Fills.d.ts +187 -0
  250. package/types/src/fill/_Stroke.d.ts +89 -0
  251. package/types/src/fill/index.d.ts +1 -0
  252. package/types/src/filter/IFilter.d.ts +188 -5
  253. package/types/src/font/AdvanceBuilder.d.ts +25 -0
  254. package/types/src/font/AdvanceTable.d.ts +114 -0
  255. package/types/src/font/FontCollection.d.ts +57 -0
  256. package/types/src/font/IFont.d.ts +17 -0
  257. package/types/src/font/IFontCollection.d.ts +120 -22
  258. package/types/src/font/TableFileAdvanceBuilder.d.ts +27 -0
  259. package/types/src/font/_BuiltinFontTables.d.ts +10 -0
  260. package/types/src/font/index.d.ts +4 -1
  261. package/types/src/group/Group.d.ts +136 -0
  262. package/types/src/group/GroupMovableCollection.d.ts +37 -0
  263. package/types/src/group/IGroup.d.ts +129 -0
  264. package/types/src/group/index.d.ts +2 -0
  265. package/types/src/history/IHistory.d.ts +3 -2
  266. package/types/src/hyperlink/IHyperlink.d.ts +13 -0
  267. package/types/src/hyperlink/_Hyperlink.d.ts +5 -1
  268. package/types/src/i18n/LanguagePack.d.ts +12 -4
  269. package/types/src/index.d.ts +5 -0
  270. package/types/src/io/AbstractBackingStore.d.ts +24 -1
  271. package/types/src/io/ArrayBackingStore.d.ts +1 -1
  272. package/types/src/io/EmbeddedPart.d.ts +20 -0
  273. package/types/src/io/IEmbeddedPart.d.ts +63 -0
  274. package/types/src/io/IWorkbookIO.d.ts +185 -18
  275. package/types/src/io/WorkbookIO.d.ts +9 -0
  276. package/types/src/io/WorkbookOrigin.d.ts +20 -11
  277. package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
  278. package/types/src/io/_XmlFragment.d.ts +49 -0
  279. package/types/src/io/index.d.ts +1 -0
  280. package/types/src/license/LicenseDetails.d.ts +1 -0
  281. package/types/src/license/LicenseManager.d.ts +4 -1
  282. package/types/src/license/Types.d.ts +38 -0
  283. package/types/src/license/_Utils.d.ts +22 -0
  284. package/types/src/license/details.d.ts +24 -0
  285. package/types/src/license/license-key.d.ts +49 -2
  286. package/types/src/license/runtime.browser.d.ts +41 -0
  287. package/types/src/{lib/utils/utils.node.d.ts → license/runtime.node.d.ts} +9 -12
  288. package/types/src/listener/IListener.d.ts +12 -7
  289. package/types/src/listener/ListenerEmitter.d.ts +46 -5
  290. package/types/src/model/AbstractModel.d.ts +14 -5
  291. package/types/src/movable/AbstractMovableContent.d.ts +182 -0
  292. package/types/src/movable/CustomElement.d.ts +4 -5
  293. package/types/src/movable/ErrorContent.d.ts +49 -0
  294. package/types/src/movable/FormControl.d.ts +285 -0
  295. package/types/src/movable/GroupMember.d.ts +87 -0
  296. package/types/src/movable/ICustomElement.d.ts +7 -2
  297. package/types/src/movable/IErrorContent.d.ts +23 -0
  298. package/types/src/movable/IFormControl.d.ts +455 -0
  299. package/types/src/movable/IMovable.d.ts +378 -46
  300. package/types/src/movable/IMovableCollection.d.ts +63 -3
  301. package/types/src/movable/Movable.d.ts +149 -49
  302. package/types/src/movable/MovableCollection.d.ts +15 -8
  303. package/types/src/movable/MovableContentRegistry.d.ts +113 -0
  304. package/types/src/movable/_BuiltInContents.d.ts +14 -0
  305. package/types/src/movable/_ContentFactory.d.ts +35 -0
  306. package/types/src/movable/_DrawnBounds.d.ts +37 -0
  307. package/types/src/movable/_InsertableCollection.d.ts +28 -0
  308. package/types/src/movable/_MovableUtils.d.ts +5 -0
  309. package/types/src/movable/_PendingContent.d.ts +25 -0
  310. package/types/src/movable/_PlacementUtils.d.ts +55 -0
  311. package/types/src/movable/_RotatedFrame.d.ts +20 -0
  312. package/types/src/movable/index.d.ts +7 -1
  313. package/types/src/named/AbstractNamed.d.ts +1 -1
  314. package/types/src/named/INamed.d.ts +4 -1
  315. package/types/src/named/INamedCollection.d.ts +26 -0
  316. package/types/src/named/NamedCollection.d.ts +16 -15
  317. package/types/src/numFmt/BuiltInFormats.d.ts +20 -7
  318. package/types/src/numFmt/IFormatEngine.d.ts +2 -0
  319. package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
  320. package/types/src/numFmt/_FormatCell.d.ts +11 -2
  321. package/types/src/numFmt/_NumFmtUtils.d.ts +0 -1
  322. package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +6 -0
  323. package/types/src/outline/IOutline.d.ts +186 -0
  324. package/types/src/outline/Outline.d.ts +157 -0
  325. package/types/src/outline/index.d.ts +2 -0
  326. package/types/src/person/IPerson.d.ts +99 -0
  327. package/types/src/person/IPersonCollection.d.ts +51 -0
  328. package/types/src/person/Person.d.ts +32 -0
  329. package/types/src/person/PersonCollection.d.ts +49 -0
  330. package/types/src/person/index.d.ts +4 -0
  331. package/types/src/picture/IPicture.d.ts +33 -3
  332. package/types/src/picture/Picture.d.ts +33 -13
  333. package/types/src/pivot/IPivotTable.d.ts +72 -0
  334. package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
  335. package/types/src/pivot/PivotCache.d.ts +34 -0
  336. package/types/src/pivot/PivotTable.d.ts +61 -0
  337. package/types/src/pivot/PivotTableCollection.d.ts +25 -0
  338. package/types/src/pivot/_PivotXml.d.ts +24 -0
  339. package/types/src/pivot/index.d.ts +6 -0
  340. package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
  341. package/types/src/primitives/Criteria.d.ts +1 -1
  342. package/types/src/primitives/Grouping.d.ts +65 -0
  343. package/types/src/primitives/LambdaBrand.d.ts +26 -0
  344. package/types/src/primitives/PrimitiveUtils.d.ts +60 -21
  345. package/types/src/primitives/Range.d.ts +136 -26
  346. package/types/src/primitives/RangeStats.d.ts +30 -2
  347. package/types/src/primitives/ReferenceRange.d.ts +44 -0
  348. package/types/src/primitives/Runtime.d.ts +15 -2
  349. package/types/src/primitives/environment.browser.d.ts +9 -0
  350. package/types/src/primitives/environment.node.d.ts +10 -0
  351. package/types/src/primitives/stats/AggregateStats.d.ts +49 -15
  352. package/types/src/primitives/stats/Cancellation.d.ts +13 -0
  353. package/types/src/primitives/stats/FrequencyStats.d.ts +10 -1
  354. package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
  355. package/types/src/primitives/stats/Ranked.d.ts +1 -1
  356. package/types/src/primitives/stats/SortedNumbers.d.ts +4 -2
  357. package/types/src/primitives/stats/index.d.ts +1 -0
  358. package/types/src/print/IPrint.d.ts +0 -22
  359. package/types/src/protectedRange/IProtectedRange.d.ts +4 -0
  360. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
  361. package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
  362. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
  363. package/types/src/protection/DefaultProtection.d.ts +12 -1
  364. package/types/src/protection/IProtection.d.ts +36 -2
  365. package/types/src/reference/ReferenceUtils.d.ts +80 -0
  366. package/types/src/reference/index.d.ts +2 -0
  367. package/types/src/resource/IResource.d.ts +21 -1
  368. package/types/src/resource/IResourceCollection.d.ts +9 -1
  369. package/types/src/resource/ResourceCollection.d.ts +6 -6
  370. package/types/src/scripting/FunctionArguments.d.ts +22 -0
  371. package/types/src/scripting/FunctionCollection.d.ts +49 -15
  372. package/types/src/scripting/IFunctionCollection.d.ts +62 -32
  373. package/types/src/scripting/IModule.d.ts +25 -0
  374. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  375. package/types/src/scripting/IScript.d.ts +28 -26
  376. package/types/src/scripting/Module.d.ts +34 -6
  377. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  378. package/types/src/scripting/Runtime.d.ts +15 -0
  379. package/types/src/scripting/Scripts.d.ts +3 -7
  380. package/types/src/scripting/TypedFunction.d.ts +200 -4
  381. package/types/src/scripting/_FunctionIndex.d.ts +8 -3
  382. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  383. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  384. package/types/src/scripting/declarations.browser.d.ts +10 -0
  385. package/types/src/scripting/declarations.d.ts +49 -0
  386. package/types/src/scripting/declarations.node.d.ts +9 -0
  387. package/types/src/scripting/index.d.ts +3 -0
  388. package/types/src/selection/IMovableSelection.d.ts +148 -0
  389. package/types/src/selection/IRangeSelection.d.ts +9 -4
  390. package/types/src/selection/MovableSelection.d.ts +48 -0
  391. package/types/src/selection/RangeSelection.d.ts +15 -0
  392. package/types/src/selection/index.d.ts +1 -0
  393. package/types/src/shape/GeometryPreset.d.ts +197 -0
  394. package/types/src/shape/IGeometry.d.ts +380 -0
  395. package/types/src/shape/IShape.d.ts +341 -194
  396. package/types/src/shape/IShapeStyle.d.ts +135 -0
  397. package/types/src/shape/Shape.d.ts +107 -21
  398. package/types/src/shape/ShapeStyleUtils.d.ts +54 -0
  399. package/types/src/shape/_ConnectorFrame.d.ts +32 -0
  400. package/types/src/shape/_ConnectorRoute.d.ts +33 -0
  401. package/types/src/shape/_Connectors.d.ts +108 -0
  402. package/types/src/shape/_Geometry.d.ts +14 -0
  403. package/types/src/shape/_GeometryLoader.d.ts +21 -0
  404. package/types/src/shape/_ShapeStyle.d.ts +70 -0
  405. package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
  406. package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
  407. package/types/src/shape/_builtIn/arrows.d.ts +6 -0
  408. package/types/src/shape/_builtIn/basic.d.ts +6 -0
  409. package/types/src/shape/_builtIn/callouts.d.ts +6 -0
  410. package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
  411. package/types/src/shape/_builtIn/lines.d.ts +6 -0
  412. package/types/src/shape/_builtIn/math.d.ts +6 -0
  413. package/types/src/shape/_builtIn/other.d.ts +6 -0
  414. package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
  415. package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
  416. package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
  417. package/types/src/shape/geometry/format.d.ts +3 -0
  418. package/types/src/shape/geometry/geometry.d.ts +85 -0
  419. package/types/src/shape/geometry/guides.d.ts +54 -0
  420. package/types/src/shape/geometry/handles.d.ts +14 -0
  421. package/types/src/shape/geometry/index.d.ts +7 -0
  422. package/types/src/shape/geometry/lineEnds.d.ts +54 -0
  423. package/types/src/shape/geometry/paths.d.ts +35 -0
  424. package/types/src/shape/geometry/segments.d.ts +114 -0
  425. package/types/src/shape/index.d.ts +3 -0
  426. package/types/src/sheet/CellRegion.d.ts +6 -0
  427. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  428. package/types/src/sheet/ISheet.d.ts +197 -50
  429. package/types/src/sheet/ISheetCollection.d.ts +2 -5
  430. package/types/src/sheet/NamedCellRange.d.ts +16 -7
  431. package/types/src/sheet/NamedRange.d.ts +8 -0
  432. package/types/src/sheet/Sheet.d.ts +923 -138
  433. package/types/src/sheet/SheetCell.d.ts +92 -32
  434. package/types/src/sheet/SheetCollection.d.ts +19 -8
  435. package/types/src/sheet/SheetRange.d.ts +92 -17
  436. package/types/src/sheet/SheetRanges.d.ts +22 -9
  437. package/types/src/sheet/_CellBuffer.d.ts +214 -0
  438. package/types/src/sheet/_HeldFormula.d.ts +69 -0
  439. package/types/src/sheet/_InvalidSheetRange.d.ts +7 -7
  440. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  441. package/types/src/sheet/_RangeStateSweep.d.ts +16 -0
  442. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  443. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  444. package/types/src/sheet/_SheetAutoFitUtils.d.ts +28 -0
  445. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  446. package/types/src/sheet/_SheetFilterUtils.d.ts +49 -1
  447. package/types/src/sheet/_SheetIntents.d.ts +296 -0
  448. package/types/src/sheet/_SheetMutations.d.ts +182 -62
  449. package/types/src/sheet/_SheetStateReader.d.ts +19 -13
  450. package/types/src/sheet/_SheetStateTypes.d.ts +83 -78
  451. package/types/src/sheet/_SheetUtils.d.ts +39 -22
  452. package/types/src/sheet/_WatchAnchor.d.ts +93 -0
  453. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  454. package/types/src/sheet/spatial/index.d.ts +1 -0
  455. package/types/src/sheet/style/SheetCellStyle.d.ts +209 -304
  456. package/types/src/sheet/style/SheetDirectStyle.d.ts +30 -19
  457. package/types/src/sheet/style/SheetNamedStyle.d.ts +17 -17
  458. package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
  459. package/types/src/sheet/style/_Resolvers.d.ts +14 -8
  460. package/types/src/sheet/style/_StyleUtils.d.ts +38 -8
  461. package/types/src/sheetHeader/ISheetHeader.d.ts +94 -53
  462. package/types/src/sheetHeader/SheetCellHeader.d.ts +4 -0
  463. package/types/src/sheetHeader/SheetHeader.d.ts +42 -22
  464. package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
  465. package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -3
  466. package/types/src/sheetProtection/ISheetProtection.d.ts +41 -7
  467. package/types/src/sheetProtection/SheetProtection.d.ts +12 -0
  468. package/types/src/sheetView/ISheetView.d.ts +69 -15
  469. package/types/src/sheetView/SheetView.d.ts +20 -11
  470. package/types/src/slicer/ISlicer.d.ts +304 -17
  471. package/types/src/slicer/ISlicerStyle.d.ts +109 -0
  472. package/types/src/slicer/Slicer.d.ts +128 -13
  473. package/types/src/slicer/SlicerStyle.d.ts +25 -0
  474. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
  475. package/types/src/slicer/_SlicerUtils.d.ts +30 -0
  476. package/types/src/slicer/index.d.ts +1 -0
  477. package/types/src/sort/ISort.d.ts +4 -2
  478. package/types/src/string/IStringCollection.d.ts +5 -0
  479. package/types/src/string/StringCollection.d.ts +6 -6
  480. package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +72 -52
  481. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  482. package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
  483. package/types/src/style/IStyleCollection.d.ts +91 -60
  484. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  485. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  486. package/types/src/style/SlicerStyleCollection.d.ts +46 -0
  487. package/types/src/style/StyleCollection.d.ts +81 -26
  488. package/types/src/style/TableStyleCollection.d.ts +49 -0
  489. package/types/src/style/_BuiltInStyleDefs.d.ts +6 -6
  490. package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
  491. package/types/src/style/index.d.ts +7 -1
  492. package/types/src/table/AnchoredTable.d.ts +701 -72
  493. package/types/src/table/AutoTable.d.ts +7 -5
  494. package/types/src/table/ITable.d.ts +261 -34
  495. package/types/src/table/ITableCollection.d.ts +12 -0
  496. package/types/src/table/ITableStyle.d.ts +37 -37
  497. package/types/src/table/TableCollection.d.ts +19 -8
  498. package/types/src/table/_FilterField.d.ts +19 -6
  499. package/types/src/table/_NamedTable.d.ts +17 -1
  500. package/types/src/table/_NamedTableSource.d.ts +1 -0
  501. package/types/src/table/_SortField.d.ts +2 -0
  502. package/types/src/table/_TableColumn.d.ts +13 -2
  503. package/types/src/table/_TableMessages.d.ts +1 -0
  504. package/types/src/table/_TableUtils.d.ts +40 -0
  505. package/types/src/text/Bullet.d.ts +4 -0
  506. package/types/src/text/IText.d.ts +182 -0
  507. package/types/src/text/ITextFrame.d.ts +110 -1
  508. package/types/src/text/TextBoxAlignment.d.ts +25 -16
  509. package/types/src/text/TextFrame.d.ts +4 -0
  510. package/types/src/text/TextLine.d.ts +4 -0
  511. package/types/src/text/TextParagraph.d.ts +4 -0
  512. package/types/src/text/TextRotation.d.ts +3 -3
  513. package/types/src/text/TextRun.d.ts +9 -0
  514. package/types/src/text/TextStacked.d.ts +83 -0
  515. package/types/src/text/index.d.ts +1 -0
  516. package/types/src/text/richtext/IRichText.d.ts +36 -0
  517. package/types/src/text/richtext/IStyledFont.d.ts +18 -18
  518. package/types/src/text/richtext/index.d.ts +1 -0
  519. package/types/src/theme/ITheme.d.ts +45 -4
  520. package/types/src/theme/IThemeCollection.d.ts +2 -0
  521. package/types/src/theme/ThemeCollection.d.ts +11 -7
  522. package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
  523. package/types/src/transaction/ITransaction.d.ts +258 -45
  524. package/types/src/transaction/Transaction.d.ts +101 -11
  525. package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
  526. package/types/src/type/AbstractCollection.d.ts +101 -0
  527. package/types/src/type/ICollection.d.ts +117 -0
  528. package/types/src/type/ITypes.d.ts +9 -7
  529. package/types/src/type/index.d.ts +1 -0
  530. package/types/src/utils/_CSSUtils.d.ts +3 -3
  531. package/types/src/wasm/_sdkWasm.d.ts +7 -0
  532. package/types/src/wasm/index.d.ts +2 -0
  533. package/types/src/wasm/sdkWasm.d.ts +29 -0
  534. package/types/src/workbook/IWorkbook.d.ts +180 -40
  535. package/types/src/workbook/Workbook.d.ts +123 -10
  536. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  537. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  538. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  539. package/types/src/workbookView/IWorkbookView.d.ts +12 -0
  540. package/types/src/workbookView/WorkbookView.d.ts +5 -0
  541. package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
  542. package/browser/cjs/BF14ZEAnaqxXroSj.cjs +0 -1
  543. package/browser/cjs/BXtvdT1Z-MsB_o5F.cjs +0 -1
  544. package/browser/cjs/Bc4JjVVZfFo3R4He.cjs +0 -33
  545. package/browser/cjs/CD2RXdnfqSYNc6gX.cjs +0 -57
  546. package/browser/cjs/DcLpXGexEtOxi-dD.cjs +0 -1
  547. package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
  548. package/browser/cjs/index.cjs +0 -3
  549. package/browser/esm/0Mj5WKM362q6CECb.mjs +0 -824
  550. package/browser/esm/CPTtL2f6_4iblmFM.mjs +0 -4436
  551. package/browser/esm/CoA-sUxjiIUIpTUF.mjs +0 -109
  552. package/browser/esm/Dy4Sdpju1T2icURu.mjs +0 -50854
  553. package/node/esm/BtGxbEbBm79YvF_k.mjs +0 -843
  554. package/node/esm/DqgWsVXROpSgKq6c.mjs +0 -114
  555. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  556. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
  557. package/types/src/dataValidation/_Utils.d.ts +0 -10
  558. package/types/src/lib/utils/_Utils.d.ts +0 -20
  559. package/types/src/lib/utils/utils.browser.d.ts +0 -33
  560. package/types/src/movable/IGroup.d.ts +0 -30
  561. package/types/src/movable/IMovableSelection.d.ts +0 -49
  562. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  563. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  564. package/types/src/sheet/listener/index.d.ts +0 -3
  565. /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
@@ -1,843 +0,0 @@
1
- /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.7.28-beta.4
3
- *
4
- * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */
7
- import { A as e, B as t, C as s, D as i, E as r, F as n, H as o, I as a, ICalculation as h, L as l, M as u, N as c, O as p, P as g, R as O, S as _, T as m, V as E, _ as L, a as A, b as T, c as f, d as U, f as d, g as N, h as C, i as S, j as x, k as I, l as R, m as M, n as P, o as v, p as y, r as b, s as k, t as w, u as B, v as $, w as F, x as G, y as D, z as Y } from "./index.mjs";
8
- import { FormulaError as z } from "@sheetxl/primitives";
9
- import { CommonUtils as V } from "@sheetxl/utils";
10
- import { EOF as W, EmbeddedActionsParser as j, Lexer as q, createToken as H, defaultParserErrorProvider as X } from "chevrotain";
11
- var Q = [
12
- "All",
13
- "Data",
14
- "Headers",
15
- "Totals",
16
- "This Row"
17
- ];
18
- var Z = class {
19
- constructor(e = o) {
20
- const t = function(e) {
21
- const t = [...Q];
22
- if (e) for (const s of Object.values(e)) {
23
- const e = s?.trim();
24
- e && !t.some((t) => t.toLowerCase() === e.toLowerCase()) && t.push(e);
25
- }
26
- return t.sort((e, t) => t.length - e.length), t.map((e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|");
27
- }(e.specifiers), s = H({
28
- name: "WhiteSpace",
29
- pattern: /\s+/,
30
- group: q.SKIPPED
31
- }), i = H({
32
- name: "TableSpecifier",
33
- pattern: new RegExp(`\\[#(?:${t})\\]`, "i")
34
- }), r = [
35
- s,
36
- i,
37
- H({
38
- name: "BracketedColumn",
39
- pattern: /\[([^[\]]*)\]/,
40
- longer_alt: [i]
41
- }),
42
- H({
43
- name: "BareSpecifier",
44
- pattern: new RegExp(`#(?:${t})`, "i")
45
- }),
46
- H({
47
- name: "ColumnSep",
48
- pattern: /:/
49
- }),
50
- H({
51
- name: "ListSep",
52
- pattern: new RegExp(e.separators.separatorFunction.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"))
53
- })
54
- ];
55
- this._lexer = new q(r, { ensureOptimizations: !0 });
56
- const n = {};
57
- r.forEach((e) => {
58
- n[e.name] = e;
59
- }), this._vocabulary = n;
60
- }
61
- getVocabulary() {
62
- return this._vocabulary;
63
- }
64
- tokenize(e) {
65
- return this._lexer.tokenize(e);
66
- }
67
- }, K = class extends j {
68
- constructor(e = o) {
69
- const t = new Z(e), i = t.getVocabulary();
70
- super(i, {
71
- nodeLocationTracking: "none",
72
- maxLookahead: 2,
73
- skipValidations: !0,
74
- recoveryEnabled: !1
75
- }), this._lexer = t;
76
- const { TableSpecifier: r, BracketedColumn: a, BareSpecifier: h, ColumnSep: u, ListSep: c } = i, p = this;
77
- p.RULE("ruleContent", () => {
78
- const e = [], t = p.SUBRULE(p.ruleItem);
79
- return p.ACTION(() => {
80
- t && e.push(t);
81
- }), p.MANY(() => {
82
- p.CONSUME(c), p.OPTION(() => {
83
- const t = p.SUBRULE2(p.ruleItem);
84
- p.ACTION(() => {
85
- t && e.push(t);
86
- });
87
- });
88
- }), e;
89
- }), p.RULE("ruleItem", () => p.OR([{ ALT: () => p.SUBRULE(p.ruleSpecifier) }, { ALT: () => p.SUBRULE(p.ruleColumnOrRange) }])), p.RULE("ruleSpecifier", () => p.OR([{ ALT: () => {
90
- const t = p.CONSUME(r);
91
- return p.ACTION(() => {
92
- const s = l(t.image, e);
93
- return s.image = t.image, s;
94
- });
95
- } }, { ALT: () => {
96
- const t = p.CONSUME(h);
97
- return p.ACTION(() => {
98
- const s = l(t.image, e);
99
- return s.image = t.image, s;
100
- });
101
- } }])), p.RULE("ruleColumnOrRange", () => {
102
- const e = p.CONSUME(a);
103
- let t, i;
104
- return p.OPTION(() => {
105
- t = p.CONSUME(u), i = p.CONSUME2(a);
106
- }), p.ACTION(() => {
107
- const r = n(e.image);
108
- if (r.image = e.image, !i) return r;
109
- const o = n(i.image);
110
- o.image = i.image;
111
- const a = s(":", r, o, !0);
112
- return a.image = t?.image ?? ":", a;
113
- });
114
- }), p.performSelfAnalysis();
115
- }
116
- _parseInner(e) {
117
- const t = this._lexer.tokenize(e);
118
- return t.errors.length > 0 || 0 === t.tokens.length ? [] : (this.input = t.tokens, this.reset(), this.ruleContent() ?? []);
119
- }
120
- _parseContent(t) {
121
- if (!t) return [];
122
- const s = t.trim();
123
- if (!s) return [];
124
- const i = s[0];
125
- if ("@" === i) {
126
- const t = s.slice(1).trim();
127
- if (!t) {
128
- const t = e("@", null, !0);
129
- return t.image = "@", [t];
130
- }
131
- const i = n(t);
132
- i.image = t;
133
- const r = e("@", i, !0);
134
- return r.image = "@", [r];
135
- }
136
- if ("[" !== i && "#" !== i) {
137
- const e = n(t);
138
- return e.image = t, [e];
139
- }
140
- return this._parseInner(s);
141
- }
142
- parse(e, t, s) {
143
- const i = () => ({
144
- root: a("", []),
145
- errors: []
146
- });
147
- if (!s) return i();
148
- const r = s.indexOf("[");
149
- if (-1 === r) return i();
150
- const n = s.slice(0, r), o = s.slice(r + 1, -1);
151
- return {
152
- root: a(n, this._parseContent(o)),
153
- errors: this.errors.length > 0 ? [...this.errors] : []
154
- };
155
- }
156
- }, J = /* @__PURE__ */ new Set([
157
- ":",
158
- ".:.",
159
- ".:",
160
- ":."
161
- ]), ee = /* @__PURE__ */ new Set([
162
- ".:.",
163
- ".:",
164
- ":."
165
- ]), te = (e) => {
166
- if (!e) return null;
167
- if (e.type === t.Cell) {
168
- const t = e.value;
169
- return t.rowIndex === Number.MIN_SAFE_INTEGER ? "col" : t.colIndex === Number.MIN_SAFE_INTEGER ? "row" : null;
170
- }
171
- return Number.isInteger(e.value) ? "row" : null;
172
- }, se = (e, t) => {
173
- const s = parseInt(36 === e.charCodeAt(0) ? e.substring(1) : e, 10);
174
- return s >= 1 && s <= t;
175
- }, ie = "A formula must not be empty";
176
- function re(e, t) {
177
- const s = e?.[0]?.image;
178
- if (!s) {
179
- const e = t?.image;
180
- return e ? `Expected a value after '${e}'` : "Expected a value";
181
- }
182
- return `Unexpected '${s}'`;
183
- }
184
- var ne = {
185
- ...X,
186
- buildNoViableAltMessage: (e) => re(e.actual, e.previous),
187
- buildEarlyExitMessage: (e) => re(e.actual, e.previous),
188
- buildNotAllInputParsedMessage: (e) => {
189
- const t = e.firstRedundant?.image;
190
- return t ? `Unexpected '${t}'` : X.buildNotAllInputParsedMessage(e);
191
- },
192
- buildMismatchTokenMessage: (e) => {
193
- const t = e.actual?.image;
194
- return e.expected === W && t ? `Unexpected '${t}'` : X.buildMismatchTokenMessage(e);
195
- }
196
- }, oe = class extends j {
197
- constructor(n) {
198
- const o = n?.lexer ?? E.shared(n?.lexerOptions), a = o.getVocabulary();
199
- super(a, {
200
- skipValidations: !0,
201
- recoveryEnabled: !0,
202
- ...n,
203
- nodeLocationTracking: "full",
204
- errorMessageProvider: ne,
205
- maxLookahead: 1
206
- }), this._ruleInfixOp = this.RULE("ruleInfixOp", () => {
207
- const { PlusOp: e, MinOp: t, MulOp: i, DivOp: r, ExOp: n, ConcatOp: o, GtOp: a, EqOp: h, LtOp: l, NeqOp: u, GteOp: c, LteOp: p } = this._vocab, g = [];
208
- return g.push({ node: this.SUBRULE(this._rulePostfixOp) }), this.MANY(() => {
209
- const s = this.OR(this._c1 || (this._c1 = [
210
- { ALT: () => this.CONSUME(e).image },
211
- { ALT: () => this.CONSUME(t).image },
212
- { ALT: () => this.CONSUME(i).image },
213
- { ALT: () => this.CONSUME(r).image },
214
- { ALT: () => this.CONSUME(n).image },
215
- { ALT: () => this.CONSUME(o).image },
216
- { ALT: () => this.CONSUME(a).image },
217
- { ALT: () => this.CONSUME(h).image },
218
- { ALT: () => this.CONSUME(l).image },
219
- { ALT: () => this.CONSUME(u).image },
220
- { ALT: () => this.CONSUME(c).image },
221
- { ALT: () => this.CONSUME(p).image }
222
- ])), _ = {
223
- value: s,
224
- index: this.getLexerPosition(),
225
- isRange: O.includes(s)
226
- }, m = this.SUBRULE2(this._rulePostfixOp);
227
- g.push({
228
- op: _,
229
- node: m
230
- });
231
- }), this.ACTION(() => {
232
- let e = g.length - 1;
233
- const t = C.length;
234
- for (let i = 0; e > 0 && i < t; i++) {
235
- const t = C[i];
236
- let r = 1;
237
- for (; r < g.length;) {
238
- const i = g[r].op;
239
- if (t.includes(i.value)) {
240
- const t = g[r - 1].node, n = g[r].node;
241
- let o = s(i.value, t, n, i.isRange);
242
- o = this._tag(o, i.index), g[r - 1].node = o, g.splice(r, 1), e--;
243
- } else r++;
244
- }
245
- }
246
- }), g[0].node;
247
- }), this._rulePlusMinusOp = this.RULE("rulePlusMinusOp", () => {
248
- const { PlusOp: e, MinOp: t } = this._vocab;
249
- return this.OR([{ ALT: () => this.CONSUME(e) }, { ALT: () => this.CONSUME(t) }]);
250
- }), this._rulePostfixOp = this.RULE("rulePostfixOp", () => {
251
- const { PercentOp: e } = this._vocab;
252
- let t = this.SUBRULE(this._rulePrefixOp);
253
- const s = [];
254
- return this.MANY(() => {
255
- const t = this.CONSUME(e).image;
256
- this.ACTION(() => {
257
- s.push([t, this.getLexerPosition()]);
258
- });
259
- }), this.ACTION(() => {
260
- const e = s.length;
261
- if (0 !== e) for (let i = 0; i < e; i++) {
262
- const e = s[i], r = e[0], n = e[1], o = O.includes(r);
263
- t = I(r, t, o), t = this._tag(t, n);
264
- }
265
- }), t;
266
- }), this._rulePrefixOp = this.RULE("rulePrefixOp", () => {
267
- const { PlusOp: t, MinOp: s, ImplicitIntersectOp: i } = this._vocab, r = [];
268
- this.MANY(() => {
269
- const e = this.OR([
270
- { ALT: () => this.CONSUME(t).image },
271
- { ALT: () => this.CONSUME(s).image },
272
- { ALT: () => this.CONSUME(i).image }
273
- ]);
274
- this.ACTION(() => {
275
- r.push([e, this.getLexerPosition()]);
276
- });
277
- });
278
- let n = this.SUBRULE(this._ruleRangeOp);
279
- return this.ACTION(() => {
280
- const t = r.length;
281
- if (0 !== t) for (let s = t - 1; s >= 0; s--) {
282
- const t = r[s], i = t[0], o = t[1], a = O.includes(i);
283
- n = e(i, n, a), n = this._tag(n, o);
284
- }
285
- }), n;
286
- }), this._ruleRangeOp = this.RULE("ruleRangeOp", () => {
287
- const { RangeOp: e, RangeTrimFullOp: t, RangeTrimLeadingOp: i, RangeTrimTrailingOp: r, ArrayAnchorOp: n } = this._vocab, o = [];
288
- return o.push({ node: this.SUBRULE(this._ruleCallOp) }), this.MANY2(() => {
289
- this.CONSUME(n), o.push({ anchor: this.getLexerPosition() });
290
- }), this.MANY(() => {
291
- const s = {
292
- value: this.OR(this._c2 || (this._c2 = [
293
- { ALT: () => this.CONSUME(e).image },
294
- { ALT: () => this.CONSUME(t).image },
295
- { ALT: () => this.CONSUME(i).image },
296
- { ALT: () => this.CONSUME(r).image }
297
- ])),
298
- index: this.getLexerPosition()
299
- }, a = this.SUBRULE2(this._ruleCallOp);
300
- o.push({
301
- op: s,
302
- node: a
303
- }), this.MANY3(() => {
304
- this.CONSUME2(n), o.push({ anchor: this.getLexerPosition() });
305
- });
306
- }), this.ACTION(() => {
307
- for (let e = 1; e < o.length; e++) {
308
- const t = o[e];
309
- if (void 0 !== t.anchor) {
310
- o[0].node = this._tag(I("#", o[0].node, !0), t.anchor);
311
- continue;
312
- }
313
- const i = t.op;
314
- let r = s(i.value, o[0].node, t.node, !0);
315
- r = this._tag(r, i.index), o[0].node = r;
316
- }
317
- }), o[0].node;
318
- }), this._ruleCallOp = this.RULE("ruleCallOp", () => {
319
- const { OpenParen: e, CloseParen: t } = this._vocab;
320
- let s = this.SUBRULE(this._ruleFormula);
321
- return this.MANY({
322
- GATE: () => {
323
- const t = this.LA(0), s = this.LA(1);
324
- return !(!t || !s || s.tokenType !== e) && s.startOffset === t.endOffset + 1;
325
- },
326
- DEF: () => {
327
- this.CONSUME(e);
328
- const i = this.getLexerPosition(), r = this.SUBRULE(this._ruleFunctionArguments), n = s, o = this.ACTION(() => this._tag($(n, r), i)), a = this.OPTION(() => this.CONSUME(t));
329
- this.ACTION(() => {
330
- a || this._reportError(o, "Missing closing parenthesis ')'", i), this._tagClose(o, this.getLexerPosition()), s = o;
331
- });
332
- }
333
- }), s;
334
- }), this._ruleIntersectOp = this.RULE("ruleIntersectOp", () => {
335
- const e = [this.SUBRULE(this._ruleInfixOp)];
336
- return this.MANY(() => {
337
- this.OPTION({
338
- GATE: () => {
339
- const e = this.LA(0);
340
- return this.LA(1).startOffset > e.endOffset + 1;
341
- },
342
- DEF: () => {
343
- e.push(this.SUBRULE3(this._ruleInfixOp));
344
- }
345
- });
346
- }), this.ACTION(() => {
347
- for (; e.length > 1;) {
348
- let t = e.length - 1;
349
- for (let i = 0; i < t; i++) {
350
- const r = e[i], n = e[i + 1], o = s(" ", r, n, !0), a = this._tokenMap.get(r);
351
- a && delete a.tokenIndexClose;
352
- const h = this._tokenMap.get(n), l = h?.tokenIndex;
353
- if (void 0 !== l) {
354
- const e = this.input[l], t = this.input[l - 1]?.endOffset ?? -1, s = this._inputText.slice(t + 1, e.startOffset).slice(0, -1);
355
- s.length > 0 && (o.wsBefore = s);
356
- }
357
- h && delete h.tokenIndex, i + 1 < t && h && delete h.tokenIndexClose, e.splice(i, 2, o), i--, t--;
358
- }
359
- }
360
- }), e[0];
361
- }), this._ruleFormula = this.RULE("ruleFormula", () => this.OR9([
362
- { ALT: () => this.SUBRULE(this._ruleLiteral) },
363
- { ALT: () => this.SUBRULE(this._ruleReference) },
364
- { ALT: () => this.SUBRULE(this._ruleFunction) },
365
- { ALT: () => this.SUBRULE(this._ruleParen) },
366
- { ALT: () => this.SUBRULE(this._ruleTableReference) },
367
- { ALT: () => this.SUBRULE(this._ruleBracketedString) },
368
- { ALT: () => this.SUBRULE(this._ruleLiteralArray) }
369
- ])), this._ruleGroup = this.RULE("ruleGroup", () => {
370
- const { ArgSeparator: e } = this._vocab, t = [];
371
- return this.MANY(() => {
372
- this.CONSUME(e);
373
- const s = this.SUBRULE2(this._ruleIntersectOp);
374
- this.ACTION(() => {
375
- t.push(s);
376
- });
377
- }), t;
378
- }), this._ruleParen = this.RULE("ruleParen", () => {
379
- const { OpenParen: e, CloseParen: s } = this._vocab;
380
- return this._processParen(t.Paren, e, s);
381
- }), this._ruleLiteralArray = this.RULE("ruleLiteralArray", () => {
382
- const { OpenCurlyParen: e, CloseCurlyParen: t, ColSeparator: s, RowSeparator: i } = this._vocab;
383
- let n = r();
384
- this.CONSUME(e);
385
- const o = this.getLexerPosition();
386
- let a = this.ACTION(() => this._tag(F(n), o));
387
- const h = this.SUBRULE(this._ruleLiteralForArray);
388
- this.ACTION(() => {
389
- n.value.push(h);
390
- }), this.MANY(() => {
391
- let e = !1;
392
- this.OR([{ ALT: () => {
393
- this.CONSUME(s), e = !0;
394
- } }, { ALT: () => this.CONSUME(i) }]);
395
- const t = this.SUBRULE2(this._ruleLiteralForArray);
396
- this.ACTION(() => {
397
- e || (n = r(), a.value.push(n)), n.value.push(t);
398
- });
399
- });
400
- const l = this.OPTION(() => this.CONSUME(t));
401
- return a = this.ACTION(() => (l || this._reportError(a, "Missing closing parenthesis '}'", o), this._tagClose(a, this.getLexerPosition()))), a;
402
- }), this._ruleLiteralForArray = this.RULE("ruleLiteralForArray", () => {
403
- const { StringToken: e, BooleanToken: t, LiteralError: s, RefError: i } = this._vocab;
404
- return this.OR([
405
- { ALT: () => {
406
- const e = this.OPTION(() => this.SUBRULE(this._rulePlusMinusOp)), t = this.SUBRULE(this._ruleNumber), s = this.ACTION(() => this._tag(p(t.image, this._locale), this.getLexerPosition()));
407
- return this.ACTION(() => e ? x(e.image, s) : s);
408
- } },
409
- { ALT: () => {
410
- const t = this.CONSUME(e);
411
- return this.ACTION(() => this._tag(g(t.image), this.getLexerPosition()));
412
- } },
413
- { ALT: () => {
414
- const e = this.CONSUME(t);
415
- return this.ACTION(() => this._tag(L(e.image, this._locale), this.getLexerPosition()));
416
- } },
417
- { ALT: () => {
418
- const e = this.CONSUME(s);
419
- return this.ACTION(() => this._tag(m(e.image, this._locale), this.getLexerPosition()));
420
- } },
421
- { ALT: () => {
422
- const e = this.CONSUME(i);
423
- return this.ACTION(() => this._tag(u(e.image, this._locale), this.getLexerPosition()));
424
- } }
425
- ]);
426
- }), this._ruleLiteral = this.RULE("ruleLiteral", () => {
427
- const { StringToken: e, BooleanToken: t, LiteralError: s, RefError: i } = this._vocab;
428
- return this.OR([
429
- { ALT: () => {
430
- const e = this.SUBRULE(this._ruleNumber);
431
- return this.ACTION(() => this._tag(p(e.image, this._locale), this.getLexerPosition()));
432
- } },
433
- { ALT: () => {
434
- const t = this.CONSUME(e);
435
- return this.ACTION(() => this._tag(g(t.image), this.getLexerPosition()));
436
- } },
437
- { ALT: () => {
438
- const e = this.CONSUME(t);
439
- return this.ACTION(() => this._tag(L(e.image, this._locale), this.getLexerPosition()));
440
- } },
441
- { ALT: () => {
442
- const e = this.CONSUME(s);
443
- return this.ACTION(() => this._tag(m(e.image, this._locale), this.getLexerPosition()));
444
- } },
445
- { ALT: () => {
446
- const e = this.CONSUME(i);
447
- return this.ACTION(() => this._tag(u(e.image, this._locale), this.getLexerPosition()));
448
- } }
449
- ]);
450
- }), this._ruleFunction = this.RULE("ruleFunction", () => {
451
- const { FunctionToken: e, OpenParen: t, CloseParen: s } = this._vocab, i = this.CONSUME(e).image, r = this.getLexerPosition();
452
- this.CONSUME(t);
453
- const n = this.SUBRULE(this._ruleFunctionArguments);
454
- let o = this.ACTION(() => this._tag(_(i, n), r));
455
- const a = this.OPTION(() => this.CONSUME(s));
456
- return o = this.ACTION(() => (a || this._reportError(o, "Missing closing parenthesis ')'", r), this._tagClose(o, this.getLexerPosition()))), o;
457
- }), this._ruleFunctionArguments = this.RULE("ruleFunctionArguments", () => {
458
- const { ArgSeparator: e, CloseParen: t } = this._vocab, s = [];
459
- return this.OPTION({
460
- GATE: () => this.LA(1).tokenType !== t,
461
- DEF: () => {
462
- let t;
463
- this.OPTION2(() => {
464
- t = this.SUBRULE(this._ruleIntersectOp);
465
- }), t = this.ACTION(() => t ?? this._tagClose(G(), this.getLexerPosition())), s.push(t), this.MANY(() => {
466
- let t;
467
- this.CONSUME(e), this.OPTION3(() => {
468
- t = this.SUBRULE2(this._ruleIntersectOp);
469
- }), t = this.ACTION(() => t ?? this._tagClose(G(), this.getLexerPosition())), s.push(t);
470
- });
471
- }
472
- }), s;
473
- }), this._ruleBracketedString = this.RULE("ruleBracketedString", () => {
474
- const { BracketedString: e } = this._vocab, t = this.CONSUME(e), s = this.getLexerPosition();
475
- return this.ACTION(() => {
476
- const e = this._srParser.parse(this.rowIndex, this.colIndex, t.image);
477
- for (const t of e.errors) this._astErrors.push(t);
478
- return this._tag(e.root, s);
479
- });
480
- }), this._ruleTableReference = this.RULE("ruleTableReference", () => {
481
- const { TableReference: e } = this._vocab, t = this.CONSUME(e), s = this.getLexerPosition();
482
- return this.ACTION(() => {
483
- const e = this._srParser.parse(this.rowIndex, this.colIndex, t.image);
484
- for (const t of e.errors) this._astErrors.push(t);
485
- return this._tag(e.root, s);
486
- });
487
- }), this._ruleReference = this.RULE("ruleReference", () => {
488
- const { Sheet: e, SheetQuoted: s, DivOp: r, MulOp: n, PlusOp: o, MinOp: a, ArgSeparator: h, Cell: l, NamedToken: p, SingleQuotedString: g, Column: O, AbsRow: _, DigitToken: m, RefError: E } = this._vocab;
489
- let L;
490
- this.OPTION2({
491
- GATE: () => {
492
- for (let t = 1; t < 6; t++) {
493
- const i = this.LA(t);
494
- if (i.tokenType === e || i.tokenType === s) return !0;
495
- if ("" === i.image || ")" === i.image || i.tokenType === r || i.tokenType === n || i.tokenType === o || i.tokenType === a || i.tokenType === h) break;
496
- }
497
- return !1;
498
- },
499
- DEF: () => {
500
- L = this.SUBRULE(this._rulePrefixSheetName);
501
- }
502
- });
503
- let A = this.OR([
504
- { ALT: () => {
505
- const e = this.CONSUME(l), t = this.getLexerPosition();
506
- return this.ACTION(() => this._tag(D(e.image, this.rowIndex, this.colIndex), t));
507
- } },
508
- { ALT: () => {
509
- const e = this.OR2([{ ALT: () => this.CONSUME(p) }, { ALT: () => this.CONSUME(g) }]);
510
- return this.ACTION(() => this._tag(i(e.image), this.getLexerPosition()));
511
- } },
512
- { ALT: () => this.SUBRULE(this._ruleBracketedString) },
513
- { ALT: () => this.SUBRULE(this._ruleFunction) },
514
- { ALT: () => {
515
- const e = this.CONSUME(O);
516
- return this.ACTION(() => this._tag(T(e.image, this.colIndex), this.getLexerPosition()));
517
- } },
518
- { ALT: () => {
519
- const e = this.CONSUME(_);
520
- return this.ACTION(() => this._tag(c(e.image, this.rowIndex), this.getLexerPosition()));
521
- } },
522
- { ALT: () => {
523
- const e = this.CONSUME(m);
524
- return this.ACTION(() => this._tag(c(e.image, this.rowIndex), this.getLexerPosition()));
525
- } },
526
- { ALT: () => {
527
- const e = this.CONSUME(E);
528
- return this.ACTION(() => this._tag(u(e.image, this._locale), this.getLexerPosition()));
529
- } }
530
- ]);
531
- return this.ACTION(() => {
532
- if (L && A) {
533
- if ("" === L.name) return void this._reportError(A, `'${L.image}' is not a valid sheet reference — a '!' needs a sheet name before it`);
534
- let e = A;
535
- A.type === t.Postfix && A.inputs?.[0] && (e = A.inputs[0]), e.type !== t.Cell && e.type !== t.Named && e.type !== t.Row && e.type !== t.TableColumn && e.type !== t.Error || (e.value.scope = L.name, e.value.scopeImage = L.image);
536
- }
537
- }), A;
538
- }), this._rulePrefixSheetName = this.RULE("rulePrefixSheetName", () => {
539
- const { SheetQuoted: e, BracketedString: t, NamedToken: s, RangeOp: i, Sheet: r } = this._vocab;
540
- return this.OR([{ ALT: () => {
541
- const t = this.CONSUME(e).image;
542
- return {
543
- name: t.slice(1, -2).replace(/''/g, "'"),
544
- image: t
545
- };
546
- } }, { ALT: () => {
547
- let e = "";
548
- this.OPTION(() => {
549
- e += this.CONSUME(t).image;
550
- }), this.OPTION2({
551
- GATE: () => this.LA(2).tokenType === i,
552
- DEF: () => {
553
- e += this.CONSUME(s).image, this.CONSUME(i), e += ":";
554
- }
555
- });
556
- const n = this.CONSUME(r).image;
557
- return {
558
- name: e + n.slice(0, -1),
559
- image: e + n
560
- };
561
- } }]);
562
- }), this._ruleNumber = this.RULE("ruleNumber", () => {
563
- const { NumberToken: e, ScientificDigit: t, DigitToken: s } = this._vocab;
564
- return this.OR([
565
- { ALT: () => this.CONSUME(e) },
566
- { ALT: () => this.CONSUME(t) },
567
- { ALT: () => this.CONSUME(s) }
568
- ]);
569
- }), this._ruleRoot = this.RULE("ruleRoot", () => {
570
- const { ArgSeparator: e } = this._vocab, s = this.SUBRULE(this._ruleIntersectOp), i = [];
571
- return this.MANY(() => {
572
- this.CONSUME(e), i.push(this.SUBRULE2(this._ruleIntersectOp));
573
- }), this.ACTION(() => 0 === i.length ? s : {
574
- type: t.List,
575
- value: ",",
576
- inputs: [s, ...i],
577
- isReference: !0
578
- });
579
- }), this._lexer = o, this._locale = o.getLocale(), this._vocab = a, this._srParser = n?.srParser ?? new K(this._locale), this.performSelfAnalysis();
580
- }
581
- getLexer() {
582
- return this._lexer;
583
- }
584
- parse(e, s, r, n) {
585
- const o = this._lexer.tokenize(r);
586
- let a;
587
- if (!o) return {
588
- root: {
589
- type: t.Unparsed,
590
- value: r
591
- },
592
- errors: []
593
- };
594
- const h = o.tokens;
595
- if (0 === h.length) throw new z.Parse(ie);
596
- return this.input = h, this._inputText = r, this._inputTextLength = r.length, this.rowIndex = e, this.colIndex = s, this._astErrors = [], this._tokenMap = /* @__PURE__ */ new Map(), this.reset(), a = this._ruleRoot(), a && this._bindAllWhitespace(a), a = Y(a, (s, r) => {
597
- const n = s.type, o = r?.isReference ? r.value : void 0, a = "string" == typeof o && J.has(o), h = "string" == typeof o && ee.has(o), l = a ? r.inputs : void 0, u = l ? l[0] === s ? l[1] : l[0] : void 0, p = this._lexer.getMaxRow();
598
- if (a && n !== t.Cell && Number.isInteger(s.value)) {
599
- const t = c(s.image, e);
600
- return N(t, s), "row" !== te(u) ? this._reportError(t, `'${s.image}' is not a valid reference — a whole row can only pair with another row (as in ${s.image}:${s.image})`) : se(s.image, p) || this._reportError(t, `'${s.image}' is not a valid row — rows run from 1 to ${p}`), t;
601
- }
602
- if (h && n === t.Named) return this._reportError(s, `'${s.image ?? s.value?.nameId}' is a name — '${o}' needs a cell or range on both sides`), s;
603
- if (n === t.Cell) {
604
- const e = s.value, t = e.colIndex === Number.MIN_SAFE_INTEGER, r = e.rowIndex === Number.MIN_SAFE_INTEGER;
605
- if ((t || r) && te(u) === (t ? "row" : "col")) return t && !se(s.image, p) && this._reportError(s, `'${s.image}' is not a valid row — rows run from 1 to ${p}`), s;
606
- if (t || r || e.colIndex >= 16384) {
607
- const n = i(s.image);
608
- N(n, s);
609
- const a = e.scope;
610
- return a && (n.value.scope = a, n.value.scopeImage = e.scopeImage), t ? this._reportError(n, `'${s.image}' is not a valid reference — a row needs a column (use ${s.image}:${s.image} for the whole row)`) : r && s.image.includes("$") ? this._reportError(n, `'${s.image}' is not a valid reference — a whole column can only pair with another column (as in ${s.image}:${s.image})`) : h && this._reportError(n, `'${s.image}' is a name — '${o}' needs a cell or range on both sides`), n;
611
- }
612
- }
613
- return s;
614
- }), n && a && (a = w(a, n, null)), {
615
- root: a,
616
- errors: [...this.errors, ...this._astErrors]
617
- };
618
- }
619
- _processParen(e, t, s) {
620
- let i;
621
- this.CONSUME(t);
622
- const r = this.getLexerPosition();
623
- i = this.ACTION(() => (i = {
624
- type: e,
625
- value: null,
626
- inputs: null
627
- }, this._tag(i, r)));
628
- const n = [], o = this.SUBRULE(this._ruleIntersectOp);
629
- o && n.push(o);
630
- const a = this.SUBRULE(this._ruleGroup), h = this.OPTION(() => this.CONSUME(s));
631
- return i = this.ACTION(() => {
632
- if (a) for (let e = 0; e < a.length; e++) n.push(a[e]);
633
- return i && (h || this._reportError(i, "Missing closing parenthesis", r), i.inputs = n), this._tagClose(i, this.getLexerPosition());
634
- }), i;
635
- }
636
- _reportError(e, t, s = void 0, i = "SyntaxError") {
637
- void 0 === s && (s = this.getLexerPosition()), e.error = !0, this._astErrors.push({
638
- name: i,
639
- message: t,
640
- previousToken: this.input[s],
641
- ast: e
642
- });
643
- }
644
- _tag(e, t) {
645
- return e ? (e.image ??= this.input[t].image, this._tokenMap.set(e, {
646
- tokenIndex: t,
647
- tokenIndexClose: t
648
- }), e) : (console.warn("node is null"), e);
649
- }
650
- _tagClose(e, t) {
651
- const s = this._tokenMap.get(e);
652
- return s ? s.tokenIndexClose = t : this._tokenMap.set(e, { tokenIndexClose: t }), e;
653
- }
654
- _bindNodeWhitespace(e) {
655
- const t = this._tokenMap.get(e);
656
- if (!t) return;
657
- const s = this.input, i = this._inputText, r = t.tokenIndex;
658
- if (void 0 !== r) {
659
- const t = s[r], n = s[r - 1]?.endOffset ?? -1;
660
- n + 1 < t.startOffset && (e.wsBefore = i.slice(n + 1, t.startOffset));
661
- }
662
- const n = t.tokenIndexClose;
663
- if (void 0 !== n) {
664
- const t = s[n], r = s[n + 1]?.startOffset ?? this._inputTextLength;
665
- t.endOffset + 1 < r && (e.wsAfter = i.slice(t.endOffset + 1, r));
666
- }
667
- }
668
- _bindAllWhitespace(e) {
669
- if (e) {
670
- if (this._bindNodeWhitespace(e), e.inputs) for (const t of e.inputs) t && this._bindAllWhitespace(t);
671
- if (e.type === t.Array && Array.isArray(e.value)) {
672
- for (const t of e.value) if (t && Array.isArray(t.value)) for (const e of t.value) e && this._bindAllWhitespace(e);
673
- }
674
- }
675
- }
676
- }, ae = class {
677
- constructor(e) {
678
- e = { ...e }, this._editing = "editing" === e.profile, this._parser = new oe(e);
679
- }
680
- compile(e, t, s, i, r, n, o, a) {
681
- if (0 === i.length) {
682
- const t = new z.Parse(ie);
683
- return this._compileUnparsed(e, r, i, {
684
- input: i,
685
- cause: t,
686
- causes: [t]
687
- });
688
- }
689
- if (i.length > h.MAX_EXPRESSION_LENGTH) {
690
- const t = new z.Parse((l = i.length, `A formula must not be longer than ${h.MAX_EXPRESSION_LENGTH} characters (this one is ${l})`));
691
- return this._compileUnparsed(e, r, i, {
692
- input: i,
693
- cause: t,
694
- causes: [t]
695
- });
696
- }
697
- var l;
698
- let u, c, p = [];
699
- try {
700
- const e = this._parser.parse(t, s, i, a);
701
- u = e.root, p = e.errors;
702
- } catch (e) {
703
- c = z.isError(e, z.Code.Parse) ? e : new z.Parse(e.message, e);
704
- }
705
- const g = [];
706
- for (const e of p) g.push(U(e));
707
- if (u) {
708
- R(u, n ?? null) && g.push(new z.Parse("The implicit intersection operator ' ' requires a cell or range on both sides")), f(u, n ?? null) && g.push(new z.Parse("The spill anchor operator '#' requires a cell or range")), B(u, n ?? null) && g.push(new z.Parse("Expected a reference; a value cannot be converted to one."));
709
- const e = S(u, n ?? null);
710
- e && g.push(new z.Parse(e));
711
- const t = A(u, n ?? null);
712
- t && g.push(new z.Parse(t));
713
- const s = v(u, n ?? null);
714
- s && g.push(new z.Parse(s));
715
- const i = k(u);
716
- i && g.push(new z.Parse(i));
717
- }
718
- g.length > 0 && !c && (c = g[0]);
719
- let O = null;
720
- if (c && (O = {
721
- input: i,
722
- cause: c,
723
- causes: g.length > 0 ? g : [c]
724
- }), !u) {
725
- if (this._editing) {
726
- const n = this._recoverCompiled(e, t, s, i, r, O, o);
727
- if (n) return n;
728
- }
729
- return this._compileUnparsed(e, r, i, O);
730
- }
731
- u = y(u, n ?? null), u = P(u, n ?? null), r && (u = d(u, r, o));
732
- const _ = b(e, r, u, this._editing, O, n ?? null);
733
- if (this._editing && O && M(_.getTokens(), r) !== i) return this._recoverCompiled(e, t, s, i, r, O, o) || this._compileUnparsed(e, r, i, O);
734
- return _;
735
- }
736
- autoCorrect(e) {
737
- let t;
738
- try {
739
- const s = this._parser.getLexer().tokenize(e, !1);
740
- if (s.errors.length > 0) return null;
741
- t = s.tokens;
742
- } catch {
743
- return null;
744
- }
745
- const s = [];
746
- for (const e of t) {
747
- const t = e.tokenType?.name;
748
- if ("OpenParen" === t) s.push(")");
749
- else if ("OpenCurlyParen" === t) s.push("}");
750
- else if (("CloseParen" === t || "CloseCurlyParen" === t) && s.pop() !== ("CloseParen" === t ? ")" : "}")) return null;
751
- }
752
- return 0 === s.length ? null : e + s.reverse().join("");
753
- }
754
- _compileUnparsed(e, s, i, r) {
755
- const n = {
756
- runtime: e,
757
- symbols: s,
758
- getFunction: null,
759
- ast: null,
760
- evaluations: V.EmptyArray,
761
- executions: V.EmptyArray,
762
- bindings: V.EmptyArray,
763
- referencesAbsolute: V.EmptyArray,
764
- referencesExecute: V.EmptyArray,
765
- referencesRelative: V.EmptyArray,
766
- referencesRoot: V.EmptyArray,
767
- referenceIndices: V.EmptyArray,
768
- getTokens: () => [{
769
- type: t.Unparsed,
770
- value: i,
771
- text: i
772
- }],
773
- namedIds: V.EmptyArray,
774
- symbolIds: V.EmptyArray,
775
- hasTotals: !1,
776
- isReferenceOnly: !1,
777
- error: r,
778
- transform: () => n
779
- };
780
- return n;
781
- }
782
- _recoverCompiled(e, s, i, r, n, o, a) {
783
- let h, l = r.length;
784
- try {
785
- const e = this._parser.getLexer().tokenize(r, !1);
786
- h = e.tokens, e.errors.length > 0 && (l = Math.min(l, e.errors[0].offset));
787
- } catch {
788
- return null;
789
- }
790
- const u = [];
791
- for (let e = h.length - 1; e >= 0 && u.length < 24; e--) {
792
- const t = (h[e].endOffset ?? -1) + 1;
793
- t > 0 && t < r.length && t <= l && u.push(t);
794
- }
795
- for (const h of u) {
796
- const l = r.slice(0, h);
797
- let u, c;
798
- try {
799
- u = this._parser.parse(s, i, l).root;
800
- } catch {
801
- continue;
802
- }
803
- if (!u || u.type === t.Unparsed) continue;
804
- try {
805
- const t = P(u, null);
806
- c = b(e, n, n ? d(t, n, a) : t, !0, o);
807
- } catch {
808
- continue;
809
- }
810
- if (M(c.getTokens(), n) !== l) continue;
811
- const p = r.slice(h);
812
- if (0 === p.length) return c;
813
- let g;
814
- const O = {
815
- ...c,
816
- getTokens: () => (g || (g = [...c.getTokens()], this._appendUnparsedTail(g, p)), g),
817
- transform: () => O
818
- };
819
- return O;
820
- }
821
- return null;
822
- }
823
- _appendUnparsedTail(e, s) {
824
- const i = [];
825
- for (const s of e) s.type === t.Paren && "(" === s.text ? i.push({
826
- ctx: s.context,
827
- argIndex: 0
828
- }) : s.type === t.Paren && ")" === s.text ? i.pop() : s.type === t.Separator && i.length > 0 && i[i.length - 1].argIndex++;
829
- const r = i.length > 0 ? i[i.length - 1] : void 0, n = r?.ctx ? {
830
- ...r.ctx,
831
- argIndex: -1 === r.ctx.argIndex ? r.argIndex : r.ctx.argIndex
832
- } : void 0, o = (s, i) => {
833
- const r = {
834
- type: t.Unparsed,
835
- value: s,
836
- text: s
837
- };
838
- n && (r.context = n), i && (r.isLookup = !0), e.push(r);
839
- }, a = /[A-Za-z_][A-Za-z0-9_]*$/.exec(s), h = a ? a.index : -1;
840
- h >= 0 && (0 === h || !/[A-Za-z0-9_.]/.test(s[h - 1])) ? (h > 0 && o(s.slice(0, h)), o(s.slice(h), !0)) : o(s);
841
- }
842
- };
843
- export { ae as FormulaCompiler };