@sheetxl/sdk 0.7.28-beta.4 → 0.8.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD-PARTY-NOTICES.md +1 -1
- package/browser/cjs/4f5eoQQfV-V7LO2_.cjs +1 -0
- package/browser/cjs/BEnEDC1m546-gzWS.cjs +1 -0
- package/browser/cjs/CwCUa4IzGNGissLL.cjs +1 -0
- package/browser/cjs/Dg3GaW0QWwnlqetX.cjs +1 -0
- package/browser/cjs/KWQPie2u7AP69web.cjs +93 -0
- package/browser/cjs/index.cjs +2 -2
- package/browser/esm/{DBIu6NUHIcxOOBQp.mjs → BJ9hcZAGY8Tj5_9L.mjs} +1 -1
- package/browser/esm/C8vpA2ZBtZf6w4nq.mjs +394 -0
- package/browser/esm/DDojiE2-oycJ7qGi.mjs +20 -0
- package/browser/esm/DEPT7zmpiMdZ-_qC.mjs +70253 -0
- package/browser/esm/DOvCi3lf49To36WP.mjs +8 -0
- package/browser/esm/{CHSahmMFYNB0Ajkf.mjs → Dq3sc4B_HQHBrT5N.mjs} +2 -2
- package/browser/esm/index.mjs +871 -696
- package/browser/esm/{CKk58ZLcrllMzfou.mjs → trwZArJQQq7K9kL7.mjs} +2 -2
- package/licenses/dependencies.txt +204 -204
- package/node/esm/CGWsQOMWdnDeF4dX.mjs +8 -0
- package/node/esm/{DUYP6faJJHCaW1Xf.mjs → CL9MI-b6D9BmtVXW.mjs} +1 -1
- package/node/esm/CressiwiIhxCVp1v.mjs +28 -0
- package/node/esm/O2cOO3xIynWUgOWe.mjs +403 -0
- package/node/esm/index.mjs +53973 -38584
- package/package.json +6 -7
- package/resources/locales/de/model.msg.json +45 -9
- package/resources/locales/en/model.msg.json +42 -9
- package/types/scripting-api.json +7093 -0
- package/types/scripting-enums.json +54 -4
- package/types/scripting.d.ts +7185 -1079
- 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} +41 -40
- package/types/src/border/index.d.ts +1 -1
- package/types/src/calculation/Calculation.d.ts +745 -35
- package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
- package/types/src/calculation/FormulaText.d.ts +74 -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/compiler/ASTTypes.d.ts +58 -0
- package/types/src/calculation/compiler/CompilerUtils.d.ts +134 -12
- 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 +422 -34
- 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 +124 -21
- package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
- package/types/src/calculation/formula/IFormulaBlock.d.ts +261 -67
- package/types/src/calculation/formula/LambdaValue.d.ts +15 -16
- 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/initializeFunctions.d.ts +15 -2
- package/types/src/calculation/grid/CalcGrid.d.ts +384 -158
- package/types/src/calculation/grid/CalcGridBackend.d.ts +450 -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 +236 -0
- package/types/src/calculation/grid/ICalcGrid.d.ts +456 -143
- package/types/src/calculation/grid/_CalcRequest.d.ts +272 -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 +160 -29
- 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 +39 -3
- package/types/src/calculation/state/IContextContainer.d.ts +159 -26
- 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 +78 -23
- package/types/src/cell/ICellProtection.d.ts +50 -10
- package/types/src/cellRange/ICellRange.d.ts +368 -90
- package/types/src/cellRange/ICellRanges.d.ts +9 -7
- package/types/src/chart/Chart.d.ts +72 -2
- package/types/src/chart/ChartCollection.d.ts +26 -0
- package/types/src/chart/IChart.d.ts +162 -9
- 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/comment/Comment.d.ts +159 -0
- package/types/src/comment/CommentCollection.d.ts +40 -0
- package/types/src/comment/IComment.d.ts +319 -48
- package/types/src/comment/ICommentCollection.d.ts +90 -0
- package/types/src/comment/_CommentUtils.d.ts +28 -0
- package/types/src/comment/index.d.ts +1 -0
- package/types/src/condition/AnchoredConditional.d.ts +76 -17
- package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +8 -7
- package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +2 -1
- package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +3 -6
- package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +1 -1
- package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +7 -0
- package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +9 -0
- package/types/src/condition/Condition.d.ts +16 -0
- package/types/src/condition/ICondition.d.ts +86 -33
- package/types/src/condition/_ConditionFormula.d.ts +152 -0
- package/types/src/condition/_ConditionUtils.d.ts +73 -10
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +21 -10
- package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +5 -3
- package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
- package/types/src/dataValidation/DataValidation.d.ts +50 -3
- package/types/src/dataValidation/DataValidationCollection.d.ts +20 -9
- package/types/src/dataValidation/IDataValidation.d.ts +119 -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/fill/IStroke.d.ts +1 -1
- package/types/src/filter/IFilter.d.ts +29 -4
- package/types/src/font/IFont.d.ts +17 -0
- package/types/src/history/IHistory.d.ts +3 -2
- package/types/src/i18n/LanguagePack.d.ts +12 -4
- package/types/src/index.d.ts +3 -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/lib/file/file.browser.d.ts +19 -5
- package/types/src/lib/file/file.node.d.ts +5 -0
- package/types/src/lib/utils/_Utils.d.ts +18 -0
- package/types/src/lib/utils/utils.browser.d.ts +9 -3
- package/types/src/license/license-key.d.ts +27 -0
- 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/Control.d.ts +57 -0
- package/types/src/movable/IControl.d.ts +84 -0
- package/types/src/movable/IMovable.d.ts +23 -1
- package/types/src/movable/IMovableCollection.d.ts +2 -0
- package/types/src/movable/Movable.d.ts +4 -6
- package/types/src/movable/MovableCollection.d.ts +7 -7
- package/types/src/movable/index.d.ts +4 -0
- 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 +15 -7
- package/types/src/numFmt/IFormatEngine.d.ts +2 -0
- package/types/src/numFmt/NumfmtFormatEngine.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 +3 -0
- package/types/src/picture/IPicture.d.ts +2 -0
- package/types/src/picture/Picture.d.ts +2 -0
- package/types/src/pivot/IPivotTable.d.ts +107 -0
- package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
- package/types/src/pivot/PivotTable.d.ts +57 -0
- package/types/src/pivot/PivotTableCollection.d.ts +25 -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/LambdaBrand.d.ts +21 -0
- package/types/src/primitives/PrimitiveUtils.d.ts +60 -21
- package/types/src/primitives/Range.d.ts +105 -25
- package/types/src/primitives/RangeStats.d.ts +24 -1
- package/types/src/primitives/ReferenceRange.d.ts +42 -0
- package/types/src/primitives/Runtime.d.ts +15 -2
- package/types/src/primitives/stats/FrequencyStats.d.ts +9 -0
- package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
- package/types/src/primitives/stats/SortedNumbers.d.ts +2 -0
- 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/FunctionArguments.d.ts +22 -0
- package/types/src/scripting/FunctionCollection.d.ts +41 -11
- package/types/src/scripting/IFunctionCollection.d.ts +41 -0
- 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 +18 -0
- 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 +2 -0
- package/types/src/scripting/TypedFunction.d.ts +197 -4
- package/types/src/scripting/_FunctionIndex.d.ts +5 -0
- 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/IRangeSelection.d.ts +9 -4
- package/types/src/selection/RangeSelection.d.ts +2 -0
- package/types/src/shape/IShape.d.ts +41 -3
- package/types/src/shape/Shape.d.ts +10 -0
- package/types/src/shape/_ShapeXml.d.ts +28 -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 +224 -41
- package/types/src/sheet/ISheetCollection.d.ts +2 -5
- package/types/src/sheet/NamedCellRange.d.ts +16 -7
- package/types/src/sheet/Sheet.d.ts +757 -114
- package/types/src/sheet/SheetCell.d.ts +81 -21
- package/types/src/sheet/SheetCollection.d.ts +19 -8
- package/types/src/sheet/SheetRange.d.ts +65 -14
- package/types/src/sheet/SheetRanges.d.ts +4 -6
- package/types/src/sheet/_CellBuffer.d.ts +214 -0
- package/types/src/sheet/_InvalidSheetRange.d.ts +5 -5
- 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 +28 -0
- package/types/src/sheet/_SheetEvents.d.ts +43 -0
- package/types/src/sheet/_SheetFilterUtils.d.ts +32 -1
- package/types/src/sheet/_SheetIntents.d.ts +250 -0
- package/types/src/sheet/_SheetMutations.d.ts +179 -59
- package/types/src/sheet/_SheetStateReader.d.ts +16 -10
- package/types/src/sheet/_SheetStateTypes.d.ts +57 -73
- package/types/src/sheet/_SheetUtils.d.ts +2 -18
- 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 +91 -64
- package/types/src/sheet/style/SheetDirectStyle.d.ts +16 -5
- package/types/src/sheet/style/_Resolvers.d.ts +5 -3
- package/types/src/sheet/style/_StyleUtils.d.ts +37 -7
- package/types/src/sheetHeader/ISheetHeader.d.ts +2 -0
- package/types/src/sheetHeader/SheetHeader.d.ts +14 -0
- 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 +45 -1
- package/types/src/sheetView/SheetView.d.ts +11 -0
- package/types/src/slicer/ISlicer.d.ts +2 -0
- package/types/src/slicer/Slicer.d.ts +2 -0
- package/types/src/sort/ISort.d.ts +2 -0
- package/types/src/string/IStringCollection.d.ts +5 -0
- package/types/src/string/StringCollection.d.ts +6 -6
- package/types/src/style/INamedStyleCollection.d.ts +72 -0
- package/types/src/style/IStyle.d.ts +30 -10
- package/types/src/style/IStyleCollection.d.ts +63 -42
- package/types/src/style/ITableStyleCollection.d.ts +89 -0
- package/types/src/style/NamedStyleCollection.d.ts +39 -0
- package/types/src/style/StyleCollection.d.ts +41 -5
- package/types/src/style/TableStyleCollection.d.ts +49 -0
- package/types/src/style/_BuiltInStyleDefs.d.ts +3 -3
- package/types/src/style/index.d.ts +4 -0
- package/types/src/table/AnchoredTable.d.ts +644 -68
- package/types/src/table/AutoTable.d.ts +5 -5
- package/types/src/table/ITable.d.ts +228 -30
- package/types/src/table/ITableCollection.d.ts +2 -0
- package/types/src/table/TableCollection.d.ts +19 -8
- package/types/src/table/_FilterField.d.ts +7 -5
- 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/ITextFrame.d.ts +25 -1
- package/types/src/text/TextBoxAlignment.d.ts +15 -6
- 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/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/theme/ITheme.d.ts +2 -0
- package/types/src/theme/IThemeCollection.d.ts +2 -0
- package/types/src/theme/ThemeCollection.d.ts +8 -7
- package/types/src/transaction/ITransaction.d.ts +238 -36
- package/types/src/transaction/Transaction.d.ts +99 -11
- 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/workbook/IWorkbook.d.ts +171 -40
- package/types/src/workbook/Workbook.d.ts +103 -7
- 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/BF14ZEAnaqxXroSj.cjs +0 -1
- package/browser/cjs/BXtvdT1Z-MsB_o5F.cjs +0 -1
- package/browser/cjs/Bc4JjVVZfFo3R4He.cjs +0 -33
- package/browser/cjs/CD2RXdnfqSYNc6gX.cjs +0 -57
- package/browser/cjs/DcLpXGexEtOxi-dD.cjs +0 -1
- package/browser/esm/0Mj5WKM362q6CECb.mjs +0 -824
- package/browser/esm/CPTtL2f6_4iblmFM.mjs +0 -4436
- package/browser/esm/CoA-sUxjiIUIpTUF.mjs +0 -109
- package/browser/esm/Dy4Sdpju1T2icURu.mjs +0 -50854
- package/node/esm/BtGxbEbBm79YvF_k.mjs +0 -843
- package/node/esm/DqgWsVXROpSgKq6c.mjs +0 -114
- package/types/src/cellRange/_GraphNode.d.ts +0 -38
- package/types/src/dataValidation/_Utils.d.ts +0 -10
- 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
|
@@ -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
|
|
@@ -238,7 +238,7 @@ export declare namespace IStroke {
|
|
|
238
238
|
readonly Single: "none";
|
|
239
239
|
readonly Double: "double";
|
|
240
240
|
readonly ThickThin: "thickThin";
|
|
241
|
-
readonly ThinThick: "
|
|
241
|
+
readonly ThinThick: "thinThick";
|
|
242
242
|
};
|
|
243
243
|
type PresetMarkerShape = typeof PresetMarkerShape[keyof typeof PresetMarkerShape];
|
|
244
244
|
const StrokeStyle: {
|
|
@@ -4,10 +4,16 @@ import { ICondition } from '../condition';
|
|
|
4
4
|
import { ICellRange } from '../cellRange';
|
|
5
5
|
/**
|
|
6
6
|
* Filters are used to hide spans (rows or columns). that do not match a set of conditions.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* A column's filter ANDs with the other columns' (Excel's AutoFilter): setting one leaves the
|
|
10
|
+
* rest in place unless `replace` says otherwise. Every write returns a Promise that resolves once
|
|
11
|
+
* the rows are hidden; the criteria are written in the same transaction, so an `await` is what
|
|
12
|
+
* makes a read after the call see them.
|
|
7
13
|
*/
|
|
8
14
|
export interface IFilter extends ICondition.Stateful, IFilter.IFilterable {
|
|
9
15
|
/**
|
|
10
|
-
* Returns the range this filter applies to.
|
|
16
|
+
* Returns the range this filter applies to: the column's data rows, header and totals excluded.
|
|
11
17
|
*
|
|
12
18
|
* @remarks
|
|
13
19
|
* A filter is exactly one column of its table, which is why the singular is declared here rather
|
|
@@ -15,9 +21,24 @@ export interface IFilter extends ICondition.Stateful, IFilter.IFilterable {
|
|
|
15
21
|
*/
|
|
16
22
|
getRange(): ICellRange;
|
|
17
23
|
/**
|
|
18
|
-
* Set the condition.
|
|
24
|
+
* Set the condition, `null` to clear this column's.
|
|
25
|
+
*
|
|
26
|
+
* @param condition The condition, or `null` to clear.
|
|
27
|
+
* @param replace If `true`, every other column's filter is dropped; omitted, they stay and this
|
|
28
|
+
* one ANDs with them. A column already filtered keeps its place in the level order.
|
|
29
|
+
* @param options Transaction options.
|
|
30
|
+
*
|
|
31
|
+
* @returns Resolves once the rows are hidden; one transaction, one undo step.
|
|
32
|
+
*/
|
|
33
|
+
setCondition(condition: ICondition.Input | null, replace?: boolean, options?: ITransaction.OperationOptions): Promise<this>;
|
|
34
|
+
/**
|
|
35
|
+
* Re-runs every filter on the table with its current criteria.
|
|
36
|
+
*/
|
|
37
|
+
apply(options?: ITransaction.OperationOptions): Promise<this>;
|
|
38
|
+
/**
|
|
39
|
+
* Clears this column's condition. The other columns' filters stay.
|
|
19
40
|
*/
|
|
20
|
-
|
|
41
|
+
delete(options?: ITransaction.OperationOptions): Promise<this>;
|
|
21
42
|
/**
|
|
22
43
|
* The offset index from the range
|
|
23
44
|
*
|
|
@@ -25,6 +46,8 @@ export interface IFilter extends ICondition.Stateful, IFilter.IFilterable {
|
|
|
25
46
|
* This is relative to the table.
|
|
26
47
|
*/
|
|
27
48
|
getIndex(): number;
|
|
49
|
+
/** For runtime type checking. */
|
|
50
|
+
readonly isIFilter: true;
|
|
28
51
|
}
|
|
29
52
|
/**
|
|
30
53
|
* {@inheritDoc IFilter}
|
|
@@ -76,8 +99,10 @@ export declare namespace IFilter {
|
|
|
76
99
|
* ``` ts
|
|
77
100
|
* sheet.getRange('E:E').filter('>= 30');
|
|
78
101
|
* ```
|
|
102
|
+
*
|
|
103
|
+
* @returns Resolves once the rows are hidden.
|
|
79
104
|
*/
|
|
80
|
-
filter(condition?: ICondition.Input, options?: ITransaction.OperationOptions): this
|
|
105
|
+
filter(condition?: ICondition.Input, options?: ITransaction.OperationOptions): Promise<this>;
|
|
81
106
|
}
|
|
82
107
|
}
|
|
83
108
|
//# sourceMappingURL=IFilter.d.ts.map
|
|
@@ -152,9 +152,26 @@ export declare namespace IFont {
|
|
|
152
152
|
readonly strikePosition?: number;
|
|
153
153
|
readonly strikeThickness?: number;
|
|
154
154
|
readonly italicAngle?: number;
|
|
155
|
+
/**
|
|
156
|
+
* The line pitch in px — what a line of this font advances by, and the height of a row sized
|
|
157
|
+
* to it: `ascent + descent + 2` (Excel's standard row height for the font; the 2 is the
|
|
158
|
+
* gridline gutter above and below the font box). Includes {@link lineGap}.
|
|
159
|
+
*/
|
|
155
160
|
readonly lineHeight: number;
|
|
161
|
+
/**
|
|
162
|
+
* The baseline's offset from the top of a {@link lineHeight} box, in px: where a renderer that
|
|
163
|
+
* paints the line as a box (a CSS line box) puts the alphabetic baseline.
|
|
164
|
+
*/
|
|
156
165
|
readonly baseline: number;
|
|
157
166
|
readonly lineGap: number;
|
|
167
|
+
/**
|
|
168
|
+
* The font's ascent above the baseline in whole px at the measured size — GDI's `tmAscent`,
|
|
169
|
+
* which is what Excel lays text out with (the OS/2 `winAscent`, hinted where the font has a
|
|
170
|
+
* VDMX table).
|
|
171
|
+
*/
|
|
172
|
+
readonly ascent: number;
|
|
173
|
+
/** The font's descent below the baseline in whole px — GDI's `tmDescent` (OS/2 `winDescent`). */
|
|
174
|
+
readonly descent: number;
|
|
158
175
|
}
|
|
159
176
|
interface MetricOptions {
|
|
160
177
|
isBold?: boolean;
|
|
@@ -22,8 +22,9 @@ export declare namespace IHistory {
|
|
|
22
22
|
* @template S The type of the source for `getSource``.
|
|
23
23
|
* @template C The type of the coordinates the snapshot is bound to.
|
|
24
24
|
* @template J The type of the JSON for `toJSON`.
|
|
25
|
+
* @template R What `copyTo` resolves with; the coordinates unless the source has more to report.
|
|
25
26
|
*/
|
|
26
|
-
interface ISnapshot<D = any, S = any, C = any, J = any> {
|
|
27
|
+
interface ISnapshot<D = any, S = any, C = any, J = any, R = C> {
|
|
27
28
|
/**
|
|
28
29
|
* Copies the snapshot to the specified range.
|
|
29
30
|
*
|
|
@@ -32,7 +33,7 @@ export declare namespace IHistory {
|
|
|
32
33
|
*
|
|
33
34
|
* @returns A promise that resolves when the copy is complete, or `void` if no asynchronous operation is required.
|
|
34
35
|
*/
|
|
35
|
-
copyTo(destination: D, options?: IHistory.CopyToOptions): Promise<
|
|
36
|
+
copyTo(destination: D, options?: IHistory.CopyToOptions): Promise<R> | R;
|
|
36
37
|
/**
|
|
37
38
|
* The source that created the snapshot.
|
|
38
39
|
* This is used to quickly do comparisons.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FormulaError } from '@sheetxl/primitives';
|
|
2
|
-
import { MinifiedDescriptor } from '@sheetxl/scripting';
|
|
2
|
+
import { MinifiedDescriptor, MinifiedEnumDescriptors } from '@sheetxl/scripting';
|
|
3
3
|
import { LanguagePack as BaseLanguagePack, LanguageTag } from '@sheetxl/utils';
|
|
4
4
|
/**
|
|
5
5
|
* The **spreadsheet-language plane** of a language pack (I18N-DESIGN.md Plane 3): function names,
|
|
@@ -56,10 +56,18 @@ export interface LanguagePack extends BaseLanguagePack {
|
|
|
56
56
|
* descriptor. Values are {@link MinifiedDescriptor}s — the SAME shape the built-in
|
|
57
57
|
* descriptor modules compile to, so a generated per-locale module IS a pack chunk with
|
|
58
58
|
* no reshaping; `initializeFunctions` overlays it per-field over the built-in English.
|
|
59
|
+
*
|
|
60
|
+
* The module form may also carry `enums` — the copy for enum parameters, again the shape the
|
|
61
|
+
* descriptor modules compile to. A key is an enum id (`MatchMode`), which serves every function
|
|
62
|
+
* that declares an enum of that name, or `FUNCTION:EnumId` (`TEXTAFTER:MatchMode`) for the one
|
|
63
|
+
* function where the same name means something else. The qualified entry wins, per field.
|
|
59
64
|
*/
|
|
60
|
-
functionHelp?: () => Promise<Record<string, MinifiedDescriptor> |
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
functionHelp?: () => Promise<Record<string, MinifiedDescriptor> | FunctionHelpModule>;
|
|
66
|
+
}
|
|
67
|
+
/** The module form of a {@link LanguagePack.functionHelp} chunk. */
|
|
68
|
+
export interface FunctionHelpModule {
|
|
69
|
+
default: Record<string, MinifiedDescriptor>;
|
|
70
|
+
enums?: MinifiedEnumDescriptors;
|
|
63
71
|
}
|
|
64
72
|
/**
|
|
65
73
|
* The active (or `tag`'s) spreadsheet-language pack — the MERGE of every contributor's plane: the
|
package/types/src/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export * from './text';
|
|
|
22
22
|
export * from './condition';
|
|
23
23
|
export * from './sort';
|
|
24
24
|
export * from './filter';
|
|
25
|
+
export * from './person';
|
|
25
26
|
export * from './comment';
|
|
26
27
|
export * from './hyperlink';
|
|
27
28
|
export * from './numFmt';
|
|
@@ -30,7 +31,9 @@ export * from './resource';
|
|
|
30
31
|
export * from './string';
|
|
31
32
|
export * from './anchored';
|
|
32
33
|
export * from './chart';
|
|
34
|
+
export * from './pivot';
|
|
33
35
|
export * from './picture';
|
|
36
|
+
export * from './shape';
|
|
34
37
|
export * from './scripting';
|
|
35
38
|
export * from './calculation';
|
|
36
39
|
export * from './address';
|