@sheetxl/sdk 0.8.0-beta.1 → 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.
- package/THIRD-PARTY-NOTICES.md +1 -1
- package/browser/esm/{B0HS42a7lga1k1U_.mjs → BEAY9XgKNx-bakXW.mjs} +2 -2
- package/browser/esm/BbSmt62FpFIpoVzu.mjs +392 -0
- package/browser/esm/BcHmrKHwMMOlzc9_.mjs +357 -0
- package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +412 -0
- package/browser/esm/Bk7xxbdDpa7-sIwd.mjs +7 -0
- package/browser/esm/BqskM7wA8oPfFQue.mjs +20 -0
- package/browser/esm/Btg43M1Bf-ENDreu.mjs +540 -0
- package/browser/esm/BzLfNyc6OOShIErH.mjs +598 -0
- package/browser/esm/C9B0djuUarfNdoj0.mjs +466 -0
- package/browser/esm/{uyWBMSIxMlt8n5Z3.mjs → CSx9ed1JOs7K5BXO.mjs} +2 -2
- package/browser/esm/CYyv6uGjo10ig5FP.mjs +142 -0
- package/browser/esm/CZ5oa92wZEAXebgk.mjs +622 -0
- package/browser/esm/CdLZWVcH8cncBUPJ.mjs +849 -0
- package/browser/esm/Cgd5BnM3hg9RyUel.mjs +171 -0
- package/browser/esm/CjsUGJEQSbGjnH6R.mjs +1001 -0
- package/browser/esm/ClB5ix51roQOpZEr.mjs +7402 -0
- package/browser/esm/{DlPMeIyxT9tG_WDk.mjs → Cqr3knDsBvoVZ6MN.mjs} +179 -202
- package/browser/esm/D4uVlrG0xEFctsSM.mjs +905 -0
- package/browser/esm/DOMHmhYzPcLVcpAW.mjs +7 -0
- package/browser/esm/DUvUK61b2_4pf4tG.mjs +484 -0
- package/browser/esm/De175LygU7ot4nQm.mjs +441 -0
- package/browser/esm/DhKkrCVASZ6Isvz6.mjs +527 -0
- package/browser/esm/Di58Ji1n--3Mgc_2.mjs +607 -0
- package/browser/esm/Dtoyt8q5RyGAlxCp.mjs +1141 -0
- package/browser/esm/Y79I7Sm8kjaYexhf.mjs +167 -0
- package/browser/esm/index.mjs +1472 -1023
- package/browser/esm/o8MFgcVXns987D6_.mjs +400 -0
- package/browser/esm/zqJOaweiXE9D8RY1.mjs +66681 -0
- package/licenses/dependencies.txt +209 -209
- package/node/esm/B6D7sSetrcOWLsKj.mjs +1135 -0
- package/node/esm/B9ljpEIZg6wOTzRE.mjs +142 -0
- package/node/esm/BH1v-E4Ro3bR7Znw.mjs +962 -0
- package/node/esm/BN9j8V9gCExMjVtJ.mjs +540 -0
- package/node/esm/{Cku7XiUvw1xrRasi.mjs → Bh4dv6tMjXX3X4nI.mjs} +1 -1
- package/node/esm/Bqd62L8KFgdS0Vou.mjs +7 -0
- package/node/esm/Bsx9uijd4X_SKV3L.mjs +360 -0
- package/node/esm/BtuY37FumvLE7EBo.mjs +629 -0
- package/node/esm/C6ZXsNyLXI6zA63X.mjs +402 -0
- package/node/esm/CCouEwT37f08qO3V.mjs +7 -0
- package/node/esm/CD9wbvufChVYYkrI.mjs +451 -0
- package/node/esm/CImNvdz1iP-lUlro.mjs +610 -0
- package/node/esm/CT0CN82y0_Qgoryk.mjs +7568 -0
- package/node/esm/CUQi5ZtMO02nhG0W.mjs +596 -0
- package/node/esm/CUUoseJmFsCf82bb.mjs +28 -0
- package/node/esm/CnSQ7MTXAUAyBOoS.mjs +911 -0
- package/node/esm/D7MfcID2Wf6l6VpC.mjs +171 -0
- package/node/esm/DCplLG93GfTs1vNw.mjs +1860 -0
- package/node/esm/DHUADiCmxNQS1ARz.mjs +417 -0
- package/node/esm/DMD12JUh7HJw2-jl.mjs +638 -0
- package/node/esm/DdFgXl-Ux2cMBTs_.mjs +15 -0
- package/node/esm/DefYISWfdZJFx57m.mjs +255 -0
- package/node/esm/Ds0d8zXzmgOu3MGx.mjs +403 -0
- package/node/esm/MiU4rDOiocmJ-9Ry.mjs +1783 -0
- package/node/esm/index.mjs +51616 -39665
- package/package.json +15 -16
- package/resources/contents.json +64 -0
- package/resources/fonts/arial-bold-italic.metrics.json +139 -0
- package/resources/fonts/arial-bold.metrics.json +139 -0
- package/resources/fonts/arial-italic.metrics.json +139 -0
- package/resources/fonts/arial-regular.metrics.json +139 -0
- package/resources/fonts/calibri-bold-italic.metrics.json +137 -0
- package/resources/fonts/calibri-bold.metrics.json +137 -0
- package/resources/fonts/calibri-italic.metrics.json +137 -0
- package/resources/fonts/calibri-regular.metrics.json +137 -0
- package/resources/fonts/cambria-bold-italic.metrics.json +66 -0
- package/resources/fonts/cambria-bold.metrics.json +66 -0
- package/resources/fonts/cambria-italic.metrics.json +66 -0
- package/resources/fonts/cambria-regular.metrics.json +66 -0
- package/resources/fonts/contents.json +126 -0
- package/resources/fonts/courier-new-bold-italic.metrics.json +143 -0
- package/resources/fonts/courier-new-bold.metrics.json +143 -0
- package/resources/fonts/courier-new-italic.metrics.json +143 -0
- package/resources/fonts/courier-new-regular.metrics.json +143 -0
- package/resources/fonts/times-new-roman-bold-italic.metrics.json +141 -0
- package/resources/fonts/times-new-roman-bold.metrics.json +141 -0
- package/resources/fonts/times-new-roman-italic.metrics.json +143 -0
- package/resources/fonts/times-new-roman-regular.metrics.json +141 -0
- package/resources/locales/de/model.msg.json +112 -12
- package/resources/locales/en/model.msg.json +119 -13
- package/types/scripting-api.json +8048 -0
- package/types/scripting-enums.json +277 -110
- package/types/scripting.d.ts +13077 -3224
- package/types/src/anchored/AbstractAnchored.d.ts +18 -8
- package/types/src/anchored/AnchoredMap.d.ts +2 -0
- package/types/src/anchored/IAnchoredMap.d.ts +52 -4
- package/types/src/autoFill/AutoFill.d.ts +316 -32
- package/types/src/autoFill/IAutoFill.d.ts +232 -15
- package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +42 -41
- package/types/src/border/index.d.ts +1 -1
- package/types/src/calculation/Calculation.d.ts +754 -49
- package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
- package/types/src/calculation/FormulaText.d.ts +82 -0
- package/types/src/calculation/ICalculation.d.ts +318 -81
- package/types/src/calculation/INamedFormulasCollection.d.ts +5 -8
- package/types/src/calculation/NamedFormulaCollection.d.ts +139 -107
- package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
- package/types/src/calculation/TokenType.d.ts +9 -0
- package/types/src/calculation/Types.d.ts +83 -2
- package/types/src/calculation/_CloneBoundary.d.ts +80 -0
- package/types/src/calculation/_TableRename.d.ts +13 -0
- package/types/src/calculation/compiler/ASTTypes.d.ts +71 -0
- package/types/src/calculation/compiler/CompilerUtils.d.ts +135 -44
- package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
- package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
- package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
- package/types/src/calculation/compiler/ParserUtils.d.ts +26 -1
- package/types/src/calculation/compiler/SRParser.d.ts +2 -1
- package/types/src/calculation/compiler/Types.d.ts +79 -9
- package/types/src/calculation/executor/CalcExecutor.d.ts +312 -33
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +43 -2
- package/types/src/calculation/executor/CircularReference.d.ts +2 -0
- package/types/src/calculation/formula/Formula.d.ts +58 -21
- package/types/src/calculation/formula/FormulaBlock.d.ts +125 -23
- package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
- package/types/src/calculation/formula/FunctionValues.d.ts +10 -0
- package/types/src/calculation/formula/IFormulaBlock.d.ts +261 -67
- package/types/src/calculation/formula/LambdaValue.d.ts +46 -23
- package/types/src/calculation/formula/LazyValue.d.ts +96 -0
- package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
- package/types/src/calculation/formula/index.d.ts +1 -0
- package/types/src/calculation/functions/FunctionDeclarations.d.ts +31 -0
- package/types/src/calculation/functions/Operators.d.ts +8 -0
- package/types/src/calculation/functions/initializeFunctions.d.ts +15 -2
- package/types/src/calculation/grid/CalcGrid.d.ts +407 -158
- package/types/src/calculation/grid/CalcGridBackend.d.ts +493 -0
- package/types/src/calculation/grid/CalcGridProxy.d.ts +133 -0
- package/types/src/calculation/grid/CalcGridUtils.d.ts +62 -12
- package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
- package/types/src/calculation/grid/FormulaHost.d.ts +239 -0
- package/types/src/calculation/grid/ICalcGrid.d.ts +499 -141
- package/types/src/calculation/grid/_CalcRequest.d.ts +289 -0
- package/types/src/calculation/grid/index.d.ts +4 -0
- package/types/src/calculation/index.d.ts +2 -0
- package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +339 -11
- package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
- package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
- package/types/src/calculation/spatial/index.d.ts +1 -0
- package/types/src/calculation/state/CalcInputs.d.ts +41 -0
- package/types/src/calculation/state/CalcNode.d.ts +141 -30
- package/types/src/calculation/state/CalcScope.d.ts +37 -0
- package/types/src/calculation/state/CalcState.d.ts +22 -1
- package/types/src/calculation/state/CalculationContext.d.ts +50 -3
- package/types/src/calculation/state/IContextContainer.d.ts +129 -27
- package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
- package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
- package/types/src/calculation/state/index.d.ts +1 -0
- package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
- package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
- package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
- package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
- package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
- package/types/src/calculation/symbol/index.d.ts +3 -2
- package/types/src/cell/ICell.d.ts +104 -29
- package/types/src/cell/ICellHeader.d.ts +24 -2
- package/types/src/cell/ICellProtection.d.ts +50 -10
- package/types/src/cellRange/ICellRange.d.ts +419 -79
- package/types/src/cellRange/ICellRanges.d.ts +23 -21
- package/types/src/chart/Chart.d.ts +41 -13
- package/types/src/chart/ChartCollection.d.ts +26 -0
- package/types/src/chart/IChart.d.ts +166 -12
- package/types/src/chart/IChartCollection.d.ts +25 -0
- package/types/src/chart/_ChartXml.d.ts +70 -0
- package/types/src/chart/index.d.ts +1 -3
- package/types/src/collections/ArraysGrid.d.ts +1 -1
- package/types/src/collections/IGrid.d.ts +1 -1
- package/types/src/collections/ISparseGrid.d.ts +9 -0
- package/types/src/collections/ISpatialMap.d.ts +59 -21
- package/types/src/collections/ImmutableList.d.ts +28 -0
- package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
- package/types/src/collections/OverlappingRangeIterator.d.ts +13 -17
- package/types/src/collections/RepeatingList.d.ts +7 -0
- package/types/src/collections/ScalarGrid.d.ts +50 -0
- package/types/src/collections/SparseGrid.d.ts +1 -1
- package/types/src/collections/SpatialMap.d.ts +13 -21
- package/types/src/collections/Tuple.d.ts +128 -16
- package/types/src/collections/_GridUtils.d.ts +19 -6
- package/types/src/collections/_RangeSweep.d.ts +97 -0
- package/types/src/collections/_SpatialUtils.d.ts +20 -2
- package/types/src/collections/index.d.ts +1 -0
- package/types/src/color/_BuiltInIndexDefs.d.ts +6 -0
- package/types/src/comment/Comment.d.ts +223 -0
- package/types/src/comment/CommentCollection.d.ts +40 -0
- package/types/src/comment/IComment.d.ts +340 -50
- package/types/src/comment/ICommentCollection.d.ts +90 -0
- package/types/src/comment/NoteMovable.d.ts +26 -0
- package/types/src/comment/_CommentUtils.d.ts +50 -0
- package/types/src/comment/_NoteBox.d.ts +50 -0
- package/types/src/comment/index.d.ts +1 -0
- package/types/src/condition/AnchoredConditional.d.ts +82 -17
- package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +42 -12
- package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/AndOperator.d.ts +3 -1
- package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +4 -0
- package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +4 -1
- package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +5 -6
- package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/IconOperator.d.ts +4 -0
- package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +22 -5
- package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/NotOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/OrOperator.d.ts +3 -1
- package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
- package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +6 -0
- package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +21 -6
- package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +4 -5
- package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +20 -0
- package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +7 -5
- package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +3 -5
- package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +3 -5
- package/types/src/condition/BuiltinSelectors/index.d.ts +12 -6
- package/types/src/condition/Condition.d.ts +19 -1
- package/types/src/condition/ICondition.d.ts +293 -73
- package/types/src/condition/_ConditionFormula.d.ts +152 -0
- package/types/src/condition/_ConditionUtils.d.ts +167 -13
- package/types/src/conditionalFormat/ConditionalEntry.d.ts +3 -3
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +25 -14
- package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +12 -10
- package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
- package/types/src/dataValidation/DataValidation.d.ts +69 -3
- package/types/src/dataValidation/DataValidationCollection.d.ts +20 -9
- package/types/src/dataValidation/IDataValidation.d.ts +149 -30
- package/types/src/dataValidation/IDataValidationCollection.d.ts +10 -2
- package/types/src/date/DateUtils.d.ts +20 -0
- package/types/src/date/_DateUtils.d.ts +91 -7
- package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
- package/types/src/externalBook/ExternalBookName.d.ts +96 -0
- package/types/src/externalBook/IExternalBook.d.ts +170 -18
- package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
- package/types/src/externalBook/index.d.ts +1 -0
- package/types/src/{lib/file → file}/file.browser.d.ts +22 -8
- package/types/src/{lib/file → file}/file.node.d.ts +7 -2
- package/types/src/fill/IEffect.d.ts +5 -5
- package/types/src/fill/IFill.d.ts +123 -78
- package/types/src/fill/IStroke.d.ts +190 -64
- package/types/src/fill/RectAlignment.d.ts +20 -0
- package/types/src/fill/_Fills.d.ts +187 -0
- package/types/src/fill/_Stroke.d.ts +89 -0
- package/types/src/fill/index.d.ts +1 -0
- package/types/src/filter/IFilter.d.ts +188 -5
- package/types/src/font/AdvanceBuilder.d.ts +25 -0
- package/types/src/font/AdvanceTable.d.ts +114 -0
- package/types/src/font/FontCollection.d.ts +57 -0
- package/types/src/font/IFont.d.ts +17 -0
- package/types/src/font/IFontCollection.d.ts +120 -22
- package/types/src/font/TableFileAdvanceBuilder.d.ts +27 -0
- package/types/src/font/_BuiltinFontTables.d.ts +10 -0
- package/types/src/font/index.d.ts +4 -1
- package/types/src/group/Group.d.ts +136 -0
- package/types/src/group/GroupMovableCollection.d.ts +37 -0
- package/types/src/group/IGroup.d.ts +129 -0
- package/types/src/group/index.d.ts +2 -0
- package/types/src/history/IHistory.d.ts +3 -2
- package/types/src/hyperlink/IHyperlink.d.ts +13 -0
- package/types/src/hyperlink/_Hyperlink.d.ts +5 -1
- package/types/src/i18n/LanguagePack.d.ts +12 -4
- package/types/src/index.d.ts +5 -0
- package/types/src/io/AbstractBackingStore.d.ts +24 -1
- package/types/src/io/ArrayBackingStore.d.ts +1 -1
- package/types/src/io/EmbeddedPart.d.ts +20 -0
- package/types/src/io/IEmbeddedPart.d.ts +63 -0
- package/types/src/io/IWorkbookIO.d.ts +185 -18
- package/types/src/io/WorkbookIO.d.ts +9 -0
- package/types/src/io/WorkbookOrigin.d.ts +20 -11
- package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
- package/types/src/io/_XmlFragment.d.ts +49 -0
- package/types/src/io/index.d.ts +1 -0
- package/types/src/license/LicenseDetails.d.ts +1 -0
- package/types/src/license/LicenseManager.d.ts +4 -1
- package/types/src/license/Types.d.ts +38 -0
- package/types/src/license/_Utils.d.ts +22 -0
- package/types/src/license/details.d.ts +24 -0
- package/types/src/license/license-key.d.ts +49 -2
- package/types/src/license/runtime.browser.d.ts +41 -0
- package/types/src/{lib/utils/utils.node.d.ts → license/runtime.node.d.ts} +9 -12
- package/types/src/listener/IListener.d.ts +12 -7
- package/types/src/listener/ListenerEmitter.d.ts +46 -5
- package/types/src/model/AbstractModel.d.ts +14 -5
- package/types/src/movable/AbstractMovableContent.d.ts +182 -0
- package/types/src/movable/CustomElement.d.ts +4 -5
- package/types/src/movable/ErrorContent.d.ts +49 -0
- package/types/src/movable/FormControl.d.ts +285 -0
- package/types/src/movable/GroupMember.d.ts +87 -0
- package/types/src/movable/ICustomElement.d.ts +7 -2
- package/types/src/movable/IErrorContent.d.ts +23 -0
- package/types/src/movable/IFormControl.d.ts +455 -0
- package/types/src/movable/IMovable.d.ts +378 -46
- package/types/src/movable/IMovableCollection.d.ts +63 -3
- package/types/src/movable/Movable.d.ts +149 -49
- package/types/src/movable/MovableCollection.d.ts +15 -8
- package/types/src/movable/MovableContentRegistry.d.ts +113 -0
- package/types/src/movable/_BuiltInContents.d.ts +14 -0
- package/types/src/movable/_ContentFactory.d.ts +35 -0
- package/types/src/movable/_DrawnBounds.d.ts +37 -0
- package/types/src/movable/_InsertableCollection.d.ts +28 -0
- package/types/src/movable/_MovableUtils.d.ts +5 -0
- package/types/src/movable/_PendingContent.d.ts +25 -0
- package/types/src/movable/_PlacementUtils.d.ts +55 -0
- package/types/src/movable/_RotatedFrame.d.ts +20 -0
- package/types/src/movable/index.d.ts +7 -1
- package/types/src/named/AbstractNamed.d.ts +1 -1
- package/types/src/named/INamed.d.ts +4 -1
- package/types/src/named/INamedCollection.d.ts +26 -0
- package/types/src/named/NamedCollection.d.ts +16 -15
- package/types/src/numFmt/BuiltInFormats.d.ts +20 -7
- package/types/src/numFmt/IFormatEngine.d.ts +2 -0
- package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
- package/types/src/numFmt/_FormatCell.d.ts +11 -2
- package/types/src/numFmt/_NumFmtUtils.d.ts +0 -1
- package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +6 -0
- package/types/src/outline/IOutline.d.ts +186 -0
- package/types/src/outline/Outline.d.ts +157 -0
- package/types/src/outline/index.d.ts +2 -0
- package/types/src/person/IPerson.d.ts +99 -0
- package/types/src/person/IPersonCollection.d.ts +51 -0
- package/types/src/person/Person.d.ts +32 -0
- package/types/src/person/PersonCollection.d.ts +49 -0
- package/types/src/person/index.d.ts +4 -0
- package/types/src/picture/IPicture.d.ts +33 -3
- package/types/src/picture/Picture.d.ts +33 -13
- package/types/src/pivot/IPivotTable.d.ts +72 -0
- package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
- package/types/src/pivot/PivotCache.d.ts +34 -0
- package/types/src/pivot/PivotTable.d.ts +61 -0
- package/types/src/pivot/PivotTableCollection.d.ts +25 -0
- package/types/src/pivot/_PivotXml.d.ts +24 -0
- package/types/src/pivot/index.d.ts +6 -0
- package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
- package/types/src/primitives/Criteria.d.ts +1 -1
- package/types/src/primitives/Grouping.d.ts +65 -0
- package/types/src/primitives/LambdaBrand.d.ts +26 -0
- package/types/src/primitives/PrimitiveUtils.d.ts +56 -19
- package/types/src/primitives/Range.d.ts +133 -25
- package/types/src/primitives/RangeStats.d.ts +30 -2
- package/types/src/primitives/ReferenceRange.d.ts +44 -0
- package/types/src/primitives/Runtime.d.ts +15 -2
- package/types/src/primitives/environment.browser.d.ts +9 -0
- package/types/src/primitives/environment.node.d.ts +10 -0
- package/types/src/primitives/stats/AggregateStats.d.ts +49 -15
- package/types/src/primitives/stats/Cancellation.d.ts +13 -0
- package/types/src/primitives/stats/FrequencyStats.d.ts +10 -1
- package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
- package/types/src/primitives/stats/Ranked.d.ts +1 -1
- package/types/src/primitives/stats/SortedNumbers.d.ts +4 -2
- package/types/src/primitives/stats/index.d.ts +1 -0
- package/types/src/print/IPrint.d.ts +0 -22
- package/types/src/protectedRange/IProtectedRange.d.ts +4 -0
- package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
- package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
- package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
- package/types/src/protection/DefaultProtection.d.ts +12 -1
- package/types/src/protection/IProtection.d.ts +36 -2
- package/types/src/reference/ReferenceUtils.d.ts +80 -0
- package/types/src/reference/index.d.ts +2 -0
- package/types/src/resource/IResource.d.ts +21 -1
- package/types/src/resource/IResourceCollection.d.ts +9 -1
- package/types/src/resource/ResourceCollection.d.ts +6 -6
- package/types/src/scripting/FunctionCollection.d.ts +49 -15
- package/types/src/scripting/IFunctionCollection.d.ts +62 -32
- package/types/src/scripting/IModule.d.ts +25 -0
- package/types/src/scripting/IModuleCollection.d.ts +17 -0
- package/types/src/scripting/IScript.d.ts +28 -26
- package/types/src/scripting/Module.d.ts +34 -6
- package/types/src/scripting/ModuleCollection.d.ts +17 -12
- package/types/src/scripting/Runtime.d.ts +15 -0
- package/types/src/scripting/Scripts.d.ts +3 -7
- package/types/src/scripting/TypedFunction.d.ts +154 -18
- package/types/src/scripting/_FunctionIndex.d.ts +8 -3
- package/types/src/scripting/_ModuleUtils.d.ts +11 -1
- package/types/src/scripting/_ScriptUtils.d.ts +3 -0
- package/types/src/scripting/declarations.browser.d.ts +10 -0
- package/types/src/scripting/declarations.d.ts +49 -0
- package/types/src/scripting/declarations.node.d.ts +9 -0
- package/types/src/scripting/index.d.ts +3 -0
- package/types/src/selection/IMovableSelection.d.ts +148 -0
- package/types/src/selection/IRangeSelection.d.ts +9 -4
- package/types/src/selection/MovableSelection.d.ts +48 -0
- package/types/src/selection/RangeSelection.d.ts +15 -0
- package/types/src/selection/index.d.ts +1 -0
- package/types/src/shape/GeometryPreset.d.ts +197 -0
- package/types/src/shape/IGeometry.d.ts +380 -0
- package/types/src/shape/IShape.d.ts +341 -194
- package/types/src/shape/IShapeStyle.d.ts +135 -0
- package/types/src/shape/Shape.d.ts +107 -21
- package/types/src/shape/ShapeStyleUtils.d.ts +54 -0
- package/types/src/shape/_ConnectorFrame.d.ts +32 -0
- package/types/src/shape/_ConnectorRoute.d.ts +33 -0
- package/types/src/shape/_Connectors.d.ts +108 -0
- package/types/src/shape/_Geometry.d.ts +14 -0
- package/types/src/shape/_GeometryLoader.d.ts +21 -0
- package/types/src/shape/_ShapeStyle.d.ts +70 -0
- package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
- package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
- package/types/src/shape/_builtIn/arrows.d.ts +6 -0
- package/types/src/shape/_builtIn/basic.d.ts +6 -0
- package/types/src/shape/_builtIn/callouts.d.ts +6 -0
- package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
- package/types/src/shape/_builtIn/lines.d.ts +6 -0
- package/types/src/shape/_builtIn/math.d.ts +6 -0
- package/types/src/shape/_builtIn/other.d.ts +6 -0
- package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
- package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
- package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
- package/types/src/shape/geometry/format.d.ts +3 -0
- package/types/src/shape/geometry/geometry.d.ts +85 -0
- package/types/src/shape/geometry/guides.d.ts +54 -0
- package/types/src/shape/geometry/handles.d.ts +14 -0
- package/types/src/shape/geometry/index.d.ts +7 -0
- package/types/src/shape/geometry/lineEnds.d.ts +54 -0
- package/types/src/shape/geometry/paths.d.ts +35 -0
- package/types/src/shape/geometry/segments.d.ts +114 -0
- package/types/src/shape/index.d.ts +3 -0
- package/types/src/sheet/CellRegion.d.ts +6 -0
- package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
- package/types/src/sheet/ISheet.d.ts +197 -50
- package/types/src/sheet/ISheetCollection.d.ts +2 -5
- package/types/src/sheet/NamedCellRange.d.ts +16 -7
- package/types/src/sheet/NamedRange.d.ts +8 -0
- package/types/src/sheet/Sheet.d.ts +915 -138
- package/types/src/sheet/SheetCell.d.ts +92 -32
- package/types/src/sheet/SheetCollection.d.ts +19 -8
- package/types/src/sheet/SheetRange.d.ts +90 -18
- package/types/src/sheet/SheetRanges.d.ts +22 -9
- package/types/src/sheet/_CellBuffer.d.ts +214 -0
- package/types/src/sheet/_HeldFormula.d.ts +69 -0
- package/types/src/sheet/_InvalidSheetRange.d.ts +7 -7
- package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
- package/types/src/sheet/_RangeStateSweep.d.ts +16 -0
- package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
- package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
- package/types/src/sheet/_SheetAutoFitUtils.d.ts +2 -2
- package/types/src/sheet/_SheetEvents.d.ts +43 -0
- package/types/src/sheet/_SheetFilterUtils.d.ts +49 -1
- package/types/src/sheet/_SheetIntents.d.ts +296 -0
- package/types/src/sheet/_SheetMutations.d.ts +182 -62
- package/types/src/sheet/_SheetStateReader.d.ts +19 -13
- package/types/src/sheet/_SheetStateTypes.d.ts +83 -78
- package/types/src/sheet/_SheetUtils.d.ts +39 -22
- package/types/src/sheet/_WatchAnchor.d.ts +93 -0
- package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
- package/types/src/sheet/spatial/index.d.ts +1 -0
- package/types/src/sheet/style/SheetCellStyle.d.ts +209 -304
- package/types/src/sheet/style/SheetDirectStyle.d.ts +30 -19
- package/types/src/sheet/style/SheetNamedStyle.d.ts +17 -17
- package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
- package/types/src/sheet/style/_Resolvers.d.ts +14 -8
- package/types/src/sheet/style/_StyleUtils.d.ts +38 -8
- package/types/src/sheetHeader/ISheetHeader.d.ts +94 -53
- package/types/src/sheetHeader/SheetCellHeader.d.ts +4 -0
- package/types/src/sheetHeader/SheetHeader.d.ts +42 -22
- package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
- package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -3
- package/types/src/sheetProtection/ISheetProtection.d.ts +41 -7
- package/types/src/sheetProtection/SheetProtection.d.ts +12 -0
- package/types/src/sheetView/ISheetView.d.ts +69 -15
- package/types/src/sheetView/SheetView.d.ts +20 -11
- package/types/src/slicer/ISlicer.d.ts +304 -17
- package/types/src/slicer/ISlicerStyle.d.ts +109 -0
- package/types/src/slicer/Slicer.d.ts +128 -13
- package/types/src/slicer/SlicerStyle.d.ts +25 -0
- package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
- package/types/src/slicer/_SlicerUtils.d.ts +30 -0
- package/types/src/slicer/index.d.ts +1 -0
- package/types/src/sort/ISort.d.ts +4 -2
- package/types/src/string/IStringCollection.d.ts +5 -0
- package/types/src/string/StringCollection.d.ts +6 -6
- package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +72 -52
- package/types/src/style/INamedStyleCollection.d.ts +72 -0
- package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
- package/types/src/style/IStyleCollection.d.ts +91 -60
- package/types/src/style/ITableStyleCollection.d.ts +89 -0
- package/types/src/style/NamedStyleCollection.d.ts +39 -0
- package/types/src/style/SlicerStyleCollection.d.ts +46 -0
- package/types/src/style/StyleCollection.d.ts +81 -26
- package/types/src/style/TableStyleCollection.d.ts +49 -0
- package/types/src/style/_BuiltInStyleDefs.d.ts +6 -6
- package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
- package/types/src/style/index.d.ts +7 -1
- package/types/src/table/AnchoredTable.d.ts +701 -72
- package/types/src/table/AutoTable.d.ts +7 -5
- package/types/src/table/ITable.d.ts +261 -34
- package/types/src/table/ITableCollection.d.ts +12 -0
- package/types/src/table/ITableStyle.d.ts +37 -37
- package/types/src/table/TableCollection.d.ts +19 -8
- package/types/src/table/_FilterField.d.ts +19 -6
- package/types/src/table/_NamedTable.d.ts +17 -1
- package/types/src/table/_NamedTableSource.d.ts +1 -0
- package/types/src/table/_SortField.d.ts +2 -0
- package/types/src/table/_TableColumn.d.ts +13 -2
- package/types/src/table/_TableMessages.d.ts +1 -0
- package/types/src/table/_TableUtils.d.ts +40 -0
- package/types/src/text/Bullet.d.ts +4 -0
- package/types/src/text/IText.d.ts +182 -0
- package/types/src/text/ITextFrame.d.ts +110 -1
- package/types/src/text/TextBoxAlignment.d.ts +25 -16
- package/types/src/text/TextFrame.d.ts +4 -0
- package/types/src/text/TextLine.d.ts +4 -0
- package/types/src/text/TextParagraph.d.ts +4 -0
- package/types/src/text/TextRotation.d.ts +3 -3
- package/types/src/text/TextRun.d.ts +9 -0
- package/types/src/text/TextStacked.d.ts +83 -0
- package/types/src/text/index.d.ts +1 -0
- package/types/src/text/richtext/IRichText.d.ts +36 -0
- package/types/src/text/richtext/IStyledFont.d.ts +18 -18
- package/types/src/text/richtext/index.d.ts +1 -0
- package/types/src/theme/ITheme.d.ts +45 -4
- package/types/src/theme/IThemeCollection.d.ts +2 -0
- package/types/src/theme/ThemeCollection.d.ts +11 -7
- package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
- package/types/src/transaction/ITransaction.d.ts +258 -45
- package/types/src/transaction/Transaction.d.ts +101 -11
- package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
- package/types/src/type/AbstractCollection.d.ts +101 -0
- package/types/src/type/ICollection.d.ts +117 -0
- package/types/src/type/ITypes.d.ts +9 -7
- package/types/src/type/index.d.ts +1 -0
- package/types/src/utils/_CSSUtils.d.ts +3 -3
- package/types/src/wasm/_sdkWasm.d.ts +7 -0
- package/types/src/wasm/index.d.ts +2 -0
- package/types/src/wasm/sdkWasm.d.ts +29 -0
- package/types/src/workbook/IWorkbook.d.ts +180 -40
- package/types/src/workbook/Workbook.d.ts +123 -10
- package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
- package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
- package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
- package/types/src/workbookView/IWorkbookView.d.ts +12 -0
- package/types/src/workbookView/WorkbookView.d.ts +5 -0
- package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
- package/browser/cjs/BatsV2UUraVDCRXm.cjs +0 -57
- package/browser/cjs/CUz53T65cRGQRgvv.cjs +0 -33
- package/browser/cjs/DU0kYUtdFa3jK-im.cjs +0 -1
- package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
- package/browser/cjs/Dv4yIPLV98M5zLHa.cjs +0 -1
- package/browser/cjs/a0Z-SXs_N71CtqYb.cjs +0 -1
- package/browser/cjs/index.cjs +0 -3
- package/browser/esm/6JKSOvc5czaQB2Bj.mjs +0 -109
- package/browser/esm/BtuJ9AGzeURtAsGo.mjs +0 -51241
- package/browser/esm/DGU6sM25u0EWCKl1.mjs +0 -824
- package/browser/esm/f2G3QRgEbvFJcoa2.mjs +0 -4436
- package/node/esm/-pxdn3M3tc6PLHs7.mjs +0 -114
- package/node/esm/0n5bslM9jhO1JnI2.mjs +0 -843
- package/types/src/cellRange/_GraphNode.d.ts +0 -38
- package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
- package/types/src/dataValidation/_Utils.d.ts +0 -10
- package/types/src/lib/utils/_Utils.d.ts +0 -27
- package/types/src/lib/utils/utils.browser.d.ts +0 -33
- package/types/src/movable/IGroup.d.ts +0 -30
- package/types/src/movable/IMovableSelection.d.ts +0 -49
- package/types/src/sheet/listener/RangesListener.d.ts +0 -32
- package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
- package/types/src/sheet/listener/index.d.ts +0 -3
- /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
|
@@ -1,36 +1,169 @@
|
|
|
1
|
+
import { IRange } from '@sheetxl/primitives';
|
|
2
|
+
import { AbstractCollection } from '../type';
|
|
3
|
+
import { ITransaction } from '../transaction';
|
|
4
|
+
import { IListener } from '../listener';
|
|
5
|
+
import { ICellRange } from '../cellRange';
|
|
1
6
|
import { IExternalBook } from './IExternalBook';
|
|
2
7
|
import { IExternalBookCollection } from './IExternalBookCollection';
|
|
3
8
|
/**
|
|
4
|
-
*
|
|
9
|
+
* A single cached snapshot of another workbook — the read-only view over one {@link IExternalBook.JSON}.
|
|
5
10
|
*/
|
|
6
|
-
|
|
11
|
+
declare class ExternalBook implements IExternalBook {
|
|
12
|
+
private _json;
|
|
13
|
+
private _id;
|
|
14
|
+
/** The owner, for the `[n]` projection — a book's position is the collection's fact, not its own. */
|
|
15
|
+
private _collection;
|
|
16
|
+
constructor(json: IExternalBook.JSON, id: string, collection: ExternalBookCollection);
|
|
17
|
+
getId(): string;
|
|
18
|
+
getDisplayName(sheetName?: string | null): string;
|
|
19
|
+
getSources(): readonly IExternalBook.SourceEntry[];
|
|
20
|
+
getSheetNames(): readonly string[];
|
|
21
|
+
getDefinedNames(): readonly IExternalBook.DefinedNameEntry[];
|
|
22
|
+
getSheetData(sheetIndex: number): IExternalBook.SheetData | null;
|
|
23
|
+
getDependents(): readonly IRange.Coords[];
|
|
24
|
+
delete(txOptions?: ITransaction.OperationOptions): void;
|
|
25
|
+
breakLink(txOptions?: ITransaction.OperationOptions): void;
|
|
26
|
+
refresh(): Promise<IExternalBook.RefreshResult>;
|
|
27
|
+
toJSON(): IExternalBook.JSON | null;
|
|
28
|
+
/** A copy holding a source's current contents in place of the cache; the sources stay. */
|
|
29
|
+
_withSnapshot(snapshot: IExternalBook.Snapshot): ExternalBook;
|
|
30
|
+
/** A copy with every cached sheet marked `refreshError` — the values themselves untouched. */
|
|
31
|
+
_withRefreshError(): ExternalBook;
|
|
32
|
+
/** A copy with one more sheet name — the book is immutable; the collection swaps it. */
|
|
33
|
+
_withSheetName(sheetName: string): ExternalBook;
|
|
34
|
+
readonly isIExternalBook: true;
|
|
35
|
+
}
|
|
36
|
+
interface State {
|
|
7
37
|
/**
|
|
8
|
-
* Positional, `[n]`-indexed (`
|
|
38
|
+
* Positional, `[n]`-indexed (`items[0]` is `[1]`) — `null` at a position is a DDE/OLE link or
|
|
9
39
|
* otherwise unmodeled. Gaps carry meaning (the position still counts), so this is never compacted.
|
|
10
40
|
*/
|
|
11
|
-
|
|
41
|
+
items: readonly (ExternalBook | null)[];
|
|
42
|
+
/**
|
|
43
|
+
* Runtime ids, parallel to {@link items} and one per POSITION — a `null` DDE/OLE slot gets one
|
|
44
|
+
* too, so a formula citing it keeps its place when a book in front of it is removed.
|
|
45
|
+
*/
|
|
46
|
+
ids: readonly string[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Implementation for {@link IExternalBookCollection}.
|
|
50
|
+
*
|
|
51
|
+
* @remarks
|
|
52
|
+
* The positional list lives in the transaction store rather than in fields, so `add`, `delete` and
|
|
53
|
+
* `breakLink` undo — and an undo brings a slot's id back with it, which is what heals the formulas
|
|
54
|
+
* that kept citing it (see {@link _remove}).
|
|
55
|
+
*/
|
|
56
|
+
export declare class ExternalBookCollection extends AbstractCollection<IExternalBook> implements IExternalBookCollection {
|
|
57
|
+
protected _transactions: ITransaction.IStore;
|
|
58
|
+
private _stateId;
|
|
59
|
+
private _transactionsRemoveListener;
|
|
60
|
+
private _getDependentsById;
|
|
61
|
+
private _getSheetRange;
|
|
62
|
+
private readonly _resolver;
|
|
12
63
|
constructor(options?: ExternalBookCollection.ConstructorOptions);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
64
|
+
/**
|
|
65
|
+
* @internal
|
|
66
|
+
* The runtime id at `[n]` (1-based), including a DDE/OLE gap's, or `null` if there is no such
|
|
67
|
+
* position. `[n]` is where the SOURCE FILE stores a book — it renumbers when another is broken,
|
|
68
|
+
* and no surface a reader sees spells one — so this and its inverse are the compiler's, for
|
|
69
|
+
* parsing a typed `[7]` and for imaging an id back into canonical text. Not on
|
|
70
|
+
* {@link IExternalBookCollection}: a consumer wanting one book wants `getById`.
|
|
71
|
+
*/
|
|
72
|
+
_getIdByIndex(n: number): string | null;
|
|
73
|
+
/**
|
|
74
|
+
* @internal
|
|
75
|
+
* The 1-based `[n]` a runtime id currently sits at, or `-1` — the inverse of
|
|
76
|
+
* {@link _getIdByIndex}. Linear: a workbook has a handful of books.
|
|
77
|
+
*/
|
|
78
|
+
_getIndexById(id: string): number;
|
|
79
|
+
getById(id: string): IExternalBook | null;
|
|
80
|
+
/** Only the modeled books — gaps (DDE/OLE) are omitted, not positional. */
|
|
81
|
+
protected _getItems(): IExternalBook[];
|
|
82
|
+
/**
|
|
83
|
+
* @internal
|
|
84
|
+
* The book at `[n]` (1-based), or `null` where `n` is past the end or holds a DDE/OLE gap.
|
|
85
|
+
* Slot-numbered, so it is the compiler's and the tests' — not on
|
|
86
|
+
* {@link IExternalBookCollection}, where `at()` gives position among the books that exist and
|
|
87
|
+
* `toJSON()` gives the slots with their gaps.
|
|
88
|
+
*/
|
|
89
|
+
_getByIndex(n: number): IExternalBook | null;
|
|
90
|
+
/** {@inheritDoc IExternalBookCollection.add} */
|
|
91
|
+
add(options: IExternalBookCollection.AddOptions, txOptions?: ITransaction.OperationOptions): IExternalBook;
|
|
92
|
+
/**
|
|
93
|
+
* @internal
|
|
94
|
+
* {@link IExternalBook.delete} — the book delegates here, where the state lives. Takes an id
|
|
95
|
+
* rather than a book so a DDE/OLE gap, which has no book object, can go too.
|
|
96
|
+
*
|
|
97
|
+
* @returns `false` if nothing was at that id.
|
|
98
|
+
*/
|
|
99
|
+
_remove(id: string, txOptions?: ITransaction.OperationOptions): boolean;
|
|
100
|
+
/** @internal {@link IExternalBook.breakLink} — the book delegates here, where the state lives. */
|
|
101
|
+
_breakLink(id: string, txOptions?: ITransaction.OperationOptions): boolean;
|
|
102
|
+
/** {@inheritDoc IExternalBookCollection.breakAll} */
|
|
103
|
+
breakAll(txOptions?: ITransaction.OperationOptions): number;
|
|
104
|
+
/** {@inheritDoc IExternalBookCollection.refreshAll} */
|
|
105
|
+
refreshAll(): Promise<IExternalBook.RefreshResult[]>;
|
|
106
|
+
/**
|
|
107
|
+
* @internal
|
|
108
|
+
* {@link IExternalBook.refresh}: the resolver is asked, and its answer replaces the book's cache
|
|
109
|
+
* in one transaction — the engine rebuilds the book's grids from it on the change notification.
|
|
110
|
+
*/
|
|
111
|
+
_refresh(bookId: string): Promise<IExternalBook.RefreshResult>;
|
|
112
|
+
/** Excel's record of a refresh that could not complete: `refreshError` on each cached sheet. */
|
|
113
|
+
protected _markRefreshError(bookId: string): void;
|
|
114
|
+
/**
|
|
115
|
+
* The value pass in front of a removal: every cell block that cites the book becomes its current
|
|
116
|
+
* values — the WHOLE formula, as Excel does, not only the external operand.
|
|
117
|
+
*
|
|
118
|
+
* @remarks
|
|
119
|
+
* A dependent that is a NAME (its scope is the name's virtual grid, not a sheet) is left as it
|
|
120
|
+
* is. Its citation then images as `#REF!` once the slot goes, which is one of the three outcomes
|
|
121
|
+
* DESIGN-EXTERNAL-LINKS §6 item 8 lists for Excel; the measurement that picks between them has
|
|
122
|
+
* not been taken, and a name has no computed value to write back until phase D in any case.
|
|
123
|
+
*/
|
|
124
|
+
protected _breakDependents(book: IExternalBook): void;
|
|
125
|
+
/** @internal Backs {@link IExternalBook.getDependents}; empty without an engine to ask. */
|
|
126
|
+
_getDependents(bookId: string): readonly IRange.Coords[];
|
|
127
|
+
/**
|
|
128
|
+
* @internal
|
|
129
|
+
* Records a sheet name a formula cited on a book that did not list it — the authoring half of
|
|
130
|
+
* the bind rule (DESIGN-EXTERNAL-LINKS §5 step 13). Returns the sheet's index in the book.
|
|
131
|
+
*/
|
|
132
|
+
_addSheetName(bookId: string, sheetName: string): number;
|
|
18
133
|
toJSON(): (IExternalBook.JSON | null)[] | null;
|
|
134
|
+
/** {@inheritDoc IListener.ISource.addListeners} */
|
|
135
|
+
addListeners(listeners: IExternalBookCollection.IListeners, options?: IListener.Options): IListener.Remove;
|
|
136
|
+
close(): void;
|
|
137
|
+
protected _assertWritable(): void;
|
|
138
|
+
protected _getState(): State;
|
|
139
|
+
protected _beginCommit(options?: string | ITransaction.OperationOptions): ITransaction;
|
|
140
|
+
protected _updateState(state: (prevState: State) => State, options: ITransaction.OperationOptions): void;
|
|
19
141
|
readonly isIExternalBookCollection: true;
|
|
20
142
|
}
|
|
21
143
|
export declare namespace ExternalBookCollection {
|
|
22
144
|
interface ConstructorOptions {
|
|
23
145
|
/**
|
|
24
146
|
* Books to hydrate at construction, in `IWorkbook.JSON.externalBooks` order — which IS `[n]`
|
|
25
|
-
* order (1-based). A `null` entry is a preserved gap
|
|
147
|
+
* order (1-based). A `null` entry is a preserved gap.
|
|
26
148
|
*
|
|
27
149
|
* @remarks
|
|
28
150
|
* Taken here rather than through a separate `fromJSON()` call — mirrors
|
|
29
151
|
* `NamedFormulaCollection`'s reasoning: this collection owns the items, so hydrating at
|
|
30
|
-
* construction avoids a pre-load lifecycle state.
|
|
31
|
-
* mutable yet, so there is no transactional persist scope to speak of either.
|
|
152
|
+
* construction avoids a pre-load lifecycle state.
|
|
32
153
|
*/
|
|
33
154
|
json?: (IExternalBook.JSON | null)[];
|
|
155
|
+
/** Shared with the workbook so `add`/`delete`/`breakLink` undo with everything else. */
|
|
156
|
+
transactions?: ITransaction.IStore;
|
|
157
|
+
/** The engine's citation index — backs {@link IExternalBook.getDependents}. */
|
|
158
|
+
getDependents?: (bookId: string) => readonly IRange.Coords[];
|
|
159
|
+
/** Opens a source on refresh — `ICellContainerOptions.externalBookResolver`, for the collection's life. */
|
|
160
|
+
resolver?: IExternalBook.IResolver | null;
|
|
161
|
+
/**
|
|
162
|
+
* A range over a dependent's coords, whose `scope` is a sheet's stable id — or `null` for a
|
|
163
|
+
* scope that is not a sheet (a name's virtual grid). Backs the value pass of `breakLink`.
|
|
164
|
+
*/
|
|
165
|
+
getSheetRange?: (coords: IRange.Coords) => ICellRange | null;
|
|
34
166
|
}
|
|
35
167
|
}
|
|
168
|
+
export {};
|
|
36
169
|
//# sourceMappingURL=ExternalBookCollection.d.ts.map
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { IExternalBook } from './IExternalBook';
|
|
2
|
+
/**
|
|
3
|
+
* The two halves of a scope that names an external book: how the book was written, and the sheet
|
|
4
|
+
* (if any) after it.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* `[1]Sheet1` -> `{ book: '1', positional: true, sheetName: 'Sheet1' }`
|
|
8
|
+
* `[1]` -> `{ book: '1', positional: true, sheetName: null }` — the `[1]!Name` form
|
|
9
|
+
* `[Budget.xlsx]Sheet1` -> `{ book: 'Budget.xlsx', positional: false, ... }`
|
|
10
|
+
* `C:\d\[Budget.xlsx]Sheet1` -> `{ book: 'Budget.xlsx', dir: 'C:\d\', positional: false, ... }`
|
|
11
|
+
*/
|
|
12
|
+
export interface ExternalScopeParts {
|
|
13
|
+
/** The text inside the brackets — a position (`1`) or a file name (`Budget.xlsx`). */
|
|
14
|
+
book: string;
|
|
15
|
+
/** Whether {@link book} is a `[n]` position rather than a file name. */
|
|
16
|
+
positional: boolean;
|
|
17
|
+
/** Anything before the `[`, kept verbatim — a directory or URL prefix, `''` when there is none. */
|
|
18
|
+
dir: string;
|
|
19
|
+
/** The sheet after the `]`, or `null` for the book-scoped `[1]!Name` form. */
|
|
20
|
+
sheetName: string | null;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Splits a sheet scope that carries an external book prefix, or `null` if it carries none.
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
* Quotes are the caller's problem: the scope reaching here has already been unquoted by the parser
|
|
27
|
+
* (`'[1]P3.1'!` and `[1]P3.1!` both arrive as `[1]P3.1`), which is the whole reason a book and its
|
|
28
|
+
* sheet are ONE symbol rather than two.
|
|
29
|
+
*/
|
|
30
|
+
export declare function parseExternalScope(scope: string): ExternalScopeParts | null;
|
|
31
|
+
/**
|
|
32
|
+
* The name Excel writes INSIDE the brackets — `Budget.xlsx` in `[Budget.xlsx]Sheet1`: the last
|
|
33
|
+
* segment of the book's first source, URL-decoded.
|
|
34
|
+
*
|
|
35
|
+
* @remarks
|
|
36
|
+
* A free function rather than a member of {@link IExternalBook}, deliberately. It is a projection of
|
|
37
|
+
* `getSources()`, and "the file's name" is already `IWorkbookIO.Origin`'s vocabulary, where
|
|
38
|
+
* `getName()` is the name WITHOUT its extension and `getExtension()` is separate. A second,
|
|
39
|
+
* conflicting spelling of that noun on a neighbouring interface is how the two get confused.
|
|
40
|
+
*
|
|
41
|
+
* The `book` role entry is the path the source is opened from and is sorted first by the reader, so
|
|
42
|
+
* the first entry is the one to read. An `xlPathMissing` target is a bare name rather than a URI and
|
|
43
|
+
* has no separator to split on, which this handles by finding none.
|
|
44
|
+
*/
|
|
45
|
+
export declare function externalBookFileName(book: IExternalBook): string;
|
|
46
|
+
/**
|
|
47
|
+
* Excel's source-CLOSED spelling of a scope into this book: `C:\dir\[Book.xlsx]Sheet1`, unquoted.
|
|
48
|
+
*
|
|
49
|
+
* @remarks
|
|
50
|
+
* This is the form Excel's own formula bar shows for a book it cannot see, which is the state every
|
|
51
|
+
* book is in until a resolver opens one (DESIGN-EXTERNAL-LINKS §4B). The caller quotes it —
|
|
52
|
+
* `sheetNameToString` does, since a path carries separators no sheet name may.
|
|
53
|
+
*
|
|
54
|
+
* The directory is the first source that carries one: a book Excel recorded by a RELATIVE path
|
|
55
|
+
* (`NamesSource.xlsx`, a sibling of the host) keeps its absolute location in the xxl21
|
|
56
|
+
* `alternateUrls` companion, and Excel's formula bar shows that location, not the bare name — a
|
|
57
|
+
* bare name is the OPEN spelling ({@link externalBookOpenName}).
|
|
58
|
+
*
|
|
59
|
+
* @param sheetName Omitted for the book-scoped `[1]!Name` form, which shows as `C:\dir\[Book.xlsx]`.
|
|
60
|
+
*/
|
|
61
|
+
export declare function externalBookClosedName(book: IExternalBook, sheetName?: string | null): string;
|
|
62
|
+
/**
|
|
63
|
+
* The relationship type a book's own part records for the path it is opened from — what
|
|
64
|
+
* {@link sourceEntryFromPath} writes, and what the xlsx reader finds on nearly every book.
|
|
65
|
+
*/
|
|
66
|
+
export declare const EXTERNAL_LINK_PATH_REL_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath";
|
|
67
|
+
/**
|
|
68
|
+
* The source entry Excel would record for a path a user typed — the inverse of
|
|
69
|
+
* {@link externalBookClosedName}'s directory half, so a minted book displays back as it was typed.
|
|
70
|
+
*
|
|
71
|
+
* @remarks
|
|
72
|
+
* A Windows path becomes a `file:///` URI with forward slashes and percent-encoding, a UNC path a
|
|
73
|
+
* `file://server/share/…` one, and a URL or a bare relative name is kept verbatim — the three
|
|
74
|
+
* target shapes measured in the corpus (DESIGN-EXTERNAL-LINKS §2.2).
|
|
75
|
+
*/
|
|
76
|
+
export declare function sourceEntryFromPath(path: string): IExternalBook.SourceEntry;
|
|
77
|
+
/**
|
|
78
|
+
* WHERE the source file is, as a path a reader can act on: `C:\dir\Book.xlsx`,
|
|
79
|
+
* `\server\share\Book.xlsx`, `https://host/Book.xlsx`. `null` when no source carries a
|
|
80
|
+
* location at all.
|
|
81
|
+
*
|
|
82
|
+
* @remarks
|
|
83
|
+
* NOT {@link externalBookClosedName}, which is a formula SPELLING (bracketed, and about the book's
|
|
84
|
+
* own recorded path). This answers the different question a links pane asks — "which file is
|
|
85
|
+
* this?" — and so it skips a source that records only a bare name: an `xlPathMissing` rel, or a
|
|
86
|
+
* relative `book` path whose absolute companion (the xxl21 `alternateUrls` extension) is the entry
|
|
87
|
+
* that actually locates the file. Sources are searched in order, so the book's own path still wins
|
|
88
|
+
* whenever it carries a directory.
|
|
89
|
+
*/
|
|
90
|
+
export declare function externalBookLocation(book: IExternalBook): string | null;
|
|
91
|
+
/**
|
|
92
|
+
* Excel's source-OPEN spelling: `[Book.xlsx]Sheet1`. Used once a resolver holds the book, and as
|
|
93
|
+
* the form a user may type in either state.
|
|
94
|
+
*/
|
|
95
|
+
export declare function externalBookOpenName(book: IExternalBook, sheetName?: string | null): string;
|
|
96
|
+
//# sourceMappingURL=ExternalBookName.d.ts.map
|
|
@@ -1,24 +1,50 @@
|
|
|
1
|
+
import { IRange } from '@sheetxl/primitives';
|
|
1
2
|
import { Tuple } from '../collections';
|
|
2
3
|
import { ICell } from '../cell';
|
|
4
|
+
import { ITransaction } from '../transaction';
|
|
3
5
|
/**
|
|
4
6
|
* A cached snapshot of another workbook, referenced from a formula as `[n]Sheet1!$A$1`.
|
|
5
7
|
*
|
|
6
8
|
* @remarks
|
|
7
|
-
* Excel's external link is not a live reference — it is the cache plus enough
|
|
8
|
-
*
|
|
9
|
+
* Excel's external link is not a live reference — it is the cache plus enough to go re-fetch the
|
|
10
|
+
* source. See the design doc for the full model:
|
|
9
11
|
* `private-assets/design/calc/DESIGN-EXTERNAL-LINKS.md`.
|
|
10
12
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
+
* Two members read as "which book is this", and they answer different questions:
|
|
14
|
+
*
|
|
15
|
+
* | member | answers | persisted | unique |
|
|
16
|
+
* | --- | --- | --- | --- |
|
|
17
|
+
* | {@link getSources} | WHERE the source file is | yes, in the file | **no** — two books can both be `Budget.xlsx` |
|
|
18
|
+
* | {@link getId} | WHICH book this is, to us | no, minted per load | yes |
|
|
19
|
+
*
|
|
20
|
+
* They cannot collapse into one: a path cannot be the key, because two books may share one — hence
|
|
21
|
+
* a runtime id that is not one. {@link getDisplayName} is a projection of {@link getSources}, not a
|
|
22
|
+
* third identity.
|
|
23
|
+
*
|
|
24
|
+
* A book has no position member. The `n` in `[n]` is where the SOURCE FILE stores this book in its
|
|
25
|
+
* list, it renumbers when another book is removed, and no surface the reader sees spells one — so
|
|
26
|
+
* it belongs to {@link IExternalBookCollection}, which is what orders them, and not to the book.
|
|
27
|
+
*
|
|
28
|
+
* A book is immutable. Adding, removing and breaking one are the collection's operations
|
|
29
|
+
* ({@link IExternalBookCollection}); what a book itself answers beyond its snapshot is
|
|
30
|
+
* {@link getDependents} — which formulas cite it.
|
|
13
31
|
*/
|
|
14
32
|
export interface IExternalBook {
|
|
15
33
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
34
|
+
* Where the source workbook is — read from this book's own part relationships.
|
|
35
|
+
*
|
|
36
|
+
* @remarks
|
|
37
|
+
* An ORDERED list, not one path with optional alternates: a book can carry several at once
|
|
38
|
+
* (`externalLinkPath`, `xlExternalLinkPath/xlPathMissing`, `externalLinkLongPath` and the xxl21
|
|
39
|
+
* `alternateUrls` extension are all instances of this one shape), and the entry the book is opened
|
|
40
|
+
* from is sorted first. A LOCATION, never a key — two books can both be `Budget.xlsx`, which is
|
|
41
|
+
* exactly why {@link getId} exists.
|
|
42
|
+
*
|
|
43
|
+
* Deliberately NOT an {@link IWorkbookIO.Origin}: an origin is a live, listenable handle the IO
|
|
44
|
+
* layer owns and can write back to, and this is a dead `(relType, target)` pair the source file
|
|
45
|
+
* recorded. Turning one into the other is what a phase-E locator does.
|
|
20
46
|
*/
|
|
21
|
-
|
|
47
|
+
getSources(): readonly IExternalBook.SourceEntry[];
|
|
22
48
|
/**
|
|
23
49
|
* The source book's sheet names, in its own order — the ONLY names the book is known by.
|
|
24
50
|
*
|
|
@@ -28,23 +54,94 @@ export interface IExternalBook {
|
|
|
28
54
|
*/
|
|
29
55
|
getSheetNames(): readonly string[];
|
|
30
56
|
/**
|
|
31
|
-
* The source book's own defined names, as seen at cache time — raw,
|
|
57
|
+
* The source book's own defined names, as seen at cache time — raw text, as the part spells it.
|
|
32
58
|
*
|
|
33
59
|
* @remarks
|
|
34
|
-
*
|
|
35
|
-
*
|
|
60
|
+
* `refersTo` is what Excel cached: a leading `=` and quoted sheet names of the SOURCE
|
|
61
|
+
* (`='Data Sheet'!$B$2`), `#REF!` for a name that held an expression rather than a reference, and
|
|
62
|
+
* never a `sheetId` — Excel flattens a sheet-scoped source name into the book's namespace. Kept
|
|
63
|
+
* verbatim; the engine compiles it inside the book (`[1]!Name` computes from the cache).
|
|
36
64
|
*/
|
|
37
65
|
getDefinedNames(): readonly IExternalBook.DefinedNameEntry[];
|
|
38
66
|
/**
|
|
39
67
|
* The cached cell values for one of the book's sheets, or `null` if that sheet was never cached.
|
|
40
68
|
*
|
|
41
69
|
* @remarks
|
|
42
|
-
* **Sparse
|
|
43
|
-
*
|
|
70
|
+
* **Sparse.** A cell the cache does not hold — and a sheet it holds nothing for — reads as a
|
|
71
|
+
* BLANK cell, which is what Excel computes with the source closed (design doc §6 items 1/2).
|
|
72
|
+
* Values only — no format, no style, no comment; a cached date is a plain serial (§2.5).
|
|
44
73
|
*
|
|
45
74
|
* @param sheetIndex Position in {@link getSheetNames}, matching the XML's `sheetId` (0-based).
|
|
46
75
|
*/
|
|
47
76
|
getSheetData(sheetIndex: number): IExternalBook.SheetData | null;
|
|
77
|
+
/**
|
|
78
|
+
* Which book this is, to us — stable for the life of the workbook and **never persisted**.
|
|
79
|
+
*
|
|
80
|
+
* @remarks
|
|
81
|
+
* `[n]` is a POSITION, not a key: removing a book renumbers every citation after it. So a compiled
|
|
82
|
+
* formula stores this id, and the `[n]` is projected from the collection's ordering
|
|
83
|
+
* (the collection's ordering) whenever canonical text is produced. Same arrangement
|
|
84
|
+
* `NamedFormulaCollection` uses for a named formula. Minted at
|
|
85
|
+
* construction; a `.sxl` round trip mints new ones.
|
|
86
|
+
*/
|
|
87
|
+
getId(): string;
|
|
88
|
+
/**
|
|
89
|
+
* How a scope into this book SPELLS, unquoted — Excel's source-closed form
|
|
90
|
+
* (`C:\dir\[Budget.xlsx]Sheet1`) while the book is closed, its source-open form
|
|
91
|
+
* (`[Budget.xlsx]Sheet1`) once a resolver holds it.
|
|
92
|
+
*
|
|
93
|
+
* @remarks
|
|
94
|
+
* A readout of the book's state, not a preference — see DESIGN-EXTERNAL-LINKS §4B. Until phase E
|
|
95
|
+
* there is no resolver, so this is always the closed form. The caller quotes it.
|
|
96
|
+
*
|
|
97
|
+
* @param sheetName Omitted for the book-scoped `[1]!Name` form.
|
|
98
|
+
*/
|
|
99
|
+
getDisplayName(sheetName?: string | null): string;
|
|
100
|
+
/**
|
|
101
|
+
* Every formula block that cites this book — directly, through a sheet of it, or as `[n]!Name`.
|
|
102
|
+
*
|
|
103
|
+
* @remarks
|
|
104
|
+
* Derived from the compiled formulas, never stored: the same index a defined name's dependents
|
|
105
|
+
* come from, so it is exact and current after any edit. A block on a sheet has that sheet's
|
|
106
|
+
* stable id as its `scope`; a block whose `scope` is a defined name's id is that name's body,
|
|
107
|
+
* which cites the book on behalf of everything that uses the name. A block citing the book
|
|
108
|
+
* through two sheets is listed once.
|
|
109
|
+
*
|
|
110
|
+
* Empty until the calculation engine has compiled the workbook's formulas.
|
|
111
|
+
*/
|
|
112
|
+
getDependents(): readonly IRange.Coords[];
|
|
113
|
+
/**
|
|
114
|
+
* Removes this book, renumbering every later `[n]`. One undoable step.
|
|
115
|
+
*
|
|
116
|
+
* @remarks
|
|
117
|
+
* A formula still citing the book is NOT rewritten: it keeps the slot's id, images as `#REF!`
|
|
118
|
+
* and computes `#REF!` — so an undo, which brings the slot and its id back, heals it. To turn
|
|
119
|
+
* citations into values first, as Excel's Break Links does, use {@link breakLink}. A book that
|
|
120
|
+
* is already gone is left alone.
|
|
121
|
+
*/
|
|
122
|
+
delete(txOptions?: ITransaction.OperationOptions): void;
|
|
123
|
+
/**
|
|
124
|
+
* Excel's Break Link: every cell formula that cites this book becomes its current values (the
|
|
125
|
+
* whole formula, not only the external operand), then the book is removed. One undoable step.
|
|
126
|
+
*
|
|
127
|
+
* @remarks
|
|
128
|
+
* A defined name that cites the book is left as it is and images as `#REF!` afterwards.
|
|
129
|
+
* {@link IExternalBookCollection.breakAll} is this for every book. A book that is already gone
|
|
130
|
+
* is left alone.
|
|
131
|
+
*/
|
|
132
|
+
breakLink(txOptions?: ITransaction.OperationOptions): void;
|
|
133
|
+
/**
|
|
134
|
+
* Re-reads this book from its source and replaces the cache — Excel's Refresh on a row of the
|
|
135
|
+
* Workbook Links pane.
|
|
136
|
+
*
|
|
137
|
+
* @remarks
|
|
138
|
+
* Needs a resolver (`ICellContainerOptions.externalBookResolver`, given when the workbook is
|
|
139
|
+
* built); without one every book is `'unavailable'` and nothing changes, which is the state a
|
|
140
|
+
* workbook is in until a host supplies one (DESIGN-EXTERNAL-LINKS §4D). A replaced cache is one undoable step, and every formula
|
|
141
|
+
* citing the book reads the new values. A resolver that throws leaves the cache as it was and
|
|
142
|
+
* marks each cached sheet `refreshError`, as Excel records a refresh it could not complete.
|
|
143
|
+
*/
|
|
144
|
+
refresh(): Promise<IExternalBook.RefreshResult>;
|
|
48
145
|
/**
|
|
49
146
|
* For runtime type checking.
|
|
50
147
|
*/
|
|
@@ -53,7 +150,8 @@ export interface IExternalBook {
|
|
|
53
150
|
}
|
|
54
151
|
export declare namespace IExternalBook {
|
|
55
152
|
/**
|
|
56
|
-
* One `(relTypeUri, target)` pair from the book part's own relationships
|
|
153
|
+
* One `(relTypeUri, target)` pair from the book part's own relationships — one place the source
|
|
154
|
+
* workbook may be found.
|
|
57
155
|
*
|
|
58
156
|
* @remarks
|
|
59
157
|
* `type` is the full relationship-type URI (not a shorthand) — it is what tells apart an
|
|
@@ -61,9 +159,20 @@ export declare namespace IExternalBook {
|
|
|
61
159
|
* `externalLinkLongPath`, and an xxl21 `alternateUrls` entry. Emitting one under a hard-coded rel
|
|
62
160
|
* type would silently rewrite what the source file said.
|
|
63
161
|
*/
|
|
64
|
-
interface
|
|
162
|
+
interface SourceEntry {
|
|
65
163
|
type: string;
|
|
66
164
|
target: string;
|
|
165
|
+
/**
|
|
166
|
+
* How the book's own XML refers to this entry, when it refers to it at all: `book` is the path
|
|
167
|
+
* the book is opened from, `absoluteUrl` its 2021 cloud-URL companion.
|
|
168
|
+
*
|
|
169
|
+
* @remarks
|
|
170
|
+
* Not derivable from {@link type} — the two can carry the SAME relationship type (measured on
|
|
171
|
+
* task 40234, where a relative and an absolute `externalLinkPath` sit on one part). Absent for
|
|
172
|
+
* an entry nothing points at, which is a real shape too: an `xlPathMissing` or
|
|
173
|
+
* `externalLinkLongPath` rel rides along on the part without being referenced from it.
|
|
174
|
+
*/
|
|
175
|
+
role?: 'book' | 'absoluteUrl';
|
|
67
176
|
}
|
|
68
177
|
interface DefinedNameEntry {
|
|
69
178
|
name: string;
|
|
@@ -72,6 +181,45 @@ export declare namespace IExternalBook {
|
|
|
72
181
|
/** Position in {@link IExternalBook.getSheetNames}, when the name is sheet-scoped. */
|
|
73
182
|
sheetIndex?: number;
|
|
74
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* A source book's current contents, as a resolver answers them — the cache that replaces the
|
|
186
|
+
* book's. The same three parts the file caches; the book's sources are not part of it.
|
|
187
|
+
*/
|
|
188
|
+
interface Snapshot {
|
|
189
|
+
sheetNames: readonly string[];
|
|
190
|
+
definedNames?: readonly DefinedNameEntry[];
|
|
191
|
+
/** One entry per sheet the source holds values for; a sheet absent here reads blank. */
|
|
192
|
+
sheetDataSet?: readonly SheetData[];
|
|
193
|
+
}
|
|
194
|
+
/** What one {@link IExternalBook.refresh} came to. */
|
|
195
|
+
interface RefreshResult {
|
|
196
|
+
bookId: string;
|
|
197
|
+
/**
|
|
198
|
+
* `'refreshed'` — the cache was replaced from the source. `'unavailable'` — nothing could open
|
|
199
|
+
* the source: no resolver is installed, or the resolver declined this book; the cache stands.
|
|
200
|
+
* `'failed'` — the resolver threw; the cache stands and its sheets are marked `refreshError`.
|
|
201
|
+
*/
|
|
202
|
+
status: 'refreshed' | 'unavailable' | 'failed';
|
|
203
|
+
/** For `'failed'`: what went wrong. */
|
|
204
|
+
error?: string;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Opens a book's source and answers its current contents, or declines.
|
|
208
|
+
*
|
|
209
|
+
* @remarks
|
|
210
|
+
* DESIGN-EXTERNAL-LINKS §4D: the default one (phase E) is `WorkbookIO.read` with
|
|
211
|
+
* `calcOnLoad: 'none'`, taking the source's own cached values and never evaluating it — that is
|
|
212
|
+
* what Excel's cache holds, and it keeps A-cites-B-cites-C from becoming a crawl. An extension
|
|
213
|
+
* point for a source that is not a workbook file. WHETHER a source may be opened at all — an
|
|
214
|
+
* untrusted file naming an arbitrary path or URL — is the host's decision, made before this is
|
|
215
|
+
* asked; a resolver never fetches on its own initiative, only on {@link IExternalBook.refresh}.
|
|
216
|
+
*/
|
|
217
|
+
interface IResolver {
|
|
218
|
+
/** The name to show for a book, overriding its own spelling. Sync, fetches nothing. */
|
|
219
|
+
displayName?(book: IExternalBook): string | null;
|
|
220
|
+
/** The source's current contents, or `null` to decline (the cache stands). */
|
|
221
|
+
resolve(book: IExternalBook): Promise<Snapshot | null>;
|
|
222
|
+
}
|
|
75
223
|
interface SheetData {
|
|
76
224
|
/** Position in {@link IExternalBook.getSheetNames} this cache belongs to — the XML's `sheetId`, 0-based. */
|
|
77
225
|
sheetIndex: number;
|
|
@@ -85,10 +233,14 @@ export declare namespace IExternalBook {
|
|
|
85
233
|
data: Tuple.GridTuple<ICell.JSON>;
|
|
86
234
|
}
|
|
87
235
|
interface JSON {
|
|
88
|
-
|
|
236
|
+
/**
|
|
237
|
+
* Absent between the link visitor and `XLSXReader`: a visitor never sees its own part's sibling
|
|
238
|
+
* `.rels` file, so the reader attaches these afterwards. `getSources()` reads it as empty.
|
|
239
|
+
*/
|
|
240
|
+
sources?: SourceEntry[];
|
|
89
241
|
sheetNames: string[];
|
|
90
242
|
definedNames?: DefinedNameEntry[];
|
|
91
|
-
/** One entry per CACHED sheet, not per sheet — a sheet absent here was never cached
|
|
243
|
+
/** One entry per CACHED sheet, not per sheet — a sheet absent here was never cached, and reads blank. */
|
|
92
244
|
sheetDataSet?: SheetData[];
|
|
93
245
|
/** `mc:Ignorable="x14 xxl21"` was present on the part root — preserved so a future writer round-trips it. */
|
|
94
246
|
mceIgnorable?: boolean;
|
|
@@ -1,20 +1,47 @@
|
|
|
1
1
|
import { ICollection } from '../type';
|
|
2
|
+
import { ITransaction } from '../transaction';
|
|
3
|
+
import { IListener } from '../listener';
|
|
2
4
|
import { IExternalBook } from './IExternalBook';
|
|
3
5
|
/**
|
|
4
6
|
* The workbook's external books, in `[n]` order.
|
|
5
7
|
*
|
|
6
8
|
* @remarks
|
|
7
|
-
* **Positional, not
|
|
8
|
-
* collection's index at read time; nothing in the source file names a book any other way.
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* **Positional, not a key — see {@link IExternalBook}.** `[n]` in a formula is this
|
|
10
|
+
* collection's index at read time; nothing in the source file names a book any other way.
|
|
11
|
+
*
|
|
12
|
+
* A link is created by a formula and removed by breaking it — Excel's model, and ours. Typing
|
|
13
|
+
* `'C:\path\[Budget.xlsx]Sheet1'!A1` into a cell adds a book here with an empty cache; {@link add}
|
|
14
|
+
* is the same step without the formula. {@link IExternalBook.breakLink} is what Excel's Workbook
|
|
15
|
+
* Links pane does: every citing formula becomes its values, then the slot goes.
|
|
11
16
|
*/
|
|
12
17
|
export interface IExternalBookCollection extends ICollection<IExternalBook> {
|
|
13
18
|
/**
|
|
14
|
-
* The book
|
|
15
|
-
*
|
|
19
|
+
* The book carrying a runtime id, or `null` — for an unknown id and for a DDE/OLE gap alike,
|
|
20
|
+
* since a gap has an id but no book.
|
|
21
|
+
*/
|
|
22
|
+
getById(id: string): IExternalBook | null;
|
|
23
|
+
/**
|
|
24
|
+
* Adds a book at the end — the next `[n]` — with an empty cache.
|
|
25
|
+
*
|
|
26
|
+
* @remarks
|
|
27
|
+
* This is the state Excel is in when it cannot find a link's source: the file round-trips, and
|
|
28
|
+
* Excel opens it and offers to update. Undoable.
|
|
29
|
+
*
|
|
30
|
+
* @param options Where the source is and, optionally, which sheets it has.
|
|
31
|
+
*/
|
|
32
|
+
add(options: IExternalBookCollection.AddOptions, txOptions?: ITransaction.OperationOptions): IExternalBook;
|
|
33
|
+
/**
|
|
34
|
+
* {@link IExternalBook.breakLink} for every book, in one undoable step — the pane's Break all.
|
|
35
|
+
*
|
|
36
|
+
* @returns How many books were broken. Gaps stay: a DDE/OLE slot has nothing to value.
|
|
37
|
+
*/
|
|
38
|
+
breakAll(txOptions?: ITransaction.OperationOptions): number;
|
|
39
|
+
/**
|
|
40
|
+
* {@link IExternalBook.refresh} for every book, in order — the pane's Refresh all.
|
|
41
|
+
*
|
|
42
|
+
* @returns One result per book. Without a resolver every one is `'unavailable'`.
|
|
16
43
|
*/
|
|
17
|
-
|
|
44
|
+
refreshAll(): Promise<IExternalBook.RefreshResult[]>;
|
|
18
45
|
/**
|
|
19
46
|
* @returns The positional array, gaps included — `null` at index `i` means `[i+1]` is a DDE/OLE
|
|
20
47
|
* link or otherwise unmodeled, not that it is absent. `null` overall if there are no entries at
|
|
@@ -25,5 +52,50 @@ export interface IExternalBookCollection extends ICollection<IExternalBook> {
|
|
|
25
52
|
* For runtime type checking.
|
|
26
53
|
*/
|
|
27
54
|
readonly isIExternalBookCollection: true;
|
|
55
|
+
/**
|
|
56
|
+
* Add Listeners.
|
|
57
|
+
*
|
|
58
|
+
* @see
|
|
59
|
+
* {@link IListener.ISource.addListeners}
|
|
60
|
+
*/
|
|
61
|
+
addListeners(listeners: IExternalBookCollection.IListeners, options?: IListener.Options): IListener.Remove;
|
|
62
|
+
/** Closes the collection; the workbook's to call. */
|
|
63
|
+
close(): void;
|
|
64
|
+
}
|
|
65
|
+
export declare namespace IExternalBookCollection {
|
|
66
|
+
/**
|
|
67
|
+
* When the cached values of these books should be re-read from their sources, on open.
|
|
68
|
+
*
|
|
69
|
+
* @remarks
|
|
70
|
+
* `userSet` asks the user on open, `always` refreshes without asking, `never` uses the cache.
|
|
71
|
+
*
|
|
72
|
+
* The mode governs the books as a SET — no single book carries one — but it is read and written
|
|
73
|
+
* on the workbook (`IWorkbook.getUpdateLinks`), where Excel's object model and the file both
|
|
74
|
+
* keep it.
|
|
75
|
+
*/
|
|
76
|
+
type UpdateLinks = 'always' | 'never' | 'userSet';
|
|
77
|
+
interface AddOptions {
|
|
78
|
+
/**
|
|
79
|
+
* Where the source workbook is: a path or URL (`C:\dir\Budget.xlsx`, `\\server\share\Budget.xlsx`,
|
|
80
|
+
* `https://host/Budget.xlsx`, or a bare `Budget.xlsx` relative to this workbook), or the
|
|
81
|
+
* full `(relType, target)` entries a file would record.
|
|
82
|
+
*/
|
|
83
|
+
sources: string | readonly IExternalBook.SourceEntry[];
|
|
84
|
+
/** The source's sheet names, if known. A formula citing a sheet not listed here adds it. */
|
|
85
|
+
sheetNames?: readonly string[];
|
|
86
|
+
}
|
|
87
|
+
interface Events {
|
|
88
|
+
/**
|
|
89
|
+
* A book was added, removed or refreshed, or a sheet name was recorded on one. Fires once per
|
|
90
|
+
* change, and on the undo or redo of one.
|
|
91
|
+
*/
|
|
92
|
+
onCollectionChange?(source: IExternalBookCollection): void;
|
|
93
|
+
/**
|
|
94
|
+
* Called once, when the workbook that owns these books closes.
|
|
95
|
+
*/
|
|
96
|
+
onClose?(source: IExternalBookCollection): void;
|
|
97
|
+
}
|
|
98
|
+
interface IListeners extends IListener.Callbacks<IExternalBookCollection, IExternalBookCollection.Events> {
|
|
99
|
+
}
|
|
28
100
|
}
|
|
29
101
|
//# sourceMappingURL=IExternalBookCollection.d.ts.map
|