@sheetxl/sdk 0.7.26 → 0.7.28-beta.1
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 +34 -0
- package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +1 -0
- package/browser/cjs/D590vnHyyrIYenQ7.cjs +33 -0
- package/browser/cjs/DfVZ_U2YapkL3Y3y.cjs +1 -0
- package/browser/cjs/DsII2GRIYGbaZjIE.cjs +1 -0
- package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +10 -0
- package/browser/cjs/index.cjs +3 -6
- package/browser/cjs/nE4y6hua6AwWSil7.cjs +1 -0
- package/browser/cjs/nMss3hrHzgX9s6dC.cjs +57 -0
- package/browser/esm/AyOmyt_vaPirbWnn.mjs +49986 -0
- package/browser/esm/BJ5lU2Y0r4Vy8n4q.mjs +109 -0
- package/browser/esm/BvaEmG7AaTSm7dFt.mjs +818 -0
- package/browser/esm/CWKJatjtHKfWtM2b.mjs +503 -0
- package/browser/esm/CkhE5KvHQvKzw4Ll.mjs +4436 -0
- package/browser/esm/Dpwf1IgHZjpEpK-K.mjs +24 -0
- package/browser/esm/index.mjs +3225 -62
- package/browser/esm/uFvYxePB3xD2HrP0.mjs +14 -0
- package/licenses/dependencies.txt +74 -193
- package/node/esm/CYXOvL3qwWeDE0xf.mjs +114 -0
- package/node/esm/Dgmq_XXiU2AQw1tX.mjs +22 -0
- package/node/esm/index.mjs +53619 -23254
- package/node/esm/qxrG4h6T0dAo8eZ6.mjs +837 -0
- package/package.json +19 -14
- package/resources/contents.json +21 -0
- package/resources/locales/contents.json +19 -0
- package/resources/locales/de/grammar.json +16 -0
- package/resources/locales/de/model.msg.json +510 -0
- package/resources/locales/en/model.msg.json +525 -0
- package/types/index.d.ts +2 -21294
- package/types/scripting-enums.json +1009 -0
- package/types/scripting.d.ts +26540 -31455
- package/types/src/address/AddressUtils.d.ts +252 -0
- package/types/src/address/_AddressMessages.d.ts +7 -0
- package/types/src/address/index.d.ts +35 -0
- package/types/src/anchored/AbstractAnchored.d.ts +200 -0
- package/types/src/anchored/Anchored.d.ts +154 -0
- package/types/src/anchored/AnchoredMap.d.ts +178 -0
- package/types/src/anchored/IAnchored.d.ts +118 -0
- package/types/src/anchored/IAnchoredMap.d.ts +207 -0
- package/types/src/anchored/_AnchorMessages.d.ts +3 -0
- package/types/src/anchored/index.d.ts +2 -0
- package/types/src/autoFill/AutoFill.d.ts +161 -0
- package/types/src/autoFill/IAutoFill.d.ts +117 -0
- package/types/src/autoFill/index.d.ts +3 -0
- package/types/src/border/IBorder.d.ts +284 -0
- package/types/src/border/index.d.ts +2 -0
- package/types/src/calculation/Calculation.d.ts +440 -0
- package/types/src/calculation/FormulaLiterals.d.ts +18 -0
- package/types/src/calculation/ICalculation.d.ts +1016 -0
- package/types/src/calculation/INamedFormulasCollection.d.ts +141 -0
- package/types/src/calculation/NamedFormulaCollection.d.ts +671 -0
- package/types/src/calculation/TokenType.d.ts +117 -0
- package/types/src/calculation/Types.d.ts +110 -0
- package/types/src/calculation/_CalculationMessages.d.ts +3 -0
- package/types/src/calculation/builtInNames.d.ts +2 -0
- package/types/src/calculation/compiler/ASTTypes.d.ts +180 -0
- package/types/src/calculation/compiler/CompilerLocale.d.ts +69 -0
- package/types/src/calculation/compiler/CompilerUtils.d.ts +331 -0
- package/types/src/calculation/compiler/FormulaCompiler.d.ts +69 -0
- package/types/src/calculation/compiler/FormulaLexer.d.ts +85 -0
- package/types/src/calculation/compiler/FormulaParser.d.ts +270 -0
- package/types/src/calculation/compiler/FormulaSeparators.d.ts +35 -0
- package/types/src/calculation/compiler/LiteTransform.d.ts +15 -0
- package/types/src/calculation/compiler/ParserUtils.d.ts +167 -0
- package/types/src/calculation/compiler/SRLexer.d.ts +19 -0
- package/types/src/calculation/compiler/SRParser.d.ts +38 -0
- package/types/src/calculation/compiler/Types.d.ts +274 -0
- package/types/src/calculation/compiler/index.d.ts +3 -0
- package/types/src/calculation/executor/CalcExecutor.d.ts +115 -0
- package/types/src/calculation/executor/CalcExecutorUtils.d.ts +11 -0
- package/types/src/calculation/executor/index.d.ts +3 -0
- package/types/src/calculation/formula/Formula.d.ts +168 -0
- package/types/src/calculation/formula/FormulaBlock.d.ts +207 -0
- package/types/src/calculation/formula/IFormulaBlock.d.ts +181 -0
- package/types/src/calculation/formula/LambdaValue.d.ts +166 -0
- package/types/src/calculation/formula/TokenUtils.d.ts +26 -0
- package/types/src/calculation/formula/index.d.ts +4 -0
- package/types/src/calculation/functions/Operators.d.ts +30 -0
- package/types/src/calculation/functions/index.d.ts +2 -0
- package/types/src/calculation/functions/initializeFunctions.d.ts +22 -0
- package/types/src/calculation/grid/CalcGrid.d.ts +205 -0
- package/types/src/calculation/grid/CalcGridUtils.d.ts +172 -0
- package/types/src/calculation/grid/ICalcGrid.d.ts +500 -0
- package/types/src/calculation/grid/index.d.ts +3 -0
- package/types/src/calculation/index.d.ts +5 -0
- package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +25 -0
- package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +120 -0
- package/types/src/calculation/spatial/PrecedentSpatialValue.d.ts +115 -0
- package/types/src/calculation/spatial/SpillEntry.d.ts +40 -0
- package/types/src/calculation/spatial/index.d.ts +5 -0
- package/types/src/calculation/state/CalcNode.d.ts +71 -0
- package/types/src/calculation/state/CalcScope.d.ts +35 -0
- package/types/src/calculation/state/CalcState.d.ts +28 -0
- package/types/src/calculation/state/CalculationContext.d.ts +125 -0
- package/types/src/calculation/state/IContextContainer.d.ts +320 -0
- package/types/src/calculation/state/index.d.ts +6 -0
- package/types/src/calculation/symbol/FunctionSymbolProvider.d.ts +44 -0
- package/types/src/calculation/symbol/ISymbolRegistry.d.ts +93 -0
- package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +144 -0
- package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +18 -0
- package/types/src/calculation/symbol/SymbolRegistry.d.ts +19 -0
- package/types/src/calculation/symbol/TableColumnSymbolProvider.d.ts +21 -0
- package/types/src/calculation/symbol/TableSymbolProvider.d.ts +19 -0
- package/types/src/calculation/symbol/index.d.ts +9 -0
- package/types/src/cell/ICell.d.ts +672 -0
- package/types/src/cell/ICellHeader.d.ts +142 -0
- package/types/src/cell/ICellProtection.d.ts +41 -0
- package/types/src/cell/index.d.ts +4 -0
- package/types/src/cellRange/ICellHeaderRange.d.ts +306 -0
- package/types/src/cellRange/ICellHeaderRanges.d.ts +107 -0
- package/types/src/cellRange/ICellRange.d.ts +2509 -0
- package/types/src/cellRange/ICellRanges.d.ts +407 -0
- package/types/src/cellRange/ICellRegion.d.ts +133 -0
- package/types/src/cellRange/_GraphNode.d.ts +38 -0
- package/types/src/cellRange/index.d.ts +6 -0
- package/types/src/chart/Chart.d.ts +53 -0
- package/types/src/chart/IChart.d.ts +42 -0
- package/types/src/chart/index.d.ts +5 -0
- package/types/src/collections/ArraysGrid.d.ts +72 -0
- package/types/src/collections/BooleanList.d.ts +67 -0
- package/types/src/collections/GridMap.d.ts +47 -0
- package/types/src/collections/HashMap.d.ts +15 -0
- package/types/src/collections/IGrid.d.ts +278 -0
- package/types/src/collections/IList.d.ts +89 -0
- package/types/src/collections/IMap.d.ts +45 -0
- package/types/src/collections/IReadableList.d.ts +120 -0
- package/types/src/collections/ISortedMap.d.ts +171 -0
- package/types/src/collections/ISparseGrid.d.ts +61 -0
- package/types/src/collections/ISparseList.d.ts +103 -0
- package/types/src/collections/ISpatialMap.d.ts +515 -0
- package/types/src/collections/ISpatialMap3D.d.ts +116 -0
- package/types/src/collections/IWritableList.d.ts +41 -0
- package/types/src/collections/ImmutableList.d.ts +52 -0
- package/types/src/collections/IteratorUtils.d.ts +91 -0
- package/types/src/collections/MixedTypedArrayList.d.ts +140 -0
- package/types/src/collections/OverlappingRangeIterator.d.ts +91 -0
- package/types/src/collections/RTree.d.ts +111 -0
- package/types/src/collections/RepeatingList.d.ts +20 -0
- package/types/src/collections/SortedMap.d.ts +396 -0
- package/types/src/collections/SparseGrid.d.ts +99 -0
- package/types/src/collections/SparseList.d.ts +90 -0
- package/types/src/collections/SpatialMap.d.ts +102 -0
- package/types/src/collections/SpatialMap3D.d.ts +64 -0
- package/types/src/collections/Tuple.d.ts +160 -0
- package/types/src/collections/_CollectionUtils.d.ts +25 -0
- package/types/src/collections/_GridUtils.d.ts +268 -0
- package/types/src/collections/_RunUtils.d.ts +170 -0
- package/types/src/collections/_SpatialUtils.d.ts +115 -0
- package/types/src/collections/index.d.ts +21 -0
- package/types/src/color/Color.d.ts +120 -0
- package/types/src/color/ColorSpace.d.ts +45 -0
- package/types/src/color/IColor.d.ts +1110 -0
- package/types/src/color/_BuiltInIndexDefs.d.ts +4 -0
- package/types/src/color/_BuiltInNamedDefs.d.ts +29 -0
- package/types/src/color/_BuiltInSchemeDefs.d.ts +7 -0
- package/types/src/color/_ColorUtils.d.ts +93 -0
- package/types/src/color/index.d.ts +3 -0
- package/types/src/comment/IComment.d.ts +108 -0
- package/types/src/comment/index.d.ts +2 -0
- package/types/src/condition/AnchoredConditional.d.ts +263 -0
- package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +83 -0
- package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/AndOperator.d.ts +12 -0
- package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +12 -0
- package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +12 -0
- package/types/src/condition/BuiltInOperators/BlankOperator.d.ts +9 -0
- package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +11 -0
- package/types/src/condition/BuiltInOperators/ErrorOperator.d.ts +9 -0
- package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +17 -0
- package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/IconOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +14 -0
- package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/NotOperator.d.ts +12 -0
- package/types/src/condition/BuiltInOperators/OrOperator.d.ts +12 -0
- package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +13 -0
- package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +12 -0
- package/types/src/condition/BuiltInOperators/UniqueOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/ValidEmailOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/ValidUrlOperator.d.ts +8 -0
- package/types/src/condition/BuiltInOperators/index.d.ts +59 -0
- package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +43 -0
- package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +14 -0
- package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +12 -0
- package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +16 -0
- package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +14 -0
- package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +14 -0
- package/types/src/condition/BuiltinSelectors/index.d.ts +18 -0
- package/types/src/condition/Condition.d.ts +123 -0
- package/types/src/condition/ICondition.d.ts +915 -0
- package/types/src/condition/_ConditionUtils.d.ts +190 -0
- package/types/src/condition/index.d.ts +3 -0
- package/types/src/conditionalFormat/ConditionalEntry.d.ts +20 -0
- package/types/src/conditionalFormat/ConditionalFormat.d.ts +190 -0
- package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +20 -0
- package/types/src/conditionalFormat/IConditionalFormat.d.ts +518 -0
- package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +70 -0
- package/types/src/conditionalFormat/_ConditionalMessages.d.ts +2 -0
- package/types/src/conditionalFormat/index.d.ts +3 -0
- package/types/src/dataValidation/DataValidation.d.ts +121 -0
- package/types/src/dataValidation/DataValidationCollection.d.ts +20 -0
- package/types/src/dataValidation/IDataValidation.d.ts +327 -0
- package/types/src/dataValidation/IDataValidationCollection.d.ts +63 -0
- package/types/src/dataValidation/_DataValidationMessages.d.ts +2 -0
- package/types/src/dataValidation/_Utils.d.ts +10 -0
- package/types/src/dataValidation/index.d.ts +3 -0
- package/types/src/date/DateUtils.d.ts +8 -0
- package/types/src/date/_DateUtils.d.ts +122 -0
- package/types/src/date/index.d.ts +2 -0
- package/types/src/externalBook/ExternalBookCollection.d.ts +36 -0
- package/types/src/externalBook/IExternalBook.d.ts +97 -0
- package/types/src/externalBook/IExternalBookCollection.d.ts +29 -0
- package/types/src/externalBook/index.d.ts +3 -0
- package/types/src/fill/IEffect.d.ts +389 -0
- package/types/src/fill/IFill.d.ts +597 -0
- package/types/src/fill/IStroke.d.ts +265 -0
- package/types/src/fill/_BuiltInPatterns.d.ts +27 -0
- package/types/src/fill/index.d.ts +4 -0
- package/types/src/filter/IFilter.d.ts +83 -0
- package/types/src/filter/index.d.ts +2 -0
- package/types/src/font/CanvasFontMeasurer.d.ts +25 -0
- package/types/src/font/ExtendedTextMetrics.d.ts +1 -0
- package/types/src/font/Font.d.ts +19 -0
- package/types/src/font/FontKitFontMeasurer.d.ts +11 -0
- package/types/src/font/FontUtils.d.ts +9 -0
- package/types/src/font/IFont.d.ts +261 -0
- package/types/src/font/IFontCollection.d.ts +31 -0
- package/types/src/font/SimpleFontMeasurer.d.ts +4 -0
- package/types/src/font/_FontUtils.d.ts +22 -0
- package/types/src/font/index.d.ts +5 -0
- package/types/src/history/IHistory.d.ts +110 -0
- package/types/src/history/index.d.ts +2 -0
- package/types/src/hyperlink/IHyperlink.d.ts +96 -0
- package/types/src/hyperlink/_Hyperlink.d.ts +21 -0
- package/types/src/hyperlink/index.d.ts +2 -0
- package/types/src/i18n/LanguagePack.d.ts +97 -0
- package/types/src/i18n/LocaleProfile.d.ts +15 -0
- package/types/src/i18n/_CurrencyData.d.ts +20 -0
- package/types/src/i18n/functionLocales.d.ts +6 -0
- package/types/src/i18n/index.d.ts +4 -0
- package/types/src/i18n/locales.d.ts +3 -0
- package/types/src/index.d.ts +71 -0
- package/types/src/io/AbstractBackingStore.d.ts +53 -0
- package/types/src/io/ArrayBackingStore.d.ts +34 -0
- package/types/src/io/IWorkbookIO.d.ts +1322 -0
- package/types/src/io/WorkbookIO.d.ts +91 -0
- package/types/src/io/WorkbookOrigin.d.ts +114 -0
- package/types/src/io/WorkbookRegistry.d.ts +49 -0
- package/types/src/io/index.d.ts +5 -0
- package/types/src/lib/file/file.browser.d.ts +41 -0
- package/types/src/lib/file/file.node.d.ts +25 -0
- package/types/src/lib/utils/_Utils.d.ts +20 -0
- package/types/src/lib/utils/banner.d.ts +6 -0
- package/types/src/lib/utils/utils.browser.d.ts +28 -0
- package/types/src/lib/utils/utils.node.d.ts +42 -0
- package/types/src/license/LicenseDetails.d.ts +22 -0
- package/types/src/license/LicenseManager.d.ts +63 -0
- package/types/src/license/index.d.ts +3 -0
- package/types/src/license/license-key.d.ts +33 -0
- package/types/src/listener/IListener.d.ts +62 -0
- package/types/src/listener/ListenerEmitter.d.ts +47 -0
- package/types/src/listener/index.d.ts +2 -0
- package/types/src/model/AbstractModel.d.ts +90 -0
- package/types/src/model/IModel.d.ts +108 -0
- package/types/src/model/_ModelMessages.d.ts +2 -0
- package/types/src/model/index.d.ts +3 -0
- package/types/src/movable/CustomElement.d.ts +42 -0
- package/types/src/movable/ICustomElement.d.ts +29 -0
- package/types/src/movable/IGroup.d.ts +30 -0
- package/types/src/movable/IMovable.d.ts +327 -0
- package/types/src/movable/IMovableCollection.d.ts +129 -0
- package/types/src/movable/IMovableSelection.d.ts +49 -0
- package/types/src/movable/Movable.d.ts +221 -0
- package/types/src/movable/MovableCollection.d.ts +29 -0
- package/types/src/movable/_MovableUtils.d.ts +4 -0
- package/types/src/movable/index.d.ts +4 -0
- package/types/src/named/AbstractNamed.d.ts +41 -0
- package/types/src/named/INamed.d.ts +225 -0
- package/types/src/named/INamedCollection.d.ts +230 -0
- package/types/src/named/NamedCollection.d.ts +302 -0
- package/types/src/named/_BuiltInNamed.d.ts +6 -0
- package/types/src/named/index.d.ts +3 -0
- package/types/src/numFmt/BuiltInFormats.d.ts +49 -0
- package/types/src/numFmt/IFormatEngine.d.ts +149 -0
- package/types/src/numFmt/NumberFormatBuilder.d.ts +46 -0
- package/types/src/numFmt/NumberFormatParser.d.ts +168 -0
- package/types/src/numFmt/NumberFormatStyles.d.ts +43 -0
- package/types/src/numFmt/NumberFormatType.d.ts +79 -0
- package/types/src/numFmt/NumfmtFormatEngine.d.ts +33 -0
- package/types/src/numFmt/_BuiltInNumberFormats.d.ts +12 -0
- package/types/src/numFmt/_FormatCell.d.ts +52 -0
- package/types/src/numFmt/_NumFmtUtils.d.ts +102 -0
- package/types/src/numFmt/index.d.ts +105 -0
- package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +15 -0
- package/types/src/numFmt/vendor/numfmt/index.d.ts +721 -0
- package/types/src/picture/IPicture.d.ts +69 -0
- package/types/src/picture/Picture.d.ts +67 -0
- package/types/src/picture/index.d.ts +2 -0
- package/types/src/primitives/CompositeRangeStats.d.ts +63 -0
- package/types/src/primitives/Criteria.d.ts +35 -0
- package/types/src/primitives/FormulaContext.d.ts +2 -0
- package/types/src/primitives/PrimitiveUtils.d.ts +255 -0
- package/types/src/primitives/Range.d.ts +221 -0
- package/types/src/primitives/RangeStats.d.ts +48 -0
- package/types/src/primitives/ReferenceRange.d.ts +19 -0
- package/types/src/primitives/Runtime.d.ts +55 -0
- package/types/src/primitives/ScalarCollation.d.ts +174 -0
- package/types/src/primitives/TextFold.d.ts +62 -0
- package/types/src/primitives/_PrimitiveMessages.d.ts +3 -0
- package/types/src/primitives/index.d.ts +7 -0
- package/types/src/primitives/stats/AggregateStats.d.ts +119 -0
- package/types/src/primitives/stats/Cancellation.d.ts +43 -0
- package/types/src/primitives/stats/FrequencyStats.d.ts +94 -0
- package/types/src/primitives/stats/Ranked.d.ts +26 -0
- package/types/src/primitives/stats/ScalarOrder.d.ts +18 -0
- package/types/src/primitives/stats/SortedNumbers.d.ts +48 -0
- package/types/src/primitives/stats/index.d.ts +7 -0
- package/types/src/print/IPrint.d.ts +234 -0
- package/types/src/print/index.d.ts +2 -0
- package/types/src/protectedRange/IProtectedRange.d.ts +239 -0
- package/types/src/protectedRange/IProtectedRangeCollection.d.ts +73 -0
- package/types/src/protectedRange/ProtectedRange.d.ts +101 -0
- package/types/src/protectedRange/ProtectedRangeCollection.d.ts +21 -0
- package/types/src/protectedRange/index.d.ts +3 -0
- package/types/src/protection/DefaultProtection.d.ts +43 -0
- package/types/src/protection/IProtection.d.ts +170 -0
- package/types/src/protection/PasswordHasher.d.ts +35 -0
- package/types/src/protection/index.d.ts +6 -0
- package/types/src/resource/IResource.d.ts +98 -0
- package/types/src/resource/IResourceCollection.d.ts +96 -0
- package/types/src/resource/Resource.d.ts +39 -0
- package/types/src/resource/ResourceCollection.d.ts +19 -0
- package/types/src/resource/_ResourceMessages.d.ts +4 -0
- package/types/src/resource/index.d.ts +5 -0
- package/types/src/resource/resourceKinds.d.ts +23 -0
- package/types/src/richData/index.d.ts +1 -0
- package/types/src/scripting/FunctionCollection.d.ts +88 -0
- package/types/src/scripting/IFunctionCollection.d.ts +208 -0
- package/types/src/scripting/IModule.d.ts +82 -0
- package/types/src/scripting/IModuleCollection.d.ts +79 -0
- package/types/src/scripting/IScript.d.ts +289 -0
- package/types/src/scripting/ITypedFunction.d.ts +61 -0
- package/types/src/scripting/MacroFunction.d.ts +15 -0
- package/types/src/scripting/Module.d.ts +39 -0
- package/types/src/scripting/ModuleCollection.d.ts +56 -0
- package/types/src/scripting/Runtime.d.ts +16 -0
- package/types/src/scripting/Scripts.d.ts +79 -0
- package/types/src/scripting/TypedFunction.d.ts +161 -0
- package/types/src/scripting/_FunctionIndex.d.ts +111 -0
- package/types/src/scripting/_FunctionMessages.d.ts +6 -0
- package/types/src/scripting/_ModuleUtils.d.ts +5 -0
- package/types/src/scripting/_ScriptUtils.d.ts +18 -0
- package/types/src/scripting/enumManifest.browser.d.ts +9 -0
- package/types/src/scripting/enumManifest.node.d.ts +13 -0
- package/types/src/scripting/index.d.ts +4 -0
- package/types/src/selection/IRangeSelection.d.ts +307 -0
- package/types/src/selection/RangeSelection.d.ts +144 -0
- package/types/src/selection/_RangeSelectionUtils.d.ts +32 -0
- package/types/src/selection/index.d.ts +2 -0
- package/types/src/shape/IShape.d.ts +279 -0
- package/types/src/shape/Shape.d.ts +54 -0
- package/types/src/shape/index.d.ts +2 -0
- package/types/src/sheet/CellRegion.d.ts +106 -0
- package/types/src/sheet/ICellContainerOptions.d.ts +97 -0
- package/types/src/sheet/ISheet.d.ts +1074 -0
- package/types/src/sheet/ISheetCollection.d.ts +70 -0
- package/types/src/sheet/NamedCellRange.d.ts +45 -0
- package/types/src/sheet/NamedRange.d.ts +30 -0
- package/types/src/sheet/Sheet.d.ts +1068 -0
- package/types/src/sheet/SheetCell.d.ts +335 -0
- package/types/src/sheet/SheetCollection.d.ts +18 -0
- package/types/src/sheet/SheetRange.d.ts +362 -0
- package/types/src/sheet/SheetRanges.d.ts +225 -0
- package/types/src/sheet/_CopyUtils.d.ts +33 -0
- package/types/src/sheet/_InvalidSheetRange.d.ts +70 -0
- package/types/src/sheet/_SheetAutoFitUtils.d.ts +18 -0
- package/types/src/sheet/_SheetCoords.d.ts +54 -0
- package/types/src/sheet/_SheetFilterUtils.d.ts +9 -0
- package/types/src/sheet/_SheetMessages.d.ts +11 -0
- package/types/src/sheet/_SheetMutations.d.ts +137 -0
- package/types/src/sheet/_SheetSortUtils.d.ts +9 -0
- package/types/src/sheet/_SheetStateReader.d.ts +161 -0
- package/types/src/sheet/_SheetStateTypes.d.ts +446 -0
- package/types/src/sheet/_SheetUtils.d.ts +265 -0
- package/types/src/sheet/clipboard/IHTMLParser.d.ts +92 -0
- package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +55 -0
- package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +29 -0
- package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +46 -0
- package/types/src/sheet/clipboard/_ClipboardUtils.d.ts +10 -0
- package/types/src/sheet/clipboard/index.d.ts +2 -0
- package/types/src/sheet/index.d.ts +6 -0
- package/types/src/sheet/listener/RangesListener.d.ts +32 -0
- package/types/src/sheet/listener/RangesListenerEntry.d.ts +19 -0
- package/types/src/sheet/listener/index.d.ts +3 -0
- package/types/src/sheet/spatial/MergeEntry.d.ts +17 -0
- package/types/src/sheet/spatial/index.d.ts +2 -0
- package/types/src/sheet/style/SheetCellStyle.d.ts +540 -0
- package/types/src/sheet/style/SheetDirectStyle.d.ts +130 -0
- package/types/src/sheet/style/SheetNamedStyle.d.ts +47 -0
- package/types/src/sheet/style/SheetTableStyle.d.ts +47 -0
- package/types/src/sheet/style/UsedRangeSpatialMap.d.ts +80 -0
- package/types/src/sheet/style/_Resolvers.d.ts +41 -0
- package/types/src/sheet/style/_StyleUtils.d.ts +69 -0
- package/types/src/sheet/style/index.d.ts +1 -0
- package/types/src/sheetHeader/ISheetHeader.d.ts +217 -0
- package/types/src/sheetHeader/SheetCellHeader.d.ts +61 -0
- package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +54 -0
- package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +46 -0
- package/types/src/sheetHeader/SheetHeader.d.ts +257 -0
- package/types/src/sheetHeader/_HeaderUtils.d.ts +94 -0
- package/types/src/sheetHeader/_InvalidSheetHeaderRange.d.ts +7 -0
- package/types/src/sheetHeader/index.d.ts +2 -0
- package/types/src/sheetProtection/ISheetProtection.d.ts +150 -0
- package/types/src/sheetProtection/SheetProtection.d.ts +39 -0
- package/types/src/sheetProtection/index.d.ts +2 -0
- package/types/src/sheetView/ISheetView.d.ts +439 -0
- package/types/src/sheetView/SheetView.d.ts +113 -0
- package/types/src/sheetView/_SheetViewUtils.d.ts +19 -0
- package/types/src/sheetView/index.d.ts +2 -0
- package/types/src/slicer/ISlicer.d.ts +38 -0
- package/types/src/slicer/Slicer.d.ts +41 -0
- package/types/src/slicer/index.d.ts +2 -0
- package/types/src/sort/ISort.d.ts +318 -0
- package/types/src/sort/Sort.d.ts +48 -0
- package/types/src/sort/_SortUtils.d.ts +12 -0
- package/types/src/sort/index.d.ts +3 -0
- package/types/src/string/IStringCollection.d.ts +50 -0
- package/types/src/string/StringCollection.d.ts +26 -0
- package/types/src/string/index.d.ts +3 -0
- package/types/src/style/IStyle.d.ts +485 -0
- package/types/src/style/IStyleCollection.d.ts +292 -0
- package/types/src/style/StyleCollection.d.ts +125 -0
- package/types/src/style/_BuiltInStyleDefs.d.ts +18 -0
- package/types/src/style/_BuiltInStyleNames.d.ts +20 -0
- package/types/src/style/index.d.ts +5 -0
- package/types/src/table/AnchoredTable.d.ts +349 -0
- package/types/src/table/AutoTable.d.ts +64 -0
- package/types/src/table/ITable.d.ts +714 -0
- package/types/src/table/ITableCollection.d.ts +88 -0
- package/types/src/table/ITableStyle.d.ts +318 -0
- package/types/src/table/Table.d.ts +8 -0
- package/types/src/table/TableCollection.d.ts +20 -0
- package/types/src/table/_AutoTableColumn.d.ts +27 -0
- package/types/src/table/_BuiltInTableStyles.d.ts +9 -0
- package/types/src/table/_FilterField.d.ts +30 -0
- package/types/src/table/_NamedTable.d.ts +84 -0
- package/types/src/table/_NamedTableSource.d.ts +57 -0
- package/types/src/table/_SortField.d.ts +29 -0
- package/types/src/table/_TableColumn.d.ts +51 -0
- package/types/src/table/_TableMessages.d.ts +5 -0
- package/types/src/table/_TableUtils.d.ts +94 -0
- package/types/src/table/index.d.ts +5 -0
- package/types/src/text/AutoNumberingScheme.d.ts +175 -0
- package/types/src/text/Bullet.d.ts +34 -0
- package/types/src/text/IText.d.ts +53 -0
- package/types/src/text/ITextFrame.d.ts +313 -0
- package/types/src/text/TextBoxAlignment.d.ts +141 -0
- package/types/src/text/TextFrame.d.ts +43 -0
- package/types/src/text/TextLine.d.ts +24 -0
- package/types/src/text/TextParagraph.d.ts +61 -0
- package/types/src/text/TextRotation.d.ts +106 -0
- package/types/src/text/TextRun.d.ts +85 -0
- package/types/src/text/TextUtils.d.ts +165 -0
- package/types/src/text/TextVisitor.d.ts +11 -0
- package/types/src/text/TextWrapper.d.ts +78 -0
- package/types/src/text/_TextUtils.d.ts +90 -0
- package/types/src/text/impl/Phrase.d.ts +3 -0
- package/types/src/text/impl/TabStrategy.d.ts +9 -0
- package/types/src/text/impl/WordWrapUtils.d.ts +6 -0
- package/types/src/text/index.d.ts +7 -0
- package/types/src/text/richtext/IStyledFont.d.ts +330 -0
- package/types/src/text/richtext/index.d.ts +2 -0
- package/types/src/theme/ITheme.d.ts +252 -0
- package/types/src/theme/IThemeCollection.d.ts +84 -0
- package/types/src/theme/ThemeCollection.d.ts +62 -0
- package/types/src/theme/_BuiltInColorSchemes.d.ts +3 -0
- package/types/src/theme/_BuiltInFontSchemes.d.ts +3 -0
- package/types/src/theme/_BuiltInThemeDefs.d.ts +3 -0
- package/types/src/theme/_ThemeMessages.d.ts +3 -0
- package/types/src/theme/_ThemeUtils.d.ts +3 -0
- package/types/src/theme/index.d.ts +4 -0
- package/types/src/transaction/ITransaction.d.ts +594 -0
- package/types/src/transaction/Transaction.d.ts +184 -0
- package/types/src/transaction/TransactionSaveStateManager.d.ts +85 -0
- package/types/src/transaction/TransactionUndoManager.d.ts +60 -0
- package/types/src/transaction/index.d.ts +5 -0
- package/types/src/type/ICollection.d.ts +110 -0
- package/types/src/type/IProperties.d.ts +51 -0
- package/types/src/type/ITypes.d.ts +69 -0
- package/types/src/type/Registry.d.ts +66 -0
- package/types/src/type/index.d.ts +5 -0
- package/types/src/utils/GeomUtils.d.ts +61 -0
- package/types/src/utils/ObjectPath.d.ts +9 -0
- package/types/src/utils/Profiler.d.ts +38 -0
- package/types/src/utils/_CSSUtils.d.ts +156 -0
- package/types/src/utils/_GeomUtils.d.ts +14 -0
- package/types/src/utils/_RangeCoordUtils.d.ts +84 -0
- package/types/src/utils/_RangeSetUtils.d.ts +55 -0
- package/types/src/utils/index.d.ts +2 -0
- package/types/src/workbook/IWorkbook.d.ts +711 -0
- package/types/src/workbook/Workbook.d.ts +342 -0
- package/types/src/workbook/WorkbookRange.d.ts +25 -0
- package/types/src/workbook/WorkbookRanges.d.ts +39 -0
- package/types/src/workbook/_WorkbookMessages.d.ts +8 -0
- package/types/src/workbook/_WorkbookUtils.d.ts +35 -0
- package/types/src/workbook/index.d.ts +3 -0
- package/types/src/workbookProtection/IWorkbookProtection.d.ts +57 -0
- package/types/src/workbookProtection/WorkbookProtection.d.ts +14 -0
- package/types/src/workbookProtection/index.d.ts +2 -0
- package/types/src/workbookView/IWorkbookView.d.ts +134 -0
- package/types/src/workbookView/WorkbookView.d.ts +49 -0
- package/types/src/workbookView/index.d.ts +3 -0
- package/browser/cjs/8p8T3dD14wnIxaBG.cjs +0 -6
- package/browser/cjs/95PbxEGMp0S1al9b.cjs +0 -6
- package/browser/cjs/B5N-CDhD5v6HYM0I.cjs +0 -6
- package/browser/cjs/BKgMJ6JZUiena1iM.cjs +0 -6
- package/browser/cjs/BSW7L4QsMahkhhhy.cjs +0 -6
- package/browser/cjs/Be4ZjrWJHL1nRmQu.cjs +0 -6
- package/browser/cjs/BkyqIhWBqIxRof6b.cjs +0 -6
- package/browser/cjs/BzjrR52QeojqLbOx.cjs +0 -7
- package/browser/cjs/C4h0pgfUOocSJ3Ke.cjs +0 -6
- package/browser/cjs/CKDSsq1v8jGWlRAi.cjs +0 -55
- package/browser/cjs/CYMVELYS8FNeFpiq.cjs +0 -6
- package/browser/cjs/CYg51Fs361BHxyRI.cjs +0 -6
- package/browser/cjs/CdzYFZ-48HrcE5LQ.cjs +0 -6
- package/browser/cjs/CfKjVPVp-cWgnToo.cjs +0 -6
- package/browser/cjs/D-u1ccCpAGvsjKOp.cjs +0 -6
- package/browser/cjs/D5fl40nw9aOYcQli.cjs +0 -6
- package/browser/cjs/D6KrtS3oZrLOAxO5.cjs +0 -6
- package/browser/cjs/DXQv5Gx-Wtfyk89a.cjs +0 -6
- package/browser/cjs/Di10f5RB2IX9PFHR.cjs +0 -6
- package/browser/cjs/DnOACT9Vxcz9_frM.cjs +0 -15
- package/browser/cjs/Dr2RqSffQZyFVpHL.cjs +0 -6
- package/browser/cjs/Dz0rduQbyCjN2Ni_.cjs +0 -6
- package/browser/cjs/JrzBZL5--Ock2uVj.cjs +0 -6
- package/browser/cjs/VLEyvfkmKqqUCKxv.cjs +0 -124
- package/browser/cjs/W8tk-2bTTSDGstfk.cjs +0 -6
- package/browser/cjs/pc9KfujdfWA19P_V.cjs +0 -6
- package/browser/cjs/qiB3rVaQVJILQk_N.cjs +0 -6
- package/browser/esm/BBYOqwrtztJDWz3c.mjs +0 -10
- package/browser/esm/BBst2hgdCPhA3DPd.mjs +0 -10
- package/browser/esm/BFrnY1TEgniZNVl8.mjs +0 -10
- package/browser/esm/BR4W7_ucdFJi03RO.mjs +0 -10
- package/browser/esm/BUci9XBsYBUNnQub.mjs +0 -10
- package/browser/esm/B_DMz5brejp8Mgto.mjs +0 -10
- package/browser/esm/B_EdCIINiuU7UuR6.mjs +0 -10
- package/browser/esm/BklwssraNXGXEaP2.mjs +0 -10
- package/browser/esm/BvccAibR-3R_xO8l.mjs +0 -10
- package/browser/esm/Bza5H7E2GGoHxEt7.mjs +0 -10
- package/browser/esm/C0brjreeBKRcVYN4.mjs +0 -10
- package/browser/esm/C1hdw7eWXk0zq1SS.mjs +0 -10
- package/browser/esm/C4Y3MpHe_UzFZEaF.mjs +0 -10
- package/browser/esm/CATfU6MHTqOkz5FJ.mjs +0 -10
- package/browser/esm/CDe9GrlTNhuZzOVh.mjs +0 -23841
- package/browser/esm/C_bcVsMhltCNyQij.mjs +0 -10
- package/browser/esm/CqpHJSTi0m49GR_q.mjs +0 -10
- package/browser/esm/CvVXzwNYb-2OZMBj.mjs +0 -426
- package/browser/esm/CwIFvNV1kcbLsXJg.mjs +0 -10
- package/browser/esm/D7xtXncwRYiPYQ3v.mjs +0 -10
- package/browser/esm/D8BmFg9FFVHUz_W1.mjs +0 -10
- package/browser/esm/DRm-FWBKVOv2Jp6x.mjs +0 -10
- package/browser/esm/Due-pSw1d9_zz_19.mjs +0 -12
- package/browser/esm/DvipK7b_PuSzB8G-.mjs +0 -10
- package/browser/esm/aTyRGVa5Smj2T_9l.mjs +0 -10
- package/browser/esm/lRUYQdaIClvoTNGo.mjs +0 -4022
- package/browser/esm/xXGFfp-8v8jL5akS.mjs +0 -5653
- package/node/esm/BBst2hgdCPhA3DPd.mjs +0 -10
- package/node/esm/BFrnY1TEgniZNVl8.mjs +0 -10
- package/node/esm/BLNq3EgGCGKtzrGq.mjs +0 -10
- package/node/esm/BLS0f7etFu8fozVg.mjs +0 -10
- package/node/esm/BMyNI7ZZi2ICO6Bn.mjs +0 -10
- package/node/esm/BR4W7_ucdFJi03RO.mjs +0 -10
- package/node/esm/B_EdCIINiuU7UuR6.mjs +0 -10
- package/node/esm/BhKeh1i4iDAeImus.mjs +0 -1072
- package/node/esm/BklwssraNXGXEaP2.mjs +0 -10
- package/node/esm/Bza5H7E2GGoHxEt7.mjs +0 -10
- package/node/esm/C0brjreeBKRcVYN4.mjs +0 -10
- package/node/esm/C1hdw7eWXk0zq1SS.mjs +0 -10
- package/node/esm/C4Y3MpHe_UzFZEaF.mjs +0 -10
- package/node/esm/CATfU6MHTqOkz5FJ.mjs +0 -10
- package/node/esm/COhANehqT9YVLl76.mjs +0 -10
- package/node/esm/CqpHJSTi0m49GR_q.mjs +0 -10
- package/node/esm/CuijIC4hIp5bpx9B.mjs +0 -10
- package/node/esm/CwIFvNV1kcbLsXJg.mjs +0 -10
- package/node/esm/D7xtXncwRYiPYQ3v.mjs +0 -10
- package/node/esm/D8BmFg9FFVHUz_W1.mjs +0 -10
- package/node/esm/DPs0koPRfrHYG1yO.mjs +0 -13
- package/node/esm/DVM4Cwe0h2V1V4vm.mjs +0 -10
- package/node/esm/DvipK7b_PuSzB8G-.mjs +0 -10
- package/node/esm/aTyRGVa5Smj2T_9l.mjs +0 -10
- package/node/esm/qLqMotWYwBIdEVhE.mjs +0 -2458
|
@@ -0,0 +1,671 @@
|
|
|
1
|
+
import { IRange, Scalar, IFormulaContext } from '@sheetxl/primitives';
|
|
2
|
+
import { ITransaction } from '../transaction';
|
|
3
|
+
import { IListener } from '../listener';
|
|
4
|
+
import { ListenerEmitter } from '../listener/ListenerEmitter';
|
|
5
|
+
import { ICellRange, ICellRanges } from '../cellRange';
|
|
6
|
+
import { _NamedGraphNode } from '../cellRange/_GraphNode';
|
|
7
|
+
import { INamed } from '../named';
|
|
8
|
+
import { ITypes } from '../type';
|
|
9
|
+
import { IContextContainer } from './state';
|
|
10
|
+
import { Formula, IFormulaBlock } from './formula';
|
|
11
|
+
import { ICalculation } from './ICalculation';
|
|
12
|
+
import { INamedFormulasCollection } from './INamedFormulasCollection';
|
|
13
|
+
interface State {
|
|
14
|
+
/**
|
|
15
|
+
* Keyed by {@link NamedFormula.getId} — the item's own stable id, which nothing can change.
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* Deliberately NOT keyed by (name, scope), the pair that forms a name's identity. Both halves of
|
|
19
|
+
* that pair MOVE: a rename changes one, and a sheet rename changes what the other resolves to
|
|
20
|
+
* without any setter running here at all — so the map silently held entries under keys their
|
|
21
|
+
* items no longer answered to, and a sheet rename orphaned every name private to it.
|
|
22
|
+
*
|
|
23
|
+
* Nothing is lost by not indexing on it: `getByName`, `getById` and `getItems` all scanned
|
|
24
|
+
* already, because scope shadowing is a decision over the whole set rather than a key lookup.
|
|
25
|
+
*/
|
|
26
|
+
itemsById: Map<string, NamedFormula>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Implementation for {@link INamedFormulasCollection}.
|
|
30
|
+
*/
|
|
31
|
+
export declare class NamedFormulaCollection implements INamedFormulasCollection {
|
|
32
|
+
protected _emitter: ListenerEmitter<this, INamedFormulasCollection.IListeners>;
|
|
33
|
+
private _transactions;
|
|
34
|
+
private _stateId;
|
|
35
|
+
private _transactionsRemoveListener;
|
|
36
|
+
private _closed;
|
|
37
|
+
protected _container: IContextContainer | null;
|
|
38
|
+
protected _context: IFormulaContext | null;
|
|
39
|
+
protected _ready: (() => Promise<ICalculation.Status>) | null;
|
|
40
|
+
protected _getActiveCell: () => IRange.CellCoords | null;
|
|
41
|
+
protected _createVirtualGrid: ((gridId: string) => void) | null;
|
|
42
|
+
protected _getRange: ((address: ICellRange.Address) => ICellRange) | undefined;
|
|
43
|
+
protected _getRanges: ((address: ICellRanges.Address) => ICellRanges) | undefined;
|
|
44
|
+
protected _createGraphRanges: ((cells: readonly IRange.Coords[], names: readonly _NamedGraphNode[]) => ICellRanges | null) | undefined;
|
|
45
|
+
protected _resolveSheetScope: ((stableId: string) => string | null) | null;
|
|
46
|
+
protected _isReadOnly: (() => boolean) | null;
|
|
47
|
+
protected _getOrBindProxyFakeId: ((name: string, scope: string | null) => string | null) | null;
|
|
48
|
+
protected _queuePendingAction: ((action: () => Promise<void>) => void) | null;
|
|
49
|
+
protected _isEngineReady: (() => boolean) | null;
|
|
50
|
+
/**
|
|
51
|
+
* A name has been bound to its ranges since the last notification — see {@link _markWired}.
|
|
52
|
+
*/
|
|
53
|
+
private _wiringDirty;
|
|
54
|
+
/** Nesting depth of {@link _beginWiringBatch}; the flush happens on the way out of the last one. */
|
|
55
|
+
private _wiringBatchDepth;
|
|
56
|
+
constructor(options?: NamedFormulaCollection.ConstructorOptions);
|
|
57
|
+
/**
|
|
58
|
+
* Hydrates from `IWorkbook.JSON.names`. A malformed entry is warned and skipped rather than
|
|
59
|
+
* failing the whole load — one bad name must not cost the workbook every other name.
|
|
60
|
+
*
|
|
61
|
+
* @remarks
|
|
62
|
+
* Called by the engine AFTER it has registered the named-formula symbol provider, not from this
|
|
63
|
+
* constructor. `add()` binds each name a symbol id up front (that id is the virtual grid it
|
|
64
|
+
* compiles into), and with no provider registered yet it binds nothing — the name would load,
|
|
65
|
+
* be listed, and still evaluate to `#NAME?`.
|
|
66
|
+
*
|
|
67
|
+
* Not on `INamedFormulasCollection`: hydration belongs to whoever constructs the engine.
|
|
68
|
+
*/
|
|
69
|
+
hydrate(json: INamed.JSON[] | undefined, formulaTransform?: ICalculation.FormulaTransform): void;
|
|
70
|
+
/**
|
|
71
|
+
* Serializes to `IWorkbook.JSON.names` form, sorted by scope+name so output is stable across
|
|
72
|
+
* saves.
|
|
73
|
+
*
|
|
74
|
+
* @returns `null` when empty, matching the other collections (the key is then omitted).
|
|
75
|
+
*
|
|
76
|
+
* @remarks
|
|
77
|
+
* Sorted by what each item SAYS rather than by the map's key, which is now the item's id — a
|
|
78
|
+
* uuid, so keying the sort on it would reshuffle `names` on every save and make a diff of two
|
|
79
|
+
* saves of the same workbook meaningless.
|
|
80
|
+
*
|
|
81
|
+
* `ref` is taken from the wired block, which is sheet-qualified: `_doWireCore` runs
|
|
82
|
+
* `reanchorReferences(scopeGridId)`, resolving any bare reference against the anchor sheet —
|
|
83
|
+
* matching Excel, where typing `=A1` into a name's RefersTo comes back as `=Sheet1!A1`.
|
|
84
|
+
*
|
|
85
|
+
* That qualified form is what must be persisted. The raw input may be bare, and a bare reference
|
|
86
|
+
* cannot be represented in `<definedName>` (a single static string, with no caller to anchor
|
|
87
|
+
* against), so serializing it would lose the sheet. An unwired item falls back to its raw
|
|
88
|
+
* expression — it has nothing better to offer.
|
|
89
|
+
*/
|
|
90
|
+
toJSON(): INamed.JSON[] | null;
|
|
91
|
+
/** {@inheritDoc INamedFormulasCollection.add} */
|
|
92
|
+
add(options: INamedFormulasCollection.AddOptions): ICalculation.INamedFormula;
|
|
93
|
+
/**
|
|
94
|
+
* A name has just been bound to the region it designates.
|
|
95
|
+
*
|
|
96
|
+
* @internal
|
|
97
|
+
*
|
|
98
|
+
* @remarks
|
|
99
|
+
* Defining a name is two steps, and only the first is synchronous. `add()` records it — it lists,
|
|
100
|
+
* it has a name — and queues the compile that binds it to a region onto the engine's pending
|
|
101
|
+
* drain. Between the two `getRanges()` is null, so a consumer that heard only the `add` sees a
|
|
102
|
+
* name referring to nothing: the name box showed an address for a name the managed-names pane was
|
|
103
|
+
* already listing, because listing needs `getName()` and nothing more.
|
|
104
|
+
*
|
|
105
|
+
* So the second step is announced as well, through the same event — what a name refers to is part
|
|
106
|
+
* of what this collection holds, not an incidental detail of one item. The same applies when a
|
|
107
|
+
* name is redefined or an undo moves it, both of which recompile through the same path.
|
|
108
|
+
*
|
|
109
|
+
* Batched by {@link _beginWiringBatch}, because loading a workbook wires every name in one drain
|
|
110
|
+
* and a listener that re-reads the collection would otherwise do it once per name.
|
|
111
|
+
*/
|
|
112
|
+
protected _markWired(): void;
|
|
113
|
+
/**
|
|
114
|
+
* The graph node for a name id, or `null` — the sheet layer's door for minting name nodes into
|
|
115
|
+
* a CELL's graph answers.
|
|
116
|
+
*
|
|
117
|
+
* @internal
|
|
118
|
+
*
|
|
119
|
+
* @remarks
|
|
120
|
+
* `live` applies the phase-5 liveness rule (TODO-RENDER-DEPENDENCIES.md): a name is reported as
|
|
121
|
+
* a cell's DEPENDENT only when it has a dependent of its own — `_xlnm.Print_Area` reads every
|
|
122
|
+
* cell in the area and nothing reads it, so it is dead by construction and minting it would put
|
|
123
|
+
* a phantom on every cell it covers. No prefix special-casing: `=SUM(_xlnm.Print_Area)` makes
|
|
124
|
+
* it genuinely live and it SHOULD show. The PRECEDENT direction never gates: a name the cell's
|
|
125
|
+
* own formula mentions is in use by that very fact.
|
|
126
|
+
*/
|
|
127
|
+
_graphNode(id: string, live?: boolean): _NamedGraphNode | null;
|
|
128
|
+
/**
|
|
129
|
+
* Announces that what this collection PRESENTS has changed, without its own state having moved.
|
|
130
|
+
*
|
|
131
|
+
* @internal
|
|
132
|
+
*
|
|
133
|
+
* @remarks
|
|
134
|
+
* A rename is the case that needs this. Membership does not change, and the map is keyed by the
|
|
135
|
+
* item's id, so nothing here is written — but a consumer rendering `getItems()` is now showing
|
|
136
|
+
* the wrong text. This used to arrive as a side effect of re-filing the item under its new key;
|
|
137
|
+
* with that gone it has to be said on purpose, or the name box and the managed-names cards keep
|
|
138
|
+
* the old name until something else happens to fire.
|
|
139
|
+
*
|
|
140
|
+
* Also covers `hidden`, which decides whether an item appears in a filtered `getItems()` at all.
|
|
141
|
+
*
|
|
142
|
+
* Shares {@link _markWired}'s batching, for the same reason: a load changes every item at once.
|
|
143
|
+
*/
|
|
144
|
+
protected _markContentsChanged(): void;
|
|
145
|
+
/**
|
|
146
|
+
* Holds wiring notifications until the matching {@link _endWiringBatch}.
|
|
147
|
+
*
|
|
148
|
+
* @internal
|
|
149
|
+
*
|
|
150
|
+
* @remarks
|
|
151
|
+
* Wrapped around the engine's pending-action drains. Re-entrant (counted, not a flag) because a
|
|
152
|
+
* drained action can itself drain.
|
|
153
|
+
*
|
|
154
|
+
* `private`, and reached from `Calculation._drainPending` through a declaration of this shape —
|
|
155
|
+
* how a drain batches its notifications is not part of what a collection of names offers.
|
|
156
|
+
*/
|
|
157
|
+
private _beginWiringBatch;
|
|
158
|
+
/**
|
|
159
|
+
* Ends a {@link _beginWiringBatch}, emitting once if anything wired inside it.
|
|
160
|
+
*
|
|
161
|
+
* @internal
|
|
162
|
+
*/
|
|
163
|
+
private _endWiringBatch;
|
|
164
|
+
protected _flushWired(): void;
|
|
165
|
+
/** {@inheritDoc ICollection.[Symbol.iterator]} */
|
|
166
|
+
[Symbol.iterator](): IterableIterator<ICalculation.INamedFormula>;
|
|
167
|
+
/** {@inheritDoc INamedFormulasCollection.getItems} */
|
|
168
|
+
getItems(options?: INamedFormulasCollection.GetItemsOptions): ICalculation.INamedFormula[];
|
|
169
|
+
/**
|
|
170
|
+
* {@inheritDoc INamedFormulasCollection.getByName}
|
|
171
|
+
*
|
|
172
|
+
* @param scope - The sheet the name is being referenced FROM. A name scoped to that sheet
|
|
173
|
+
* shadows a global of the same name, which is how a formula on that sheet resolves it.
|
|
174
|
+
* Omitted (or null) asks the workbook-wide question — "does this name exist at all" — which
|
|
175
|
+
* prefers the global and will settle for any scoped one.
|
|
176
|
+
*
|
|
177
|
+
* @remarks
|
|
178
|
+
* Passing a scope makes the answer STRICT: another sheet's private name is not a candidate, so
|
|
179
|
+
* the result is the sheet's own or the global, else nothing. Excel agrees — a name scoped to
|
|
180
|
+
* `One` referenced from `Two` is `#NAME?`, not `One`'s value. Without the scope there is nothing
|
|
181
|
+
* to be strict about, and the lenient fallback is what a name-exists check wants.
|
|
182
|
+
*/
|
|
183
|
+
getByName(name: string, scope?: string | null): ICalculation.INamedFormula | null;
|
|
184
|
+
/** {@inheritDoc ICollection.getCount} */
|
|
185
|
+
getCount(): number;
|
|
186
|
+
/** {@inheritDoc IListener.ISource.addListeners} */
|
|
187
|
+
addListeners(listeners: INamedFormulasCollection.IListeners, options?: IListener.Options): IListener.Remove;
|
|
188
|
+
/**
|
|
189
|
+
* Look up a named formula by its stable id.
|
|
190
|
+
*/
|
|
191
|
+
getById(id: string): ICalculation.INamedFormula | null;
|
|
192
|
+
/**
|
|
193
|
+
* The item holding this exact identity — the (name, sheet) pair — or `null`.
|
|
194
|
+
*
|
|
195
|
+
* @param scopeId The sheet's stableId, or `null` for the workbook-global scope.
|
|
196
|
+
*
|
|
197
|
+
* @remarks
|
|
198
|
+
* A live scan, not a key lookup. Identity is the pair, and a defined name's `scope` half is a
|
|
199
|
+
* SHEET rather than a spelling of one, so the comparison has to be against sheet identity: after
|
|
200
|
+
* `Sheet1` becomes `Sales Data`, `Sales Data!Total` is the same name as the `Sheet1!Total` that
|
|
201
|
+
* was defined, and must still be refused as a duplicate.
|
|
202
|
+
*
|
|
203
|
+
* Backs both the duplicate check in {@link add} and the collision check on rename.
|
|
204
|
+
*/
|
|
205
|
+
protected _findSameIdentity(name: string, scopeId: string | null): NamedFormula | null;
|
|
206
|
+
/**
|
|
207
|
+
* Resolves a caller's `scope` input to the sheet's stableId.
|
|
208
|
+
*
|
|
209
|
+
* @remarks
|
|
210
|
+
* Display name in, identity out — the one conversion point, so nothing downstream ever holds a
|
|
211
|
+
* spelling that a rename can invalidate. `bind` on a stableId is the identity, so passing one
|
|
212
|
+
* through (an internal caller, or a re-add of an item's own scope) is already correct.
|
|
213
|
+
*
|
|
214
|
+
* An input that names no sheet is kept verbatim rather than dropped: `getScope` falls back to it,
|
|
215
|
+
* so a name loaded from a file that references a sheet the file does not contain still reports
|
|
216
|
+
* the scope it was written with instead of silently becoming global.
|
|
217
|
+
*/
|
|
218
|
+
protected _resolveScopeInput(scope: string | null): string | null;
|
|
219
|
+
/** A scope id as the sheet's current display name — see {@link NamedFormula.getScope}. */
|
|
220
|
+
protected _resolveScopeName(scopeId: string | null): string | null;
|
|
221
|
+
protected _remove(id: string): void;
|
|
222
|
+
isClosed(): boolean;
|
|
223
|
+
close(): void;
|
|
224
|
+
protected _getState(): State | null;
|
|
225
|
+
protected _beginCommit(options?: string | ITransaction.OperationOptions): ITransaction;
|
|
226
|
+
protected _updateState(state: Partial<State> | ((prevState: State) => State), description?: string, options?: ITransaction.StoreOperationOptions<unknown, Partial<State>>): void;
|
|
227
|
+
protected _initState(): void;
|
|
228
|
+
}
|
|
229
|
+
export declare namespace NamedFormulaCollection {
|
|
230
|
+
interface ConstructorOptions {
|
|
231
|
+
/**
|
|
232
|
+
* Named items to hydrate at construction, in `IWorkbook.JSON.names` form — `ref` carries the
|
|
233
|
+
* expression.
|
|
234
|
+
*
|
|
235
|
+
* @remarks
|
|
236
|
+
* Taken here rather than through a separate `fromJSON()` call: this collection owns the
|
|
237
|
+
* items, so hydrating at construction keeps it from having a pre-load lifecycle state.
|
|
238
|
+
*/
|
|
239
|
+
json?: INamed.JSON[];
|
|
240
|
+
transactions?: ITransaction.IStore;
|
|
241
|
+
container?: IContextContainer;
|
|
242
|
+
context?: IFormulaContext;
|
|
243
|
+
ready?: () => Promise<ICalculation.Status>;
|
|
244
|
+
getRange: (address: ICellRange.Address) => ICellRange;
|
|
245
|
+
/** Resolves an address to ranges. Backs {@link ICalculation.INamedFormula.getReferences}. */
|
|
246
|
+
getRanges?: (address: ICellRanges.Address) => ICellRanges;
|
|
247
|
+
/**
|
|
248
|
+
* Builds one `ICellRanges` out of cell coords plus name nodes — see
|
|
249
|
+
* `Calculation.ConstructorOptions.createGraphRanges`. Backs the graph answers
|
|
250
|
+
* ({@link ICalculation.INamedFormula.getDirectDependents} and friends) whenever a defined name
|
|
251
|
+
* belongs in one; without it those answers fall back to cells only.
|
|
252
|
+
*/
|
|
253
|
+
createGraphRanges?: (cells: readonly IRange.Coords[], names: readonly _NamedGraphNode[]) => ICellRanges | null;
|
|
254
|
+
/** Resolves a sheet stableId to its display name — calc refs carry stableId scopes. */
|
|
255
|
+
resolveSheetScope?: (stableId: string) => string | null;
|
|
256
|
+
/** Backs {@link INamed.isReadOnly} on each item. Defaults to not read-only. */
|
|
257
|
+
isReadOnly?: () => boolean;
|
|
258
|
+
getActiveCell?: () => IRange.CellCoords | null;
|
|
259
|
+
createVirtualGrid?: (gridId: string) => void;
|
|
260
|
+
/** The virtual grid a name compiles into. Keyed by name AND scope — see `add`. */
|
|
261
|
+
getOrBindProxyFakeId?: (name: string, scope: string | null) => string | null;
|
|
262
|
+
queuePendingAction?: (action: () => Promise<void>) => void;
|
|
263
|
+
/**
|
|
264
|
+
* Whether the calculation engine is running.
|
|
265
|
+
*
|
|
266
|
+
* @remarks
|
|
267
|
+
* A name added to a running engine is wired immediately; one added while it is still coming up
|
|
268
|
+
* is queued onto the pending drain. Without this every name waits for a drain that a plain
|
|
269
|
+
* `add` never causes.
|
|
270
|
+
*/
|
|
271
|
+
isEngineReady?: () => boolean;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
interface NamedFormulaWireOptions {
|
|
275
|
+
container: IContextContainer;
|
|
276
|
+
context: IFormulaContext;
|
|
277
|
+
ready: () => Promise<ICalculation.Status>;
|
|
278
|
+
/** Returns the scope's sheet gridId (for reference resolution). Resolved after ready(). */
|
|
279
|
+
getScopeGridId: () => string | null;
|
|
280
|
+
/** Queues a setup action to run before the next calculation cycle in ready(). */
|
|
281
|
+
queuePendingAction?: (action: () => Promise<void>) => void;
|
|
282
|
+
/** Whether the engine is running, and so whether wiring can happen now rather than on a drain. */
|
|
283
|
+
isEngineReady?: () => boolean;
|
|
284
|
+
/** Announces that this name is now bound to a region — see `NamedFormulaCollection._markWired`. */
|
|
285
|
+
markWired?: () => void;
|
|
286
|
+
/**
|
|
287
|
+
* Range resolvers backing {@link NamedFormula.getReferences} (and so {@link NamedFormula.getRanges}).
|
|
288
|
+
*
|
|
289
|
+
* @remarks
|
|
290
|
+
* These live on the wire options rather than on the item because they are only meaningful once
|
|
291
|
+
* the block is compiled — an unwired item has no references to resolve regardless. They mirror
|
|
292
|
+
* what `createFormula` supplies: workbook-level resolvers, so `getOwnScope` is required
|
|
293
|
+
* to anchor any reference that came through unscoped.
|
|
294
|
+
*/
|
|
295
|
+
getRanges?: (address: ICellRanges.Address) => ICellRanges;
|
|
296
|
+
getRange?: (address: ICellRange.Address) => ICellRange;
|
|
297
|
+
/** Mixed graph answers (cells + name nodes) — see the collection option of the same name. */
|
|
298
|
+
createGraphRanges?: (cells: readonly IRange.Coords[], names: readonly _NamedGraphNode[]) => ICellRanges | null;
|
|
299
|
+
/** Resolves a sheet stableId to its display name — calc refs carry stableId scopes. */
|
|
300
|
+
resolveSheetScope?: (stableId: string) => string | null;
|
|
301
|
+
/**
|
|
302
|
+
* Resolves a name's stable id to its item — the id a virtual grid is registered under, so this
|
|
303
|
+
* doubles as the test for whether a grid id belongs to a name. See {@link NamedFormula._dependentRanges}.
|
|
304
|
+
*/
|
|
305
|
+
getNamedById?: (id: string) => ICalculation.INamedFormula | null;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* A defined name owned by the calculation engine.
|
|
309
|
+
*
|
|
310
|
+
* @remarks
|
|
311
|
+
* Implements {@link INamed} directly rather than through an adapter — the aggregating
|
|
312
|
+
* `INamedCollection` returns `INamed`, so calc's own items have to *be* `INamed` for them to flow
|
|
313
|
+
* through it. An adapter would mean a second `State` for the same name, which is the duplication
|
|
314
|
+
* this whole change exists to remove.
|
|
315
|
+
*
|
|
316
|
+
* `Formula` occupies the base-class slot (the item genuinely is a formula — it participates in the
|
|
317
|
+
* topo graph natively), so the `IModel`/`ITransactional` surface `AbstractModel` would have
|
|
318
|
+
* supplied is implemented here against the transaction store the item already holds.
|
|
319
|
+
*/
|
|
320
|
+
declare class NamedFormula extends Formula implements ICalculation.INamedFormula, INamed<string> {
|
|
321
|
+
/** Transactional state — see the field docs on `_transactions`. */
|
|
322
|
+
private _getNamedState;
|
|
323
|
+
private readonly _id;
|
|
324
|
+
/**
|
|
325
|
+
* Name / scope / comment / hidden live in the transaction store, not in fields, so every
|
|
326
|
+
* mutation is undoable.
|
|
327
|
+
*/
|
|
328
|
+
private readonly _transactions;
|
|
329
|
+
private readonly _stateId;
|
|
330
|
+
private readonly _deleteFromCollection;
|
|
331
|
+
private readonly _wire;
|
|
332
|
+
/** Refuses a rename that would collide with a sibling — see {@link setName}. */
|
|
333
|
+
private readonly _checkRename;
|
|
334
|
+
private readonly _isReadOnly;
|
|
335
|
+
/** Resolves the scope's sheet stableId to its current display name — see {@link getScope}. */
|
|
336
|
+
private readonly _resolveSheetScope;
|
|
337
|
+
/**
|
|
338
|
+
* Tells the collection that what it presents changed — see `_markContentsChanged`.
|
|
339
|
+
*
|
|
340
|
+
* @remarks
|
|
341
|
+
* Every mutation here writes only THIS item's state, so the collection's own store never moves
|
|
342
|
+
* and its `onAfterStateChange` never fires. A rename would then be invisible to anything
|
|
343
|
+
* rendering `getItems()`.
|
|
344
|
+
*/
|
|
345
|
+
private readonly _notifyCollection;
|
|
346
|
+
/** Load-time dialect unwrap — see the constructor; applied by {@link _doWireCore}'s compile. */
|
|
347
|
+
private readonly _formulaTransform;
|
|
348
|
+
private _emitter;
|
|
349
|
+
private _transactionsRemoveListener;
|
|
350
|
+
private _closed;
|
|
351
|
+
/**
|
|
352
|
+
* The compiled body, read LIVE from this name's virtual grid on every access.
|
|
353
|
+
*
|
|
354
|
+
* @remarks
|
|
355
|
+
* Deliberately not a captured instance. A name's body is versioned state like any other formula —
|
|
356
|
+
* it lives at (0,0) of the virtual grid in the ONE shared `formulaSpatial` that also holds every
|
|
357
|
+
* cell formula, inside `Calculation`'s transactional state. So the store already tracks it, and
|
|
358
|
+
* anything holding a second copy is holding a snapshot:
|
|
359
|
+
*
|
|
360
|
+
* - a structural change on a sheet the body references reaches it through `shiftPrecedents`,
|
|
361
|
+
* which stores a NEW immutable block and calls back into nothing
|
|
362
|
+
* - an undo reverts the store to an older version, again touching no field here
|
|
363
|
+
*
|
|
364
|
+
* Left as a field, `getText` — and so `toJSON` — reports the definition as it was when the name
|
|
365
|
+
* was wired, persisting a range the engine itself no longer uses.
|
|
366
|
+
*
|
|
367
|
+
* A point lookup on a one-cell grid, so deriving it per access costs nothing worth caching.
|
|
368
|
+
* `undefined` (no grid, or nothing compiled at its origin) is the pre-wire state, which every
|
|
369
|
+
* accessor below already has a fallback for.
|
|
370
|
+
*/
|
|
371
|
+
protected get _block(): IFormulaBlock;
|
|
372
|
+
constructor(coords: IRange.CellCoords | null, options: INamedFormulasCollection.AddOptions, deleteFromCollection: () => void, wire: NamedFormulaWireOptions | null, gridId?: string | null, checkRename?: (nextName: string) => void, transactions?: ITransaction.IStore, isReadOnly?: (() => boolean) | null, resolveSheetScope?: (stableId: string) => string | null, notifyCollection?: () => void);
|
|
373
|
+
/**
|
|
374
|
+
* Binds this name to the region its expression designates, now.
|
|
375
|
+
*
|
|
376
|
+
* @internal
|
|
377
|
+
*
|
|
378
|
+
* @remarks
|
|
379
|
+
* Called by the collection once the item is IN the collection, so the notification `_doWireCore`
|
|
380
|
+
* ends with describes a set that already contains it. `_doWireCore` has no awaits, so this
|
|
381
|
+
* completes before it returns and `getRanges()` answers immediately afterwards.
|
|
382
|
+
*/
|
|
383
|
+
_wireNow(): void;
|
|
384
|
+
/**
|
|
385
|
+
* {@inheritDoc INamed.getId}
|
|
386
|
+
*
|
|
387
|
+
* @remarks
|
|
388
|
+
* The virtual grid UUID — the item's identity to the calculation engine, and what
|
|
389
|
+
* `IndirectSymbolProvider` keys on so a rename keeps every dependent resolving.
|
|
390
|
+
*
|
|
391
|
+
* Deliberately NOT the transaction store's state id, which `AbstractModel` conflates with it.
|
|
392
|
+
* Here the two differ: the grid id is minted first (it has to be, the symbol binds to it before
|
|
393
|
+
* any state exists), and `getVersionId` reads the state id instead.
|
|
394
|
+
*/
|
|
395
|
+
getId(): string;
|
|
396
|
+
/** {@inheritDoc INamed.getName} */
|
|
397
|
+
getName(): string;
|
|
398
|
+
/**
|
|
399
|
+
* {@inheritDoc INamed.getScope}
|
|
400
|
+
*
|
|
401
|
+
* @remarks
|
|
402
|
+
* Derived on every read: the state holds the scope sheet's stableId, and this resolves it to the
|
|
403
|
+
* sheet's CURRENT display name. A rename therefore carries with no re-filing anywhere, exactly as
|
|
404
|
+
* it already does for a sheet-qualified reference (`=Sheet1!Total`) — same mechanism, applied to
|
|
405
|
+
* the name's own scope.
|
|
406
|
+
*
|
|
407
|
+
* A scope naming no sheet (a file whose `<definedName>` scopes to a sheet the file lacks) is
|
|
408
|
+
* reported verbatim rather than as global: a name that cannot be placed is not a workbook-wide
|
|
409
|
+
* name, and saying so would silently widen what it is visible to.
|
|
410
|
+
*/
|
|
411
|
+
getScope(): string | null;
|
|
412
|
+
/**
|
|
413
|
+
* The scope sheet's stableId, unresolved — the identity half of this name's identity.
|
|
414
|
+
*
|
|
415
|
+
* @internal
|
|
416
|
+
*
|
|
417
|
+
* @remarks
|
|
418
|
+
* For comparing one name's scope to another's (see `_findSameIdentity`). Display names are the
|
|
419
|
+
* wrong currency for that: two sheets can be renamed into and out of a spelling, but their ids
|
|
420
|
+
* never move.
|
|
421
|
+
*/
|
|
422
|
+
getScopeId(): string | null;
|
|
423
|
+
/**
|
|
424
|
+
* {@inheritDoc INamed.getType}
|
|
425
|
+
*
|
|
426
|
+
* @remarks
|
|
427
|
+
* Every defined name owned by calc is a formula — a name that "is a range" is just one whose
|
|
428
|
+
* expression is a pure reference (see {@link getRanges}). There is no separate reference type.
|
|
429
|
+
*/
|
|
430
|
+
getType(): string;
|
|
431
|
+
/**
|
|
432
|
+
* {@inheritDoc INamed.getValue}
|
|
433
|
+
*
|
|
434
|
+
* @remarks
|
|
435
|
+
* The expression is what a formula name *is*, so it is the underlying value.
|
|
436
|
+
*/
|
|
437
|
+
getValue(): string;
|
|
438
|
+
/**
|
|
439
|
+
* {@inheritDoc INamed.setName}
|
|
440
|
+
*
|
|
441
|
+
* @remarks
|
|
442
|
+
* A rename, NOT a redefinition — the id, the bound symbol and the virtual grid are all
|
|
443
|
+
* unchanged, so formulas referencing this name keep resolving and simply re-render with the
|
|
444
|
+
* new text (Excel's Name Manager behavior). Replacing the item instead would mint a new
|
|
445
|
+
* symbol id and leave every dependent at `#NAME?`.
|
|
446
|
+
*
|
|
447
|
+
* A plain state write. The collection is keyed by the item's own id, so there is nothing to
|
|
448
|
+
* re-file — this used to have to happen inside the same commit as the name change, or undo
|
|
449
|
+
* restored one without the other. What the collection still owes is the collision check the
|
|
450
|
+
* re-key used to give for free, which `_checkRename` supplies (and which throws BEFORE the
|
|
451
|
+
* commit opens, so a refused rename leaves nothing behind).
|
|
452
|
+
*/
|
|
453
|
+
setName(name: string, options?: ITransaction.OperationOptions): this;
|
|
454
|
+
/**
|
|
455
|
+
* {@inheritDoc ICalculation.INamedFormula.setExpression}
|
|
456
|
+
*
|
|
457
|
+
* @remarks
|
|
458
|
+
* A redefinition, not a replacement: the id, the bound symbol and the virtual grid all stay, so
|
|
459
|
+
* formulas referencing this name pick up the new expression instead of going `#NAME?`. That is
|
|
460
|
+
* the Name Manager's "Refers to" edit.
|
|
461
|
+
*
|
|
462
|
+
* A leading `=` is optional — a bare range address (`Sheet1!$A$1:$B$2`) is simply a reference
|
|
463
|
+
* expression.
|
|
464
|
+
*/
|
|
465
|
+
setExpression(expression: string, options?: ITransaction.OperationOptions): this;
|
|
466
|
+
/** {@inheritDoc INamed.getComment} */
|
|
467
|
+
getComment(): string | null;
|
|
468
|
+
/** {@inheritDoc INamed.setComment} */
|
|
469
|
+
setComment(comment: string | null, options?: ITransaction.OperationOptions): this;
|
|
470
|
+
/** {@inheritDoc INamed.isHidden} */
|
|
471
|
+
isHidden(): boolean;
|
|
472
|
+
/**
|
|
473
|
+
* {@inheritDoc INamed.setHidden}
|
|
474
|
+
*
|
|
475
|
+
* @remarks
|
|
476
|
+
* Filters listing only. A hidden name still resolves in formulas — Excel's
|
|
477
|
+
* `_xlnm._FilterDatabase` is hidden and load-bearing.
|
|
478
|
+
*/
|
|
479
|
+
setHidden(hidden?: boolean, options?: ITransaction.OperationOptions): this;
|
|
480
|
+
/**
|
|
481
|
+
* A plain transactional write of this item's own state.
|
|
482
|
+
*
|
|
483
|
+
* @remarks
|
|
484
|
+
* Announced twice on purpose, to the two audiences that exist. `onAnyChange` is for a holder of
|
|
485
|
+
* THIS item; `_notifyCollection` is for anything rendering the SET — a name manager's cards, the
|
|
486
|
+
* name box — which re-reads `getItems()` and would otherwise keep showing the old name. Nothing
|
|
487
|
+
* written here moves the collection's own store, so its `onAfterStateChange` never fires.
|
|
488
|
+
*
|
|
489
|
+
* Coarse on purpose: a comment edit re-notifies the list too. The alternative is a per-field rule
|
|
490
|
+
* that has to be updated every time a field is added, and the listeners simply re-read.
|
|
491
|
+
*/
|
|
492
|
+
private _updateNamedState;
|
|
493
|
+
/**
|
|
494
|
+
* {@inheritDoc INamed.select}
|
|
495
|
+
*
|
|
496
|
+
* @remarks
|
|
497
|
+
* Only a name that designates ranges can be selected; for anything else this is a no-op rather
|
|
498
|
+
* than an error, so callers can offer "go to" uniformly and let it fall flat for value names.
|
|
499
|
+
*/
|
|
500
|
+
select(options?: ITypes.SelectOptions): Promise<this>;
|
|
501
|
+
/**
|
|
502
|
+
* {@inheritDoc INamed.toJSON}
|
|
503
|
+
*
|
|
504
|
+
* @remarks
|
|
505
|
+
* `scope` is written as the sheet's CURRENT display name (`getScope()`), not the state's raw
|
|
506
|
+
* stableId: `<definedName localSheetId>` addresses a sheet positionally by name, and no file
|
|
507
|
+
* format carries our internal ids. Emitting a stale name would be worse still — the workbook
|
|
508
|
+
* would reload with the name scoped to a sheet that does not answer to it, orphaned for good.
|
|
509
|
+
*/
|
|
510
|
+
toJSON(): INamed.JSON | null;
|
|
511
|
+
/** {@inheritDoc IModel.isReadOnly} */
|
|
512
|
+
isReadOnly(): boolean;
|
|
513
|
+
/** {@inheritDoc IModel.isDeleted} */
|
|
514
|
+
isDeleted(): boolean;
|
|
515
|
+
/** {@inheritDoc IListener.ISource.addListeners} */
|
|
516
|
+
addListeners(listeners: INamed.IListeners, options?: IListener.Options): IListener.Remove;
|
|
517
|
+
/** {@inheritDoc ITransaction.ITransactional.getVersionId} */
|
|
518
|
+
getVersionId(): number;
|
|
519
|
+
/** {@inheritDoc ITransaction.ITransactional.beginCommit} */
|
|
520
|
+
beginCommit(options?: string | ITransaction.OperationOptions): ITransaction;
|
|
521
|
+
/** {@inheritDoc ITransaction.ITransactional.doBatch} */
|
|
522
|
+
doBatch<R>(callback: (commit: ITransaction.ICommit) => Promise<R> | R, options?: string | ITransaction.OperationOptions): Promise<R> | R;
|
|
523
|
+
/** {@inheritDoc ITransaction.ITransactional.isClosed} */
|
|
524
|
+
isClosed(): boolean;
|
|
525
|
+
/**
|
|
526
|
+
* {@inheritDoc ITransaction.ITransactional.close}
|
|
527
|
+
*
|
|
528
|
+
* @remarks
|
|
529
|
+
* Terminal and not undoable, unlike {@link delete} (a state flag). Detaches the listener but
|
|
530
|
+
* does NOT `remove()` the record from the store: the collection may still hold this item in a
|
|
531
|
+
* previous commit's snapshot, and purging it would corrupt an undo back across the close.
|
|
532
|
+
*/
|
|
533
|
+
close(): void;
|
|
534
|
+
/** {@inheritDoc IModel.isIModel} */
|
|
535
|
+
get isIModel(): true;
|
|
536
|
+
/** {@inheritDoc INamed.isINamed} */
|
|
537
|
+
get isINamed(): true;
|
|
538
|
+
/**
|
|
539
|
+
* {@inheritDoc INamed.getRanges}
|
|
540
|
+
*
|
|
541
|
+
* @returns The ranges this name designates, or `null` when it does not designate any.
|
|
542
|
+
*
|
|
543
|
+
* @remarks
|
|
544
|
+
* A name designates ranges exactly when its expression is a pure reference, so this is
|
|
545
|
+
* {@link getReferences} gated on {@link isReferenceOnly} — the precedents of `=$E$2:$E$6` *are* what
|
|
546
|
+
* the name points at, whereas the precedents of `=SUM(A1:A5)` are merely what it reads.
|
|
547
|
+
*
|
|
548
|
+
* `null` is returned, deliberately without guessing, in three cases:
|
|
549
|
+
*
|
|
550
|
+
* 1. **Not a reference.** `isReferenceOnly()` is false (`=1`, `=SUM(A1:A5)`). Per
|
|
551
|
+
* {@link ICalculation.IFormula.isReferenceOnly}, only a pure-reference formula always resolves to
|
|
552
|
+
* a range; anything else has no stable answer.
|
|
553
|
+
* 2. **Not yet wired.** Wiring is queued onto the engine's pending drain, which runs inline at
|
|
554
|
+
* the tail of `start()` — so every name hydrated from `json.names` is unwired until
|
|
555
|
+
* `await start()` resolves. There is no correct answer to give in that window, and a raw-text
|
|
556
|
+
* fallback would be actively wrong: a bare `=A1` has no sheet until it is anchored.
|
|
557
|
+
* Consumers requery once the engine has started.
|
|
558
|
+
* 3. **Wiring bailed.** `_doWireCore` returns early when the scope sheet cannot be resolved,
|
|
559
|
+
* which leaves the item permanently unwired rather than transiently.
|
|
560
|
+
*/
|
|
561
|
+
getRanges(): ICellRanges | null;
|
|
562
|
+
/** {@inheritDoc ICalculation.INamedFormula.getDirectDependents} */
|
|
563
|
+
getDirectDependents(): ICellRanges | null;
|
|
564
|
+
/** {@inheritDoc ICalculation.INamedFormula.getDependents} */
|
|
565
|
+
getDependents(): ICellRanges | null;
|
|
566
|
+
/**
|
|
567
|
+
* This name as a graph NODE — the backing a {@link NamedCellRange} delegates to.
|
|
568
|
+
*
|
|
569
|
+
* @internal
|
|
570
|
+
*
|
|
571
|
+
* @remarks
|
|
572
|
+
* The anchor is the defining cell (`_coords` — the active cell at authoring time), whose
|
|
573
|
+
* `scope` carries the defining sheet's stableId. A file-loaded name has neither, so the sheet
|
|
574
|
+
* falls to the name's scope sheet and finally to `null` (the consumer defaults it) — the same
|
|
575
|
+
* "self-consistent but arbitrary" anchor the body was compiled against (design doc §7).
|
|
576
|
+
*/
|
|
577
|
+
_asGraphNode(): _NamedGraphNode;
|
|
578
|
+
/** {@inheritDoc ICalculation.INamedFormula.getDirectPrecedents} */
|
|
579
|
+
getDirectPrecedents(): ICellRanges | null;
|
|
580
|
+
/** {@inheritDoc ICalculation.INamedFormula.getPrecedents} */
|
|
581
|
+
getPrecedents(): ICellRanges | null;
|
|
582
|
+
/**
|
|
583
|
+
* The precedents of this NAME — cells and names, ONE answer; the mirror of
|
|
584
|
+
* {@link _dependentRanges}.
|
|
585
|
+
*
|
|
586
|
+
* @remarks
|
|
587
|
+
* The cell half is the ordinary precedent graph: a body is a real formula on its virtual grid,
|
|
588
|
+
* and its references registered precedent ranges like any cell's — so the grid answers, one hop
|
|
589
|
+
* or deep, and only scope translation is needed. The name half is the body's `getNamedIds`:
|
|
590
|
+
* apply-at-eval means a name the body reads has no precedent edge, so the symbol list is the
|
|
591
|
+
* only carrier — one hop for `direct`, the downward closure (cycle-guarded) for the deep form,
|
|
592
|
+
* each closure member contributing its own grid's cell walk.
|
|
593
|
+
*
|
|
594
|
+
* The deep form does not take the symbol hop from UPSTREAM CELLS: with `X = A1*2` and
|
|
595
|
+
* `A1 = SomeName`, `A1` is listed and `SomeName`'s inputs are not — that hop belongs to `A1`,
|
|
596
|
+
* whose own `getDirectPrecedents` reports the `SomeName` node, which is how a TREE walk crosses
|
|
597
|
+
* it. Flattening it here would mean scanning every landed region's blocks; the tree gets it for
|
|
598
|
+
* free, one hop at a time.
|
|
599
|
+
*
|
|
600
|
+
* Everything resolves at the DEFINING anchor (the body's own compilation site) — the same
|
|
601
|
+
* answer the Name Manager gives, and the §4.1 rule for a name that is not in use.
|
|
602
|
+
*/
|
|
603
|
+
private _precedentRanges;
|
|
604
|
+
/**
|
|
605
|
+
* The dependents of this NAME — cells and names, ONE answer.
|
|
606
|
+
*
|
|
607
|
+
* @remarks
|
|
608
|
+
* Two graphs meet here, and the walk has to change vehicles between them.
|
|
609
|
+
*
|
|
610
|
+
* The **symbol** edge — which formulas mention this name — is not in the precedent spatial at
|
|
611
|
+
* all. Names apply at EVAL rather than being inlined at compile, so a reference to one registers
|
|
612
|
+
* no precedent range; the edge is the nameId list each compiled block carries, read back through
|
|
613
|
+
* `container.getNamedDependents` (bucketed and memoized there — see its docs).
|
|
614
|
+
*
|
|
615
|
+
* The **cell** edge is the ordinary precedent graph, and it already carries everything downstream
|
|
616
|
+
* of those blocks. So `direct` is one hop of the first graph; the transitive form takes that hop,
|
|
617
|
+
* then hands each landing block to the grid it lives on.
|
|
618
|
+
*
|
|
619
|
+
* A block on a VIRTUAL grid is another NAME reading this one. It is not a cell — it is a NODE,
|
|
620
|
+
* and it rides in the same answer as an anchored `INamedRange` (design doc §4): one node per
|
|
621
|
+
* name, whatever the walk direction found it by, since dependents are anchor-independent. The
|
|
622
|
+
* transitive walk still passes THROUGH it on the symbol closure (`getNamedDependentNames`, the
|
|
623
|
+
* same closure the engine invalidates against), or `Base`'s dependents would stop at `Plus1`
|
|
624
|
+
* and miss every cell reading `Plus1`. This name itself is listed only when a true cycle leads
|
|
625
|
+
* back to it.
|
|
626
|
+
*/
|
|
627
|
+
private _dependentRanges;
|
|
628
|
+
/**
|
|
629
|
+
* {@inheritDoc IModel.delete}
|
|
630
|
+
*
|
|
631
|
+
* @remarks
|
|
632
|
+
* Removal from the collection, the `isDeleted` flag and the grid placeholder all land in ONE
|
|
633
|
+
* commit, so undo brings the name back whole rather than half-restored.
|
|
634
|
+
*/
|
|
635
|
+
delete(options?: ITransaction.OperationOptions): void;
|
|
636
|
+
/** {@inheritDoc ICalculation.IFormula.evaluate} */
|
|
637
|
+
evaluate(options?: number | ICalculation.EvaluateOptions): Promise<Scalar | IRange>;
|
|
638
|
+
/** {@inheritDoc ICalculation.IFormula.getCalculationStatus} */
|
|
639
|
+
getCalculationStatus(): ICalculation.ResultStatus;
|
|
640
|
+
/**
|
|
641
|
+
* {@inheritDoc ICalculation.IFormula.getExpression}
|
|
642
|
+
*
|
|
643
|
+
* @remarks
|
|
644
|
+
* Anchored at the virtual grid's origin rather than at `this._coords` (the defining cell) — see
|
|
645
|
+
* the {@link getReferences} override.
|
|
646
|
+
*/
|
|
647
|
+
getExpression(options?: ICalculation.FormulaTextOptions): string;
|
|
648
|
+
/** Pre-wire fallback: return empty array before block is compiled. */
|
|
649
|
+
getTokens(evalIndex?: number): readonly ICalculation.FormulaToken[];
|
|
650
|
+
/** Pre-wire fallback: return false before block is compiled. */
|
|
651
|
+
isReferenceOnly(): boolean;
|
|
652
|
+
/**
|
|
653
|
+
* {@inheritDoc ICalculation.IFormula.getReferences}
|
|
654
|
+
*
|
|
655
|
+
* @remarks
|
|
656
|
+
* Overridden to anchor at the virtual grid's origin. The inherited implementation reads
|
|
657
|
+
* `this._coords`, which for a named formula is the *defining* cell (the active cell when the
|
|
658
|
+
* name was added) — it exists only so relative refs encode their R1C1 offsets from there. The
|
|
659
|
+
* compiled block lives at (0,0) of the name's own virtual grid, so the base version would query
|
|
660
|
+
* a cell that holds nothing.
|
|
661
|
+
*/
|
|
662
|
+
getReferences(): ICellRanges | null;
|
|
663
|
+
setReferenceAt(_index: number, _reference: any, _options?: any): this;
|
|
664
|
+
setReferenceModeAt(_index: number, _side?: ICalculation.ReferenceSide, _mode?: number, _options?: any): this;
|
|
665
|
+
private _wireAsync;
|
|
666
|
+
private _doWireCore;
|
|
667
|
+
toString(): string;
|
|
668
|
+
get [Symbol.toStringTag](): string;
|
|
669
|
+
}
|
|
670
|
+
export {};
|
|
671
|
+
//# sourceMappingURL=NamedFormulaCollection.d.ts.map
|