@sheetxl/sdk 0.7.27 → 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 +53620 -23262
- 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/-P9BHlnCf8OF6D_m.cjs +0 -6
- package/browser/cjs/4kU87sIrnTEoJHwl.cjs +0 -6
- package/browser/cjs/B8mBx-uU2X9Qvdnr.cjs +0 -6
- package/browser/cjs/BD9lJn7w8OVsIwgC.cjs +0 -6
- package/browser/cjs/BI57E6P5MbZI3G2Z.cjs +0 -6
- package/browser/cjs/BRgYzaAY9tLpJe7C.cjs +0 -6
- package/browser/cjs/BdoGTvcTjso5IcRq.cjs +0 -15
- package/browser/cjs/C3ScwpfBnQ8JeHF-.cjs +0 -6
- package/browser/cjs/CI8H5FLYtzy-Y2TO.cjs +0 -55
- package/browser/cjs/ClUc2Qdf-BFmgsJR.cjs +0 -6
- package/browser/cjs/CsEmF6ZwF-2A9AvC.cjs +0 -6
- package/browser/cjs/D6eH4loatnriRosn.cjs +0 -124
- package/browser/cjs/DJTioC8laMAxiW-z.cjs +0 -6
- package/browser/cjs/DN6U4mb4Jt2b37q-.cjs +0 -7
- package/browser/cjs/DfNwTsshId9JPwTK.cjs +0 -6
- package/browser/cjs/DnQwOaG_1n5GvCnM.cjs +0 -6
- package/browser/cjs/DtOYNHcDq5p3S21C.cjs +0 -6
- package/browser/cjs/Dy2xo5nrA4OFe7w4.cjs +0 -6
- package/browser/cjs/EzhtX7d4GOngN0Se.cjs +0 -6
- package/browser/cjs/FBky5iT5me5H1I0-.cjs +0 -6
- package/browser/cjs/JcziJrpVHeAEo8Iv.cjs +0 -6
- package/browser/cjs/LABm2VcP5Duieabc.cjs +0 -6
- package/browser/cjs/OZxxkm3CI5jiE3O-.cjs +0 -6
- package/browser/cjs/W8_0e_fQB-spiB55.cjs +0 -6
- package/browser/cjs/nS_oDgpzBeOV487v.cjs +0 -6
- package/browser/cjs/srhqHYaGNtcM9evy.cjs +0 -6
- package/browser/cjs/v2J4J4s0rRAvsx4v.cjs +0 -6
- package/browser/esm/8Cdp6eg5fQM4U0CD.mjs +0 -10
- package/browser/esm/BvtSjnucMGltTjeM.mjs +0 -426
- package/browser/esm/Bzw2Xms8ZtifZcAF.mjs +0 -10
- package/browser/esm/C9ojFSLlGrdG3EDE.mjs +0 -10
- package/browser/esm/CPxdCZqGhuQENst8.mjs +0 -10
- package/browser/esm/CQXqHgLFDd57bQSy.mjs +0 -10
- package/browser/esm/CRlsrdZLcL-QKyo2.mjs +0 -12
- package/browser/esm/CUqge0vhYI_M8Hpg.mjs +0 -10
- package/browser/esm/C__wCYJcwKkBqp8t.mjs +0 -10
- package/browser/esm/Cou0jxSdkKrqQBPA.mjs +0 -10
- package/browser/esm/CtGy0C3HHvNhQ3j5.mjs +0 -10
- package/browser/esm/Ctol2MswJyCxIJcQ.mjs +0 -10
- package/browser/esm/D7tUJDQqPM4e3FEC.mjs +0 -10
- package/browser/esm/DB5Wpq1m-bJ7gpBF.mjs +0 -10
- package/browser/esm/DLXAhFMo3NyECo8b.mjs +0 -23842
- package/browser/esm/DTlPJulnTLqG3WSw.mjs +0 -10
- package/browser/esm/DwfM2tfEPAzMl86c.mjs +0 -10
- package/browser/esm/Dx0TIy0V5EVTNOEZ.mjs +0 -10
- package/browser/esm/Dxfd2MfY8kHHUtnu.mjs +0 -4022
- package/browser/esm/E0SwR3N6qggAhdBh.mjs +0 -10
- package/browser/esm/JGdZf2WBzvkRao7-.mjs +0 -10
- package/browser/esm/NAcqiYlYK4mm9q_F.mjs +0 -10
- package/browser/esm/NGg21AIVBhRCHoOh.mjs +0 -10
- package/browser/esm/PjtmxdNFMVskYmPB.mjs +0 -10
- package/browser/esm/a_LQ18tLbXq3N9hu.mjs +0 -10
- package/browser/esm/hXx5ZKLpc4RvmCjH.mjs +0 -10
- package/browser/esm/zoqPtKWJmGQs1ZUb.mjs +0 -5653
- package/node/esm/7QlvuodPxz-B25P9.mjs +0 -10
- package/node/esm/8Cdp6eg5fQM4U0CD.mjs +0 -10
- package/node/esm/B94PecmbGgqY0k9O.mjs +0 -13
- package/node/esm/BpvIVwL4NNRKuaD7.mjs +0 -10
- package/node/esm/Bzw2Xms8ZtifZcAF.mjs +0 -10
- package/node/esm/C9ojFSLlGrdG3EDE.mjs +0 -10
- package/node/esm/CQXqHgLFDd57bQSy.mjs +0 -10
- package/node/esm/CSg2ysafDv5h1zz2.mjs +0 -2458
- package/node/esm/CUqge0vhYI_M8Hpg.mjs +0 -10
- package/node/esm/C__wCYJcwKkBqp8t.mjs +0 -10
- package/node/esm/Cou0jxSdkKrqQBPA.mjs +0 -10
- package/node/esm/CtlHMovXY4x1NgI6.mjs +0 -10
- package/node/esm/Ctol2MswJyCxIJcQ.mjs +0 -10
- package/node/esm/Cv3hTIkdeILrJGYc.mjs +0 -10
- package/node/esm/D7tUJDQqPM4e3FEC.mjs +0 -10
- package/node/esm/DTlPJulnTLqG3WSw.mjs +0 -10
- package/node/esm/Dvg1Ay14DLNhMgmD.mjs +0 -10
- package/node/esm/DwfM2tfEPAzMl86c.mjs +0 -10
- package/node/esm/Dx0TIy0V5EVTNOEZ.mjs +0 -10
- package/node/esm/F5A4vdvxqRt8hFAs.mjs +0 -10
- package/node/esm/NGg21AIVBhRCHoOh.mjs +0 -10
- package/node/esm/PjtmxdNFMVskYmPB.mjs +0 -10
- package/node/esm/a_LQ18tLbXq3N9hu.mjs +0 -10
- package/node/esm/hXx5ZKLpc4RvmCjH.mjs +0 -10
- package/node/esm/lUsLEOryW9viP9g7.mjs +0 -1072
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { ITransaction } from '../transaction';
|
|
2
|
+
import { IListener } from '../listener';
|
|
3
|
+
import { ICellRanges } from '../cellRange';
|
|
4
|
+
import { INamed, INamedCollection } from '../named';
|
|
5
|
+
import { ListenerEmitter } from '../listener/ListenerEmitter';
|
|
6
|
+
export declare const REGEX_INVALID_NAME_FIRST_CHARS: RegExp;
|
|
7
|
+
export declare const REGEX_INVALID_NAME_TRAILING_CHARS: RegExp;
|
|
8
|
+
/**
|
|
9
|
+
* Implementation for `INamedCollection`.
|
|
10
|
+
*/
|
|
11
|
+
export declare class NamedCollection implements INamedCollection {
|
|
12
|
+
protected _emitter: ListenerEmitter<this, INamedCollection.IListeners>;
|
|
13
|
+
private _options;
|
|
14
|
+
private _transactions;
|
|
15
|
+
private _closed;
|
|
16
|
+
private _lastLookup;
|
|
17
|
+
private _lastLookupAddress;
|
|
18
|
+
private _lastLookupType;
|
|
19
|
+
private _lastIncludeHidden;
|
|
20
|
+
private _lastAllowExtrudes;
|
|
21
|
+
private _lastLookupName;
|
|
22
|
+
/** `undefined` means the scope key was absent — `null` is a real query (global items only). */
|
|
23
|
+
private _lastLookupScope;
|
|
24
|
+
private _lastLookupHasScope;
|
|
25
|
+
/** Resolves the registries to aggregate. Lazy — see {@link NamedCollection.ConstructorOptions.getSources}. */
|
|
26
|
+
private _getSources;
|
|
27
|
+
/** Last resolved set, and the subscriptions held against it. */
|
|
28
|
+
private _sources;
|
|
29
|
+
private _sourcesRemoveListeners;
|
|
30
|
+
constructor(options: NamedCollection.ConstructorOptions);
|
|
31
|
+
/**
|
|
32
|
+
* The registries to aggregate, resolving the callback and reconciling subscriptions.
|
|
33
|
+
*
|
|
34
|
+
* @remarks
|
|
35
|
+
* Resolved on every query rather than once at construction: the calculation engine takes this
|
|
36
|
+
* collection, so it does not exist yet when this is built. Laziness is what breaks that cycle —
|
|
37
|
+
* see {@link NamedCollection.ConstructorOptions.getSources}.
|
|
38
|
+
*
|
|
39
|
+
* **Push events.** A source mutating behind us has to drop the lookup memo and reach our
|
|
40
|
+
* listeners, or a cached result outlives the data it was built from. Subscriptions are rebuilt
|
|
41
|
+
* only when the resolved set actually changes, so re-resolving stays cheap and listeners are not
|
|
42
|
+
* churned on every read.
|
|
43
|
+
*/
|
|
44
|
+
private _resolveSources;
|
|
45
|
+
/**
|
|
46
|
+
* The source that owns defined names — the one able to create them.
|
|
47
|
+
*
|
|
48
|
+
* @remarks
|
|
49
|
+
* `null` before the owner has wired one up — the sources resolve lazily, so this is reachable
|
|
50
|
+
* mid-construction. {@link addFormula} throws in that window rather than inventing a home for
|
|
51
|
+
* the name.
|
|
52
|
+
*/
|
|
53
|
+
private _getOwningSource;
|
|
54
|
+
/** {@inheritDoc ICollection.[Symbol.iterator]} */
|
|
55
|
+
[Symbol.iterator](): IterableIterator<INamed>;
|
|
56
|
+
/** {@inheritDoc INamedCollection.getItems} */
|
|
57
|
+
getItems(options?: INamedCollection.GetItemsOptions): INamed[];
|
|
58
|
+
/** {@inheritDoc INamedCollection.getByRanges} */
|
|
59
|
+
getByRanges(ranges: ICellRanges.Address, options?: INamedCollection.GetByRangesOptions): string[];
|
|
60
|
+
/** {@link getByRanges}, against an explicit anchor — see {@link _scopedTo}. */
|
|
61
|
+
_getByRanges(ranges: ICellRanges.Address, options: INamedCollection.GetByRangesOptions | undefined, anchor: NamedCollection.Anchor | null): string[];
|
|
62
|
+
/**
|
|
63
|
+
* The address as sorted, sheet-qualified coords — the form an exact match can be made against.
|
|
64
|
+
*
|
|
65
|
+
* @remarks
|
|
66
|
+
* A named item's coords are always sheet-qualified, because a name is workbook-addressable and
|
|
67
|
+
* may span sheets. A *sheet's* coords — a selection, most of all — are local and carry no
|
|
68
|
+
* `scope` at all. Since `scope` is part of coords identity (`CoordUtils.isEqualRanges`, where the
|
|
69
|
+
* same row/col on two sheets are deliberately not equal), the two can never compare equal until
|
|
70
|
+
* the local side is qualified. An unqualified coord is read as being on the current scope, which
|
|
71
|
+
* is what lets `sheet.getSelection().getRanges()` be passed straight in.
|
|
72
|
+
*
|
|
73
|
+
* Sorted so that a multi-range name matches however the ranges were given — a user shift-picking
|
|
74
|
+
* the second range first still selected the same region.
|
|
75
|
+
*/
|
|
76
|
+
private _qualifyCoords;
|
|
77
|
+
/**
|
|
78
|
+
* Every candidate item, across the pushed store and the injected sources.
|
|
79
|
+
*
|
|
80
|
+
* @param searchCoords The address filter, or `null` for everything.
|
|
81
|
+
*/
|
|
82
|
+
private _collectCandidates;
|
|
83
|
+
/**
|
|
84
|
+
* Whether a source item overlaps the address filter.
|
|
85
|
+
*
|
|
86
|
+
* @remarks
|
|
87
|
+
* An item that designates no ranges — a value name like `=1`, or one whose formula has not been
|
|
88
|
+
* wired yet — is never a positional match, so an address query simply does not see it. It is
|
|
89
|
+
* still returned by an unfiltered query.
|
|
90
|
+
*/
|
|
91
|
+
private _matchesCoords;
|
|
92
|
+
/** {@inheritDoc INamedCollection.getByName} */
|
|
93
|
+
getByName(name: string, global?: boolean): INamed | null;
|
|
94
|
+
/** {@link getByName}, against an explicit `scope` — see {@link _scopedTo}. */
|
|
95
|
+
_getByName(name: string, global?: boolean, scope?: string | null): INamed | null;
|
|
96
|
+
/** The scope an unqualified query is read against — the collection's own, unless {@link _scopedTo}. */
|
|
97
|
+
private _currentScope;
|
|
98
|
+
/**
|
|
99
|
+
* A view of this collection anchored to ONE scope — what `ISheet.getNames()` hands out.
|
|
100
|
+
*
|
|
101
|
+
* @remarks
|
|
102
|
+
* The collection a sheet inside a workbook is given IS the workbook's, whose current scope is
|
|
103
|
+
* whichever sheet the UI has selected. Anything resolved against that scope — `getByName`, and
|
|
104
|
+
* `getByRanges`'s qualification of unqualified coords — therefore answered about the sheet on
|
|
105
|
+
* SCREEN rather than the sheet the caller reached it through. Same call, same arguments, different
|
|
106
|
+
* answer depending on which tab was active.
|
|
107
|
+
*
|
|
108
|
+
* Reached through a sheet, the sheet IS the context, so bind it. Mirrors the identical fix on
|
|
109
|
+
* `Sheet.getCalculation`; `IWorkbook.getNames()` is unchanged and stays workbook-current.
|
|
110
|
+
*
|
|
111
|
+
* The anchor is the live sheet, not a captured name, so the view keeps working across a rename.
|
|
112
|
+
* Everything not scope-sensitive is bound straight through to the real instance — one memo, one
|
|
113
|
+
* subscription set, so a source's invalidation can never leave a view holding a stale result.
|
|
114
|
+
*
|
|
115
|
+
* `getItems` filters rather than re-queries, so the underlying memo still serves every sheet's
|
|
116
|
+
* view; the filter itself is a linear pass over the tens of items a workbook has.
|
|
117
|
+
*/
|
|
118
|
+
_scopedTo(anchor: NamedCollection.Anchor): INamedCollection;
|
|
119
|
+
/** {@inheritDoc INamedCollection.getById} */
|
|
120
|
+
getById(id: string): INamed | null;
|
|
121
|
+
/**
|
|
122
|
+
* First source item satisfying `predicate`, preferring one scoped to `preferScope` over a
|
|
123
|
+
* global one — matching how the pushed store is keyed.
|
|
124
|
+
*/
|
|
125
|
+
private _findInSources;
|
|
126
|
+
/**
|
|
127
|
+
* Source item whose name AND scope match exactly — the same identity the pushed store keys on.
|
|
128
|
+
*
|
|
129
|
+
* @remarks
|
|
130
|
+
* Unlike {@link _findInSources} there is no global fallback: `Total` and `Sheet1!Total` are
|
|
131
|
+
* distinct names, so a scoped query must not report the global one as a hit.
|
|
132
|
+
*/
|
|
133
|
+
private _findInSourcesByKey;
|
|
134
|
+
/** {@inheritDoc ICollection.getCount} */
|
|
135
|
+
getCount(): number;
|
|
136
|
+
/** {@inheritDoc INamedCollection.findValidName} */
|
|
137
|
+
findValidName(template: string, scope?: string | null, ignoreExisting?: boolean): string;
|
|
138
|
+
/** {@inheritDoc INamedCollection.validateName} */
|
|
139
|
+
validateName(named: string, scope?: string | null, ignoreExisting?: boolean): void;
|
|
140
|
+
_validateName(name: string, scope: string | null, ignoreExisting?: boolean): void;
|
|
141
|
+
/**
|
|
142
|
+
* {@inheritDoc INamedCollection.addFormula}
|
|
143
|
+
*
|
|
144
|
+
* @remarks
|
|
145
|
+
* Global. Asked of the WORKBOOK, "add a name" means a workbook name — deliberately NOT
|
|
146
|
+
* {@link _currentScope}, which follows the selected tab: reading against the sheet on screen is
|
|
147
|
+
* right for a query and would be a trap for a write, silently scoping a name to whichever tab
|
|
148
|
+
* happened to be active. `ISheet.getNames()` is where a scoped one comes from — see
|
|
149
|
+
* {@link _scopedTo}.
|
|
150
|
+
*/
|
|
151
|
+
addFormula(name: string, expression: string, replaceExisting?: boolean): INamed;
|
|
152
|
+
/** {@link addFormula}, against an explicit `scope` — see {@link _scopedTo}. */
|
|
153
|
+
_addFormula(name: string, expression: string, replaceExisting?: boolean, scope?: string | null): INamed;
|
|
154
|
+
/** {@inheritDoc ITransaction.ITransactional.beginCommit} */
|
|
155
|
+
beginCommit(options?: string | ITransaction.OperationOptions): ITransaction;
|
|
156
|
+
/**
|
|
157
|
+
* Drops the memoized `getItems` result.
|
|
158
|
+
*
|
|
159
|
+
* @remarks
|
|
160
|
+
* Invoked for a local write AND for a source's `onCollectionChange` — the memo is keyed only on
|
|
161
|
+
* the query arguments, so anything that changes the underlying items has to clear it.
|
|
162
|
+
*/
|
|
163
|
+
private _invalidateLookup;
|
|
164
|
+
/** {@inheritDoc IListener.ISource.addListeners} */
|
|
165
|
+
addListeners(listeners: INamedCollection.IListeners, options?: IListener.Options): IListener.Remove;
|
|
166
|
+
isClosed(): boolean;
|
|
167
|
+
close(): void;
|
|
168
|
+
/**
|
|
169
|
+
* {@inheritDoc INamedCollection.isINamedCollection}
|
|
170
|
+
*
|
|
171
|
+
* @remarks
|
|
172
|
+
* A getter rather than a field so it survives {@link _scopedTo}: the proxy returns non-function
|
|
173
|
+
* properties straight through, which is what lets a sheet-scoped view be brand-checked like the
|
|
174
|
+
* real collection.
|
|
175
|
+
*/
|
|
176
|
+
get isINamedCollection(): true;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* {@inheritDoc NamedCollection}
|
|
180
|
+
*/
|
|
181
|
+
export declare namespace NamedCollection {
|
|
182
|
+
/**
|
|
183
|
+
* The sheet a {@link NamedCollection._scopedTo} view is anchored to — what "here" means for a query
|
|
184
|
+
* that does not say.
|
|
185
|
+
*
|
|
186
|
+
* @remarks
|
|
187
|
+
* Structural rather than `ISheet` to keep this module free of that import; a sheet satisfies it.
|
|
188
|
+
* Both members matter and for different reasons: `getName` is the scope a name resolves against,
|
|
189
|
+
* and `getRanges` is what a bare address like `'A1'` is read on.
|
|
190
|
+
*/
|
|
191
|
+
interface Anchor {
|
|
192
|
+
getName(): string;
|
|
193
|
+
getRanges(address: ICellRanges.Address): ICellRanges | null;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* A registry that contributes named items to the aggregating collection.
|
|
197
|
+
*
|
|
198
|
+
* @remarks
|
|
199
|
+
* `NamedCollection` is a pure aggregator: it owns nothing and queries its sources — defined names
|
|
200
|
+
* from the calculation engine, tables from their own collection, later shapes / charts / pictures.
|
|
201
|
+
* Each source keeps its own items; nothing is mirrored here, so there is only ever one copy of a
|
|
202
|
+
* name.
|
|
203
|
+
*
|
|
204
|
+
* **Pull data, push events.** {@link Source.getItems} is called on demand rather than cached, and
|
|
205
|
+
* {@link Source.addListeners} lets the aggregator invalidate and re-emit when a source changes.
|
|
206
|
+
*
|
|
207
|
+
* Deliberately minimal: a source returns everything it has and the aggregator does all filtering
|
|
208
|
+
* (by address, scope, type, hidden). Defined names number in the tens, so a linear scan beats
|
|
209
|
+
* making every source maintain a query surface — or a second index.
|
|
210
|
+
*
|
|
211
|
+
* Not on `INamedCollection`: how the aggregate is assembled is an implementation concern, and
|
|
212
|
+
* consumers only ever see the aggregate.
|
|
213
|
+
*/
|
|
214
|
+
interface Source {
|
|
215
|
+
/**
|
|
216
|
+
* Every item this source contributes, unfiltered.
|
|
217
|
+
*/
|
|
218
|
+
getItems(): readonly INamed[];
|
|
219
|
+
/**
|
|
220
|
+
* Notified when items are added, removed, renamed or re-scoped.
|
|
221
|
+
*
|
|
222
|
+
* @remarks
|
|
223
|
+
* The aggregator re-emits this as its own `onCollectionChange`, which is also what drops its
|
|
224
|
+
* lookup memo — a source changing behind a cached result is otherwise invisible.
|
|
225
|
+
*/
|
|
226
|
+
addListeners(listeners: {
|
|
227
|
+
onCollectionChange?: (...args: any[]) => void;
|
|
228
|
+
}, options?: IListener.Options): IListener.Remove;
|
|
229
|
+
/**
|
|
230
|
+
* Creates a name owned by this source, if it can own one.
|
|
231
|
+
*
|
|
232
|
+
* @remarks
|
|
233
|
+
* Only the source that owns *defined names* implements this — the calculation engine. It backs
|
|
234
|
+
* {@link INamedCollection.addFormula}, so a name added through the workbook API lands in the
|
|
235
|
+
* same registry as one loaded from a file. A source of derived names (tables, and later shapes
|
|
236
|
+
* / charts) leaves it undefined; those are named by the thing they belong to.
|
|
237
|
+
*/
|
|
238
|
+
add?(options: NamedCollection.AddNamedOptions): INamed;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* What {@link Source.add} needs to define a name.
|
|
242
|
+
*
|
|
243
|
+
* @remarks
|
|
244
|
+
* Structurally a subset of the calculation engine's own add options, so
|
|
245
|
+
* `ICalculation.getNamedFormulas()` satisfies {@link Source} with no adapter.
|
|
246
|
+
*/
|
|
247
|
+
interface AddNamedOptions {
|
|
248
|
+
name: string;
|
|
249
|
+
/** The expression the name is bound to. A plain range address is just a reference expression. */
|
|
250
|
+
expression: string;
|
|
251
|
+
scope?: string | null;
|
|
252
|
+
comment?: string;
|
|
253
|
+
hidden?: boolean;
|
|
254
|
+
/** Redefine an existing name in the same scope instead of throwing. */
|
|
255
|
+
replaceExisting?: boolean;
|
|
256
|
+
}
|
|
257
|
+
interface ConstructorOptions {
|
|
258
|
+
/**
|
|
259
|
+
* The registries this collection aggregates — see {@link Source}.
|
|
260
|
+
*
|
|
261
|
+
* @remarks
|
|
262
|
+
* A callback, not an array, because ownership is genuinely circular: the calculation engine
|
|
263
|
+
* takes this collection (it resolves table symbols through it), so it cannot exist when this
|
|
264
|
+
* is constructed. Resolving lazily lets the owner close the loop without a second wiring call.
|
|
265
|
+
*
|
|
266
|
+
* **Must tolerate being called before the other side exists.** It runs on every query and on
|
|
267
|
+
* `addListeners`, and the engine subscribes to this collection while it is still constructing —
|
|
268
|
+
* so the first call happens mid-cycle, by design. Return an empty array until ready; the next
|
|
269
|
+
* call picks the sources up.
|
|
270
|
+
*
|
|
271
|
+
* ```ts
|
|
272
|
+
* let workbook: IWorkbook;
|
|
273
|
+
* const names = new NamedCollection({
|
|
274
|
+
* getSources: () => workbook ? [workbook.getCalculation().getNamedFormulas()] : [],
|
|
275
|
+
* ...
|
|
276
|
+
* });
|
|
277
|
+
* workbook = new Workbook({ names });
|
|
278
|
+
* ```
|
|
279
|
+
*
|
|
280
|
+
* Re-invoked on each query and cheap to implement — the result is compared against the live
|
|
281
|
+
* subscriptions, and only an actual change re-subscribes.
|
|
282
|
+
*/
|
|
283
|
+
getSources?: () => readonly NamedCollection.Source[];
|
|
284
|
+
/**
|
|
285
|
+
* Required to resolve ranges.
|
|
286
|
+
*/
|
|
287
|
+
addressToRanges: (address: ICellRanges.Address) => ICellRanges;
|
|
288
|
+
/**
|
|
289
|
+
* Returns the current scope.
|
|
290
|
+
*/
|
|
291
|
+
getCurrentScope?: () => string;
|
|
292
|
+
/**
|
|
293
|
+
* A transaction store that can be used to undo/redo changes to the names.
|
|
294
|
+
*/
|
|
295
|
+
transactions?: ITransaction.IStore;
|
|
296
|
+
/**
|
|
297
|
+
* If the collection is readonly.
|
|
298
|
+
*/
|
|
299
|
+
isReadOnly?: () => boolean;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=NamedCollection.d.ts.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ECMA-376 §18.8.30 built-in number formats (numFmtId -> format code).
|
|
3
|
+
*
|
|
4
|
+
* Engine-agnostic DATA shared by the format engines, IO (xlsx numFmtId
|
|
5
|
+
* round-trip), and the UI preset tables.
|
|
6
|
+
*
|
|
7
|
+
* Storage model styles STORE the numeric id when the format is a built-in
|
|
8
|
+
* (Excel's own model — styles.xml only writes ids >= 164) and a format-code
|
|
9
|
+
* string otherwise.
|
|
10
|
+
* Resolution to a code happens at the render/classification boundary via
|
|
11
|
+
* {@link resolveNumberFormat}.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* A number format reference: either an ECMA-376 built-in id (number) or a
|
|
15
|
+
* format-code string.
|
|
16
|
+
*/
|
|
17
|
+
export type NumberFormatRef = string | number;
|
|
18
|
+
/** The first id available for custom formats (ids below are reserved built-ins). */
|
|
19
|
+
export declare const FIRST_CUSTOM_FORMAT_ID = 164;
|
|
20
|
+
export declare const BUILT_IN_FORMAT_CODES: Readonly<Record<number, string>>;
|
|
21
|
+
/**
|
|
22
|
+
* Ids whose rendering adapts to the viewer's regional settings in Excel (the
|
|
23
|
+
* `*`-prefixed formats in the Format Cells dialog, currency symbol ids, and
|
|
24
|
+
* the regional/CJK 27-36 & 50-58 ranges).
|
|
25
|
+
*
|
|
26
|
+
* Today only 14/22 render adaptively (via the Intl interception in
|
|
27
|
+
* `toLocaleDateCore`); the rest resolve to their canonical en-US codes.
|
|
28
|
+
* I18N-DESIGN Plane 1 substitutes LocaleProfile-derived patterns here.
|
|
29
|
+
*/
|
|
30
|
+
export declare const LOCALE_ADAPTIVE_IDS: ReadonlySet<number>;
|
|
31
|
+
/** The raw ECMA table lookup, or `undefined` for unknown ids. */
|
|
32
|
+
export declare function getBuiltInFormatCode(id: number): string | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Resolve a {@link NumberFormatRef} to a format-code string.
|
|
35
|
+
*
|
|
36
|
+
* Strings pass through; built-in ids resolve via the ECMA table (unknown ids
|
|
37
|
+
* resolve to `'General'`, matching Excel's behavior for unmapped ids).
|
|
38
|
+
*
|
|
39
|
+
* @remarks Locale-ADAPTIVE rendering of ids 14/22 is a value-level concern
|
|
40
|
+
* handled before engines format (see `toLocaleDateCore`) — this function
|
|
41
|
+
* always returns the canonical code.
|
|
42
|
+
*/
|
|
43
|
+
export declare function resolveNumberFormat(ref: NumberFormatRef): string;
|
|
44
|
+
/**
|
|
45
|
+
* Find the built-in id for a format code (exact match, lowest id wins), or
|
|
46
|
+
* `undefined` if the code is not a built-in.
|
|
47
|
+
*/
|
|
48
|
+
export declare function findBuiltInFormatId(code: string): number | undefined;
|
|
49
|
+
//# sourceMappingURL=BuiltInFormats.d.ts.map
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { NumberFormatRef } from './BuiltInFormats';
|
|
2
|
+
/**
|
|
3
|
+
* The number-format engine boundary.
|
|
4
|
+
*
|
|
5
|
+
* Everything that renders an Excel format code — cell rendering, commands,
|
|
6
|
+
* `TEXT()`, IO, clipboard — goes through this one interface.
|
|
7
|
+
*/
|
|
8
|
+
/** Options for {@link IFormatEngine.format}. */
|
|
9
|
+
export interface FormatEngineOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Use the 1904 date system.
|
|
12
|
+
* @defaultValue false
|
|
13
|
+
*/
|
|
14
|
+
date1904?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* BCP-47 locale tag used for locale-dependent presets
|
|
17
|
+
* (`Short Date`, `[$-F800]`, ...).
|
|
18
|
+
* @defaultValue 'en-US'
|
|
19
|
+
*/
|
|
20
|
+
locale?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Collect fill/skip placeholders for width-aware cell rendering.
|
|
23
|
+
*
|
|
24
|
+
* When `true`:
|
|
25
|
+
* - `_x` (skip) and `?` (digit align) emit NOTHING into `text`; each records
|
|
26
|
+
* a placeholder whose `char` is the width-reference character
|
|
27
|
+
* (`'0'` for digit placeholders).
|
|
28
|
+
* - `*x` (fill) emits nothing and records a placeholder.
|
|
29
|
+
* - The section/conditional color is computed.
|
|
30
|
+
*
|
|
31
|
+
* When `false`/omitted (plain text output — TEXT(), clipboard, tooltips):
|
|
32
|
+
* - `_x` and `?` emit a single space; `*x` emits nothing.
|
|
33
|
+
* - `fills`/`skips`/`color` are `null`.
|
|
34
|
+
*
|
|
35
|
+
* @defaultValue false
|
|
36
|
+
*/
|
|
37
|
+
placeholders?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Structural metadata about a format code, for dialogs/classification.
|
|
41
|
+
* Mirrors numfmt's `getFormatInfo` (see {@link IFormatEngine.getFormatInfo}).
|
|
42
|
+
*/
|
|
43
|
+
export interface FormatInfo {
|
|
44
|
+
/** Coarse category: `general|number|grouped|currency|percent|scientific|fraction|date|time|datetime|text`. */
|
|
45
|
+
readonly type: string;
|
|
46
|
+
/** True if the format renders a date/time. */
|
|
47
|
+
readonly isDate: boolean;
|
|
48
|
+
/** True if the format is text-only (`@`). */
|
|
49
|
+
readonly isText: boolean;
|
|
50
|
+
/** True if the format scales by 100 and appends `%`. */
|
|
51
|
+
readonly isPercent: boolean;
|
|
52
|
+
/** Maximum number of decimal places any section emits. */
|
|
53
|
+
readonly maxDecimals: number;
|
|
54
|
+
/** Value multiplier implied by the format (e.g. 100 for percent, 0.001 for `#,##0,`). */
|
|
55
|
+
readonly scale: number;
|
|
56
|
+
/** Section color index, or 0. */
|
|
57
|
+
readonly color: number;
|
|
58
|
+
/** Non-zero if negatives are parenthesized. */
|
|
59
|
+
readonly parentheses: number;
|
|
60
|
+
/** Non-zero if the integer part is thousands-grouped. */
|
|
61
|
+
readonly grouped: number;
|
|
62
|
+
}
|
|
63
|
+
/** Which date/time components a format renders (numfmt `getFormatDateInfo`). */
|
|
64
|
+
export interface FormatDateInfo {
|
|
65
|
+
readonly year: boolean;
|
|
66
|
+
readonly month: boolean;
|
|
67
|
+
readonly day: boolean;
|
|
68
|
+
readonly hours: boolean;
|
|
69
|
+
readonly minutes: boolean;
|
|
70
|
+
readonly seconds: boolean;
|
|
71
|
+
/** 12 or 24. */
|
|
72
|
+
readonly clockType: number;
|
|
73
|
+
}
|
|
74
|
+
/** A fill/skip position within {@link FormatEngineResult.text}. */
|
|
75
|
+
export interface FormatPlaceholder {
|
|
76
|
+
/** Character offset into the result text. */
|
|
77
|
+
readonly offset: number;
|
|
78
|
+
/** The width-reference (skip) or repeated (fill) character. */
|
|
79
|
+
readonly char: string;
|
|
80
|
+
}
|
|
81
|
+
/** Result of {@link IFormatEngine.format}. */
|
|
82
|
+
export interface FormatEngineResult {
|
|
83
|
+
/**
|
|
84
|
+
* The formatted display text, or `null` to signal a display error
|
|
85
|
+
* (e.g. an out-of-bounds date serial) — the cell renderer shows the
|
|
86
|
+
* `#` overflow placeholder for `null`.
|
|
87
|
+
*/
|
|
88
|
+
readonly text: string | null;
|
|
89
|
+
/**
|
|
90
|
+
* The section/conditional color as a resolvable color string
|
|
91
|
+
* (e.g. `'Index9'` for legacy palette colors), or `null`.
|
|
92
|
+
* Only computed when {@link FormatEngineOptions.placeholders} is set.
|
|
93
|
+
*/
|
|
94
|
+
readonly color: string | null;
|
|
95
|
+
/** `*` fill placeholders, or `null`. See {@link FormatEngineOptions.placeholders}. */
|
|
96
|
+
readonly fills: readonly FormatPlaceholder[] | null;
|
|
97
|
+
/** `_`/`?` skip placeholders, or `null`. See {@link FormatEngineOptions.placeholders}. */
|
|
98
|
+
readonly skips: readonly FormatPlaceholder[] | null;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* A number-format engine. Stateless, and safe to share.
|
|
102
|
+
*
|
|
103
|
+
* Formats are {@link NumberFormatRef}s: either a format-code string or an
|
|
104
|
+
* ECMA-376 built-in id (the stored form for built-ins — Excel's own model).
|
|
105
|
+
* Ids are resolved AFTER the locale-adaptive interception (ids 14/22 render
|
|
106
|
+
* per the viewer locale, not their canonical codes).
|
|
107
|
+
*/
|
|
108
|
+
export interface IFormatEngine {
|
|
109
|
+
/** Stable identifier for diagnostics and conformance reports. */
|
|
110
|
+
readonly key: string;
|
|
111
|
+
/**
|
|
112
|
+
* Format a value with an Excel format code or built-in id.
|
|
113
|
+
*
|
|
114
|
+
* @throws On malformed/unsupported format codes — callers own the fallback
|
|
115
|
+
* policy (cell rendering warns and shows empty; conformance records it).
|
|
116
|
+
*/
|
|
117
|
+
format(format: NumberFormatRef, value: string | number, options?: FormatEngineOptions): FormatEngineResult;
|
|
118
|
+
/** True if the format contains date tokens. */
|
|
119
|
+
isDateFormat(format: NumberFormatRef): boolean;
|
|
120
|
+
/** True if the format contains time tokens. */
|
|
121
|
+
isTimeFormat(format: NumberFormatRef): boolean;
|
|
122
|
+
/** True if the format contains fraction formatting. */
|
|
123
|
+
isFractionFormat(format: NumberFormatRef): boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Adjust the decimal places in a format by `amount` (toolbar
|
|
126
|
+
* increase/decrease decimal). Returns the rewritten format code.
|
|
127
|
+
*/
|
|
128
|
+
adjustDecimalPlaces(format: NumberFormatRef, amount: number): string;
|
|
129
|
+
/**
|
|
130
|
+
* Structural metadata for a format code (category, decimals, grouping, ...),
|
|
131
|
+
* for format dialogs and classification. `null` if the format is invalid.
|
|
132
|
+
*/
|
|
133
|
+
getFormatInfo(format: NumberFormatRef): FormatInfo | null;
|
|
134
|
+
/**
|
|
135
|
+
* Which date/time components a (date) format renders. `null` for non-date
|
|
136
|
+
* formats or invalid codes.
|
|
137
|
+
*/
|
|
138
|
+
getFormatDateInfo(format: NumberFormatRef): FormatDateInfo | null;
|
|
139
|
+
/** True if the format code parses (usable for live custom-code validation). */
|
|
140
|
+
isValidFormat(format: NumberFormatRef): boolean;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* The number-format engine.
|
|
144
|
+
*
|
|
145
|
+
* Created on first use — this module sits in an import cycle with the engine's
|
|
146
|
+
* own helpers, so construction must not happen at module-evaluation time.
|
|
147
|
+
*/
|
|
148
|
+
export declare function getFormatEngine(): IFormatEngine;
|
|
149
|
+
//# sourceMappingURL=IFormatEngine.d.ts.map
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/** Top-level dialog categories (Date/Time group the Short/Medium/Long variants). */
|
|
2
|
+
export type NumberFormatCategory = 'General' | 'Number' | 'Currency' | 'Accounting' | 'Date' | 'Time' | 'Percentage' | 'Fraction' | 'Scientific' | 'Text' | 'Special' | 'Custom';
|
|
3
|
+
export declare const CATEGORIES: readonly NumberFormatCategory[];
|
|
4
|
+
export declare function isParametricCategory(category: NumberFormatCategory): boolean;
|
|
5
|
+
/** Parameters describing a number format for the dialog. */
|
|
6
|
+
export interface NumberFormatParams {
|
|
7
|
+
category: NumberFormatCategory;
|
|
8
|
+
/** Number, Currency, Accounting, Percentage, Scientific. */
|
|
9
|
+
decimalPlaces?: number;
|
|
10
|
+
/** Number: thousands separator. */
|
|
11
|
+
useSeparator?: boolean;
|
|
12
|
+
/** Currency, Accounting: symbol literal (e.g. `$`). */
|
|
13
|
+
currencySymbol?: string;
|
|
14
|
+
/** Number, Currency: negative-number style index (see {@link NEGATIVE_STYLES}). */
|
|
15
|
+
negativeStyle?: number;
|
|
16
|
+
/** Date, Time, Fraction, Special, Custom: the chosen/typed format code. */
|
|
17
|
+
code?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Negative-number presentation options (Number/Currency), matching Excel's list.
|
|
21
|
+
* The dialog renders a live sample per entry by building + formatting a negative.
|
|
22
|
+
*/
|
|
23
|
+
export declare const NEGATIVE_STYLES: readonly {
|
|
24
|
+
key: string;
|
|
25
|
+
label: string;
|
|
26
|
+
red: boolean;
|
|
27
|
+
parens: boolean;
|
|
28
|
+
}[];
|
|
29
|
+
/** Common currency symbols for the Currency/Accounting symbol picker. */
|
|
30
|
+
export declare const CURRENCY_SYMBOLS: readonly string[];
|
|
31
|
+
/** Preset code lists for the list categories (locale-adaptive later — Plane 1). */
|
|
32
|
+
export declare const DATE_PRESETS: readonly string[];
|
|
33
|
+
export declare const TIME_PRESETS: readonly string[];
|
|
34
|
+
export declare const FRACTION_PRESETS: readonly string[];
|
|
35
|
+
export declare const SPECIAL_PRESETS: readonly string[];
|
|
36
|
+
/** Default code seeded when switching to a category. */
|
|
37
|
+
export declare function defaultCodeForCategory(category: NumberFormatCategory): string;
|
|
38
|
+
/** Synthesize an Excel format code from dialog parameters. */
|
|
39
|
+
export declare function build(params: NumberFormatParams): string;
|
|
40
|
+
/**
|
|
41
|
+
* Best-effort reverse of {@link build}: classify a code and recover the dialog
|
|
42
|
+
* controls. Round-trips stably for builder-produced codes; for arbitrary codes
|
|
43
|
+
* it lands on the closest category (Custom as the fallback).
|
|
44
|
+
*/
|
|
45
|
+
export declare function parse(code: string): NumberFormatParams;
|
|
46
|
+
//# sourceMappingURL=NumberFormatBuilder.d.ts.map
|