@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,72 @@
|
|
|
1
|
+
import { Direction, RangeAxis, CellCoords, RangeCoords } from '@sheetxl/utils';
|
|
2
|
+
import { Tuple } from './Tuple';
|
|
3
|
+
import { IGrid } from './IGrid';
|
|
4
|
+
/**
|
|
5
|
+
* PLACEHOLDER
|
|
6
|
+
*
|
|
7
|
+
* Uses 2d arrays to implement an IGrid.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* This is not finished or even tested. We may remove it. The original goal was to allow this
|
|
11
|
+
* in leu of SparseGrid for a reference implementation but SparseGrid ended up being more performant
|
|
12
|
+
* than expected and the use-case for this in no longer clear.
|
|
13
|
+
*/
|
|
14
|
+
export declare class ArraysGrid<T = any> implements IGrid<T> {
|
|
15
|
+
private _options;
|
|
16
|
+
private _isColumn;
|
|
17
|
+
private _maxCoords;
|
|
18
|
+
private _values;
|
|
19
|
+
constructor(options?: ArraysGrid.ConstructorOptions);
|
|
20
|
+
/** {@inheritDoc IGrid.entries} */
|
|
21
|
+
entries(options?: IGrid.IteratorOptions): IterableIterator<IGrid.Entry<T>, IGrid.Entry<T>, CellCoords>;
|
|
22
|
+
/** {@inheritDoc IGrid.getCoords} */
|
|
23
|
+
getCoords(): RangeCoords | null;
|
|
24
|
+
/** {@inheritDoc IGrid.setValues} */
|
|
25
|
+
setValues(_values: Tuple.GridTuple): this;
|
|
26
|
+
getValues(coords?: RangeCoords): Tuple.BoundedTuples<T> | null;
|
|
27
|
+
/** {@inheritDoc IGrid.getAxis} */
|
|
28
|
+
getAxis(): RangeAxis;
|
|
29
|
+
/** {@inheritDoc IGrid.delete} */
|
|
30
|
+
delete(_range: RangeCoords): boolean;
|
|
31
|
+
/** {@inheritDoc IGrid.copyTo} */
|
|
32
|
+
copyTo(destination: IGrid, topLeft: CellCoords, from: RangeCoords): void;
|
|
33
|
+
/** {@inheritDoc IGrid.shift} */
|
|
34
|
+
shift(_range: RangeCoords, _direction: Direction): boolean;
|
|
35
|
+
/** {@inheritDoc IGrid.getValueAt} */
|
|
36
|
+
getValueAt(row: number, column: number): T;
|
|
37
|
+
/** {@inheritDoc IGrid.setValueAt} */
|
|
38
|
+
setValueAt(row: number, column: number, value: T): void;
|
|
39
|
+
/** {@inheritDoc IGrid.clone} */
|
|
40
|
+
clone(cloneKey?: any): this;
|
|
41
|
+
/** {@inheritDoc IGrid.getMaxCoords} */
|
|
42
|
+
getMaxCoords(): RangeCoords | null;
|
|
43
|
+
/** {@inheritDoc IGrid.clear} */
|
|
44
|
+
clear(): void;
|
|
45
|
+
/** {@inheritDoc IGrid.getCount} */
|
|
46
|
+
getCount(): number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* {@inheritDoc ArraysGrid}
|
|
50
|
+
* @see
|
|
51
|
+
* ### **Interface**
|
|
52
|
+
*
|
|
53
|
+
* {@link ArraysGrid}
|
|
54
|
+
*/
|
|
55
|
+
export declare namespace ArraysGrid {
|
|
56
|
+
/**
|
|
57
|
+
* For constructing an ArraysGrid.
|
|
58
|
+
*/
|
|
59
|
+
interface ConstructorOptions {
|
|
60
|
+
/**
|
|
61
|
+
* If not specified then unlimited bounds.
|
|
62
|
+
* @defaultValue undefined
|
|
63
|
+
*/
|
|
64
|
+
maxCoords?: RangeCoords;
|
|
65
|
+
/**
|
|
66
|
+
* Determines the axis that cells are visited.
|
|
67
|
+
* @defaultValue RangeAxis.Column
|
|
68
|
+
*/
|
|
69
|
+
axis?: RangeAxis;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=ArraysGrid.d.ts.map
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { IListLike } from './IList';
|
|
2
|
+
/**
|
|
3
|
+
* Compact, immutable, list for storing boolean flags.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* `BooleanList` stores `length` boolean values using a `Uint8Array`
|
|
7
|
+
* with 8 flags per byte. It implements {@link IListLike} so it can be
|
|
8
|
+
* used anywhere a simple array-like list is expected, without exposing
|
|
9
|
+
* the full {@link IReadableList} surface.
|
|
10
|
+
*
|
|
11
|
+
* This type is intended for metadata overlays such as:
|
|
12
|
+
*
|
|
13
|
+
* - Data validation masks (valid / invalid flags per row)
|
|
14
|
+
* - Per-row or per-cell boolean annotations
|
|
15
|
+
*
|
|
16
|
+
* The list is logically immutable:
|
|
17
|
+
*
|
|
18
|
+
* - Construction packs bits once (either from a length or from a boolean array).
|
|
19
|
+
* - Methods like {@link slice} and {@link concat} always return new instances.
|
|
20
|
+
*/
|
|
21
|
+
export declare class BooleanList implements IListLike<boolean> {
|
|
22
|
+
/**
|
|
23
|
+
* Backing storage, 8 bits per byte.
|
|
24
|
+
*/
|
|
25
|
+
private _bytes;
|
|
26
|
+
/**
|
|
27
|
+
* Number of logical bits (not number of bytes).
|
|
28
|
+
*/
|
|
29
|
+
protected _length: number;
|
|
30
|
+
/**
|
|
31
|
+
* Create an empty BooleanList of the given length (all bits false).
|
|
32
|
+
*
|
|
33
|
+
* Public, but logically immutable: callers can't mutate bits directly.
|
|
34
|
+
* Construction + factories are the only "write" sites.
|
|
35
|
+
*/
|
|
36
|
+
constructor(arr: readonly boolean[]);
|
|
37
|
+
/** {@inheritDoc IListLike.length} */
|
|
38
|
+
get length(): number;
|
|
39
|
+
/**
|
|
40
|
+
* IListLike.fromArray implementation.
|
|
41
|
+
* Allows this type to participate in your generic IListLike machinery.
|
|
42
|
+
*/
|
|
43
|
+
fromArray(arr: boolean[]): IListLike<boolean>;
|
|
44
|
+
/** {@inheritDoc IListLike.at} */
|
|
45
|
+
at(index: number): boolean | undefined;
|
|
46
|
+
/** {@inheritDoc IListLike.toArray} */
|
|
47
|
+
toArray(): boolean[];
|
|
48
|
+
/**
|
|
49
|
+
* Create a new BooleanList representing [start, end) in bit-space.
|
|
50
|
+
*
|
|
51
|
+
* Semantics match Array.prototype.slice:
|
|
52
|
+
* - negative indices are relative to the end,
|
|
53
|
+
* - end is exclusive,
|
|
54
|
+
* - result is always a new instance (no shared view).
|
|
55
|
+
*
|
|
56
|
+
* Implementation is simple bit-by-bit copy.
|
|
57
|
+
*/
|
|
58
|
+
slice(start: number, end?: number): BooleanList;
|
|
59
|
+
/**
|
|
60
|
+
* Concatenate this BooleanList with another, returning a new instance.
|
|
61
|
+
* Bits from `other` are appended after this list.
|
|
62
|
+
*
|
|
63
|
+
* Implementation is bit-by-bit copy for simplicity.
|
|
64
|
+
*/
|
|
65
|
+
concat(other: BooleanList): BooleanList;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=BooleanList.d.ts.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { CellCoords } from '@sheetxl/utils';
|
|
2
|
+
import { IGrid } from './IGrid';
|
|
3
|
+
/**
|
|
4
|
+
* Wraps an {@link IGrid} as a standard Map.
|
|
5
|
+
*/
|
|
6
|
+
export declare class GridMap<V> implements Map<CellCoords, V> {
|
|
7
|
+
private _grid;
|
|
8
|
+
private _options;
|
|
9
|
+
private _isColumn;
|
|
10
|
+
private _optionsValues;
|
|
11
|
+
constructor(grid: IGrid, options?: IGrid.IteratorOptions);
|
|
12
|
+
clear(): void;
|
|
13
|
+
/**
|
|
14
|
+
* Returns true if an element in the Map existed and has been removed, or false if the element does not exist.
|
|
15
|
+
*/
|
|
16
|
+
delete(key: CellCoords): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Executes a provided function once per each key/value pair in the Map, in insertion order.
|
|
19
|
+
*/
|
|
20
|
+
forEach(callback: (value: V, key: CellCoords, map: Map<CellCoords, V>) => void, _thisArg?: any): void;
|
|
21
|
+
/**
|
|
22
|
+
* Returns a specified element from the Map object. If the value that is associated to the provided key is an object, then you will get a reference to that object and any change made to that object will effectively modify it inside the Map.
|
|
23
|
+
* @returns Returns the element associated with the specified key. If no element is associated with the specified key, undefined is returned.
|
|
24
|
+
*/
|
|
25
|
+
get(key: CellCoords): V | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Returns boolean indicating whether an element with the specified key exists or not.
|
|
28
|
+
*/
|
|
29
|
+
has(key: CellCoords): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Adds a new element with a specified key and value to the Map. If an element with the same key already exists, the element will be updated.
|
|
32
|
+
*/
|
|
33
|
+
set(key: CellCoords, value: V): this;
|
|
34
|
+
/**
|
|
35
|
+
* Returns the number of elements in the Map.
|
|
36
|
+
*/
|
|
37
|
+
get size(): number;
|
|
38
|
+
entries(): MapIterator<IGrid.Entry<V>>;
|
|
39
|
+
/** Returns an iterable of entries in the map. */
|
|
40
|
+
[Symbol.iterator](): MapIterator<IGrid.Entry<V>>;
|
|
41
|
+
test(): MapIterator<[CellCoords, V]>;
|
|
42
|
+
[Symbol.dispose](): void;
|
|
43
|
+
keys(): MapIterator<CellCoords>;
|
|
44
|
+
values(): MapIterator<V>;
|
|
45
|
+
get [Symbol.toStringTag](): string;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=GridMap.d.ts.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IMap } from './IMap';
|
|
2
|
+
/**
|
|
3
|
+
* A basic implementation of IMap using JavaScript's native Map.
|
|
4
|
+
*/
|
|
5
|
+
export declare class HashMap<K, V> implements IMap<K, V> {
|
|
6
|
+
private _map;
|
|
7
|
+
private _isDirty;
|
|
8
|
+
constructor(source?: Map<K, V>);
|
|
9
|
+
get(key: K): V | undefined;
|
|
10
|
+
set(key: K, value: V): void;
|
|
11
|
+
delete(key: K): this;
|
|
12
|
+
has(key: K): boolean;
|
|
13
|
+
clone(): IMap<K, V>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=HashMap.d.ts.map
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { Direction, RangeAxis, CellCoords, RangeCoords } from '@sheetxl/utils';
|
|
2
|
+
import { Tuple } from './Tuple';
|
|
3
|
+
/**
|
|
4
|
+
* Primary interface for retrieving and setting values in a 2D space.
|
|
5
|
+
*
|
|
6
|
+
* To support infinite values IGrid uses an iterator to retrieve values.
|
|
7
|
+
*
|
|
8
|
+
* For read-only the minimum implementation required are:
|
|
9
|
+
*
|
|
10
|
+
* {@link entries} - Iterator of key/value.
|
|
11
|
+
*
|
|
12
|
+
* {@link getCoords} - The size and location of the data.
|
|
13
|
+
*
|
|
14
|
+
* For read-write the minimum addition is
|
|
15
|
+
*
|
|
16
|
+
* {@link setValues} - Set an IGrid.Tuple2D.
|
|
17
|
+
*
|
|
18
|
+
* @see `ArraysGrid` - Implementation using a 2D array. ({@link https://www.sheetxl.com | source}).
|
|
19
|
+
* @see `GridMap` - Provides a `Map<CellCoords, T>` interface for an IGrid.
|
|
20
|
+
*/
|
|
21
|
+
export interface IGrid<T = any> {
|
|
22
|
+
/**
|
|
23
|
+
* Sets values at specific coordinates within the grid using an array of `Tuple2D`.
|
|
24
|
+
*
|
|
25
|
+
* @param values GridTuples to update.
|
|
26
|
+
* @throws `Error` If the Tuple.GridTuple are invalid see {@link Tuple.GridTuple} or if any the provided
|
|
27
|
+
* tuples extend beyond the 'maxCoords'.
|
|
28
|
+
*
|
|
29
|
+
* @remarks
|
|
30
|
+
* * Clear values - Setting values to `undefined` or `null` are not treated special and will become
|
|
31
|
+
* managed values. To clear use delete.
|
|
32
|
+
* * Immutability - For performance reasons all arrays and values passed in are
|
|
33
|
+
* accessed directly (zero-copy) so these should be treated as immutable.
|
|
34
|
+
*/
|
|
35
|
+
setValues(values: Tuple.GridTuple<T>): this;
|
|
36
|
+
/**
|
|
37
|
+
* Returns bounded tuples for a given range of coordinates.
|
|
38
|
+
*
|
|
39
|
+
* @param coords The range of coordinates to retrieve values from.
|
|
40
|
+
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* * Results `null` if there are no values
|
|
43
|
+
* * If `coords` is not provided then all values will be retrieved.
|
|
44
|
+
*/
|
|
45
|
+
getValues(coords?: RangeCoords): Tuple.BoundedTuples<T> | null;
|
|
46
|
+
/**
|
|
47
|
+
* Returns an iterator for traversing entries in the IGrid.
|
|
48
|
+
*
|
|
49
|
+
* The entries must support all IteratorOptions.
|
|
50
|
+
*
|
|
51
|
+
* @remarks
|
|
52
|
+
* Unlike map this is does not need to be an IterableIterator.
|
|
53
|
+
*/
|
|
54
|
+
entries(options?: IGrid.IteratorOptions): IGrid.EntryIterator<T>;
|
|
55
|
+
/**
|
|
56
|
+
* Delete all values within a range.
|
|
57
|
+
*
|
|
58
|
+
* @param coords The range to delete.
|
|
59
|
+
*
|
|
60
|
+
* @remarks
|
|
61
|
+
* If not implemented and setRange is then setRange will called with null values.
|
|
62
|
+
*/
|
|
63
|
+
delete?(coords: RangeCoords | null): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Clears all values.
|
|
66
|
+
*/
|
|
67
|
+
clear?(): void;
|
|
68
|
+
/**
|
|
69
|
+
* Shift values in a given direction.
|
|
70
|
+
*
|
|
71
|
+
* @param coords The range that will shift.
|
|
72
|
+
* @param direction The direction to shift.
|
|
73
|
+
* @returns `true` if data was shifted.
|
|
74
|
+
*
|
|
75
|
+
* @remarks
|
|
76
|
+
* If this is not implemented shifting ranges will be attempted using
|
|
77
|
+
* delete and setAt (if implemented).
|
|
78
|
+
*/
|
|
79
|
+
shift?(coords: RangeCoords, direction: Direction): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Copy values from another grid.
|
|
82
|
+
*
|
|
83
|
+
* @param destination The grid to copy to.
|
|
84
|
+
* @param topLeft The coordinates of the destination grid.
|
|
85
|
+
* @param from The bounds coordinates to copy from.
|
|
86
|
+
*/
|
|
87
|
+
copyTo(destination: IGrid, topLeft: CellCoords, from: RangeCoords): void;
|
|
88
|
+
/**
|
|
89
|
+
* Creates a logical copy of the current values.
|
|
90
|
+
*
|
|
91
|
+
* Undo and branching works by creating 'copies' and then rolling back or commit these later.
|
|
92
|
+
*
|
|
93
|
+
* @remarks
|
|
94
|
+
* If this is not available then undo does not work for values.
|
|
95
|
+
*/
|
|
96
|
+
clone?(cloneKey?: any): this;
|
|
97
|
+
/**
|
|
98
|
+
* Create a new grid but with no data.
|
|
99
|
+
*
|
|
100
|
+
* @remarks
|
|
101
|
+
* * Returns an empty grid with the same configuration as the original grid.
|
|
102
|
+
* * This is the same as clone(); clear() but more efficient.
|
|
103
|
+
*/
|
|
104
|
+
cloneEmpty?(cloneKey?: any): this;
|
|
105
|
+
/**
|
|
106
|
+
* Iterate keys.
|
|
107
|
+
*
|
|
108
|
+
* @remarks
|
|
109
|
+
* This is not required unless retrieving keys is significantly less expensive than
|
|
110
|
+
* entries. There are few internal use cases that use only keys.
|
|
111
|
+
*
|
|
112
|
+
* @see
|
|
113
|
+
* {@link IGrid.entries}
|
|
114
|
+
*/
|
|
115
|
+
keys?(options?: IGrid.IteratorOptions): IGrid.KeyIterator;
|
|
116
|
+
/**
|
|
117
|
+
* Iterate values.
|
|
118
|
+
*
|
|
119
|
+
* @remarks
|
|
120
|
+
* This is not required unless retrieving values is significantly less expensive than
|
|
121
|
+
* entries. there are few internal uses cases that use only values.
|
|
122
|
+
*
|
|
123
|
+
* @see
|
|
124
|
+
* {@link IGrid.entries}
|
|
125
|
+
* @param options {@link IGrid.IteratorOptions}
|
|
126
|
+
*/
|
|
127
|
+
values?(options?: IGrid.IteratorOptions): IGrid.ValueIterator;
|
|
128
|
+
/**
|
|
129
|
+
* Returns the value at a specific row and column or `undefined` if not found.
|
|
130
|
+
*
|
|
131
|
+
* @param row
|
|
132
|
+
* @param column
|
|
133
|
+
*
|
|
134
|
+
* @remarks
|
|
135
|
+
* This ignores hiddens rows and columns.
|
|
136
|
+
*/
|
|
137
|
+
getValueAt(row: number, column: number): T;
|
|
138
|
+
/**
|
|
139
|
+
* Sets a single value on the grid.
|
|
140
|
+
*
|
|
141
|
+
* @param row
|
|
142
|
+
* @param column
|
|
143
|
+
*
|
|
144
|
+
* @remarks
|
|
145
|
+
* Consider using a TupleBuilder. This is always less efficient than setValues.
|
|
146
|
+
*/
|
|
147
|
+
setValueAt(row: number, column: number, value: T): void;
|
|
148
|
+
/**
|
|
149
|
+
* Determine major axis for storing values.
|
|
150
|
+
*
|
|
151
|
+
* This is used to indicate which axis the 2D array for values will be
|
|
152
|
+
* interpreted as well as the default axis for getValues.
|
|
153
|
+
*
|
|
154
|
+
* @remarks
|
|
155
|
+
* This value is only read once and should never change.
|
|
156
|
+
*
|
|
157
|
+
* If not implemented the client should default to `RangeAxis.Row`.
|
|
158
|
+
*/
|
|
159
|
+
getAxis?(): RangeAxis;
|
|
160
|
+
/**
|
|
161
|
+
* Returns the number of values.
|
|
162
|
+
*
|
|
163
|
+
* @remarks
|
|
164
|
+
* If this is not implemented an approximation using getCoords will be assumed.
|
|
165
|
+
*/
|
|
166
|
+
getCount?(): number;
|
|
167
|
+
/**
|
|
168
|
+
* Returns the bounds for all of the entries or empty if null.
|
|
169
|
+
*/
|
|
170
|
+
getCoords(): RangeCoords | null;
|
|
171
|
+
/**
|
|
172
|
+
* Represents a max range or a max number.
|
|
173
|
+
*
|
|
174
|
+
* If this is `null` or `undefined` then it is assume to be unlimited in size.
|
|
175
|
+
*
|
|
176
|
+
* @remarks
|
|
177
|
+
* Coords must always be positive even if no bounds are set
|
|
178
|
+
*/
|
|
179
|
+
getMaxCoords?(): RangeCoords | null;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* {@inheritDoc IGrid}
|
|
183
|
+
* @see
|
|
184
|
+
* ### **Interface**
|
|
185
|
+
*
|
|
186
|
+
* {@link IGrid}
|
|
187
|
+
*/
|
|
188
|
+
export declare namespace IGrid {
|
|
189
|
+
/**
|
|
190
|
+
* Allow for iterating over a subset of values in a given direction.
|
|
191
|
+
*/
|
|
192
|
+
interface IteratorOptions<T = any> {
|
|
193
|
+
/**
|
|
194
|
+
* If `null' or `undefined` then all cells will be visited.
|
|
195
|
+
*
|
|
196
|
+
* @defaultValue undefined
|
|
197
|
+
*/
|
|
198
|
+
bounds?: Partial<RangeCoords>;
|
|
199
|
+
/**
|
|
200
|
+
* Determines the axis that cells are visited.
|
|
201
|
+
*
|
|
202
|
+
* @defaultValue The ICoordsMap axis.
|
|
203
|
+
*/
|
|
204
|
+
axis?: RangeAxis;
|
|
205
|
+
/**
|
|
206
|
+
* Iterate in reverse order.
|
|
207
|
+
* @defaultValue false
|
|
208
|
+
*/
|
|
209
|
+
reverse?: boolean;
|
|
210
|
+
/**
|
|
211
|
+
* A callback function that allows customization of the iteration process by skipping specific rows.
|
|
212
|
+
* This is a row orientated implementation of {@link IReadableList.IteratorOptions.processSkip}.
|
|
213
|
+
*
|
|
214
|
+
* @see
|
|
215
|
+
* {@link IReadableList.IteratorOptions.processSkip}
|
|
216
|
+
* {@link IGrid.IteratorOptions.processColumnSkip}
|
|
217
|
+
*/
|
|
218
|
+
processRowSkip?: (index: number, reverse?: boolean) => number;
|
|
219
|
+
/**
|
|
220
|
+
* A callback function that allows customization of the iteration process by skipping specific columns.
|
|
221
|
+
* This is a row orientated implementation of {@link IReadableList.IteratorOptions.processSkip}.
|
|
222
|
+
*
|
|
223
|
+
* @see
|
|
224
|
+
* {@link IReadableList.IteratorOptions.processSkip}
|
|
225
|
+
* {@link IGrid.IteratorOptions.processRowSkip}
|
|
226
|
+
*/
|
|
227
|
+
processColumnSkip?: (index: number, reverse?: boolean) => number;
|
|
228
|
+
/**
|
|
229
|
+
* This is a performance optimization.
|
|
230
|
+
* To avoid a large amount of object creation a reusable Iterator result can be provided.
|
|
231
|
+
* If set to true a global instance will be used.
|
|
232
|
+
* If multiple iterators are being used simultaneously then the client can provide
|
|
233
|
+
* their own reusable result.
|
|
234
|
+
*
|
|
235
|
+
* Additionally if the reuseResults has a CellCoords defined this will also get reused.
|
|
236
|
+
* The `globalReuseResults` is as follows
|
|
237
|
+
*
|
|
238
|
+
* `-1` is use as placeholder to ensure monomorphic types.
|
|
239
|
+
* If a simple javascript type is used for the value a typed placeholder value should be
|
|
240
|
+
* used for it as well.
|
|
241
|
+
* ```ts
|
|
242
|
+
{
|
|
243
|
+
done: false,
|
|
244
|
+
value: [
|
|
245
|
+
{
|
|
246
|
+
colIndex: -1,
|
|
247
|
+
rowIndex: -1
|
|
248
|
+
},
|
|
249
|
+
null
|
|
250
|
+
]
|
|
251
|
+
}
|
|
252
|
+
* ```
|
|
253
|
+
* @defaultValue false
|
|
254
|
+
*/
|
|
255
|
+
reuseResult?: boolean | IteratorResult<T>;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Entries iterators are arrays of fixed length 2.
|
|
259
|
+
*/
|
|
260
|
+
type Entry<T = any> = [CellCoords, T];
|
|
261
|
+
/**
|
|
262
|
+
* Shorthand type.
|
|
263
|
+
*/
|
|
264
|
+
type EntryIteratorResult<T = any> = IteratorResult<IGrid.Entry<T>>;
|
|
265
|
+
/**
|
|
266
|
+
* Shorthand type.
|
|
267
|
+
*/
|
|
268
|
+
type EntryIterator<T = any> = IterableIterator<IGrid.Entry<T>, IGrid.Entry<T>, CellCoords>;
|
|
269
|
+
/**
|
|
270
|
+
* Shorthand type.
|
|
271
|
+
*/
|
|
272
|
+
type ValueIterator<T = any> = IterableIterator<T, T, CellCoords>;
|
|
273
|
+
/**
|
|
274
|
+
* Shorthand type.
|
|
275
|
+
*/
|
|
276
|
+
type KeyIterator = IterableIterator<CellCoords, CellCoords, CellCoords>;
|
|
277
|
+
}
|
|
278
|
+
//# sourceMappingURL=IGrid.d.ts.map
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IListLike objects are orders collections of values.
|
|
3
|
+
*
|
|
4
|
+
* While similar to an {@link Array} they have different implementations
|
|
5
|
+
* to allow for more efficient of large sets of data.
|
|
6
|
+
*/
|
|
7
|
+
export interface IListLike<T = any> {
|
|
8
|
+
/**
|
|
9
|
+
* Return the max element index within the list.
|
|
10
|
+
*/
|
|
11
|
+
readonly length: number;
|
|
12
|
+
/**
|
|
13
|
+
* Returns the value at a given index.
|
|
14
|
+
*
|
|
15
|
+
* @param index The index to retrieve.
|
|
16
|
+
* @returns The value
|
|
17
|
+
*/
|
|
18
|
+
at(index: number): T | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Optimization.
|
|
21
|
+
*
|
|
22
|
+
* If this is implemented then lists may attempt to 'compact' when the list is
|
|
23
|
+
* below a certain size.
|
|
24
|
+
*
|
|
25
|
+
* If not implemented, callers should fall back to a generic adapter.
|
|
26
|
+
*/
|
|
27
|
+
fromArray?(arr: T[]): IListLike<T>;
|
|
28
|
+
}
|
|
29
|
+
export interface IList<T = any> extends IListLike<T> {
|
|
30
|
+
/**
|
|
31
|
+
* Returns `true` if the object implements IList.
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* Required to differentiate from Arrays and strings.
|
|
35
|
+
*/
|
|
36
|
+
readonly isIList: true;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* {@inheritDoc IList}
|
|
40
|
+
* @see
|
|
41
|
+
* ### **Interface**
|
|
42
|
+
*
|
|
43
|
+
* {@link IList}
|
|
44
|
+
*/
|
|
45
|
+
export declare namespace IList {
|
|
46
|
+
/**
|
|
47
|
+
* Returns true if the object is {@link IList}.
|
|
48
|
+
* @param arg Object to check.
|
|
49
|
+
*/
|
|
50
|
+
function isList(arg: any): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Returns true if the object is {@link IListLike}.
|
|
53
|
+
*
|
|
54
|
+
* @param arg Object to check.
|
|
55
|
+
*
|
|
56
|
+
* @remarks
|
|
57
|
+
* Similar to {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray | Array.isArray}.
|
|
58
|
+
* Returns `true` for `string` and `Array`
|
|
59
|
+
*/
|
|
60
|
+
function isListLike(arg: any): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Helper method that wraps a native Array into a IListLike.
|
|
63
|
+
*
|
|
64
|
+
* @param arr The array to wrap.
|
|
65
|
+
* @param getAt Optional function to allow for altering the value before returning.
|
|
66
|
+
*
|
|
67
|
+
* @remarks
|
|
68
|
+
* Useful for callbacks
|
|
69
|
+
*/
|
|
70
|
+
function fromArray<T, R = any>(arr: any[], getAt?: (value: R | undefined, index: number) => T | undefined, setAt?: (value: T | undefined, index: number) => R | undefined, internal?: any[]): IList<T>;
|
|
71
|
+
/**
|
|
72
|
+
* Wraps a native Array into a IList.
|
|
73
|
+
*/
|
|
74
|
+
class ArrayList<T = any> implements IList<T> {
|
|
75
|
+
private a;
|
|
76
|
+
private g;
|
|
77
|
+
private s;
|
|
78
|
+
constructor(a: any[], getAt?: (value: any | undefined, index: number) => T | undefined, setAt?: (value: T | undefined, index: number) => any | undefined, internal?: any[]);
|
|
79
|
+
/** {@inheritDoc IListLike.at} */
|
|
80
|
+
at(index: number): T | undefined;
|
|
81
|
+
/** {@inheritDoc IListLike.fromArray} */
|
|
82
|
+
fromArray?(arr: T[]): IListLike<T>;
|
|
83
|
+
/** {@inheritDoc IListLike.length} */
|
|
84
|
+
get length(): number;
|
|
85
|
+
/** {@inheritDoc IList.isIList} */
|
|
86
|
+
get isIList(): true;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=IList.d.ts.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A persistent (structurally-shared) map optimized for a clone-on-write collections model.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Collections use **persistent data structures** to support fast undo/redo, versioned snapshots,
|
|
6
|
+
* and (future) collaboration without copying large collections on every update.
|
|
7
|
+
*
|
|
8
|
+
* `IMap` behaves like a familiar key/value map for reads and writes, while providing an explicit
|
|
9
|
+
* snapshot boundary via {@link clone}. Implementations are expected to use **structural sharing**
|
|
10
|
+
* (e.g., trie / tree based) so that cloning and incremental updates are efficient even for large maps.
|
|
11
|
+
*
|
|
12
|
+
* Typical use cases include:
|
|
13
|
+
* - Maintaining large indexes (e.g., uniqueness/count maps) where copying a native `Map` would be too costly.
|
|
14
|
+
* - Capturing point-in-time snapshots for undo/redo by cloning collection roots.
|
|
15
|
+
* - Enabling future branching/versioning semantics by treating each clone as a stable revision root.
|
|
16
|
+
*
|
|
17
|
+
* ### Clone-on-write semantics
|
|
18
|
+
* Mutations apply to the current instance. {@link clone} returns a new instance that represents a
|
|
19
|
+
* stable snapshot of the map’s contents at the time `clone()` was called.
|
|
20
|
+
*
|
|
21
|
+
* Callers can assume that:
|
|
22
|
+
* - `clone()` is cheap (structural sharing; no full copy).
|
|
23
|
+
* - A clone is logically separate: later mutations to the original do not affect the clone’s observable contents.
|
|
24
|
+
* - Clones share internal structure where possible to keep memory and runtime costs low.
|
|
25
|
+
*
|
|
26
|
+
* @template K - Key type. Prefer stable, canonical keys for large indexes.
|
|
27
|
+
* @template V - Value type.
|
|
28
|
+
*/
|
|
29
|
+
export interface IMap<K, V> {
|
|
30
|
+
/**
|
|
31
|
+
* Retrieves the value associated with the given key.
|
|
32
|
+
*/
|
|
33
|
+
get(key: K): V | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Sets the value for the given key and returns the updated map.
|
|
36
|
+
*/
|
|
37
|
+
set(key: K, value: V): void;
|
|
38
|
+
delete(key: K): this;
|
|
39
|
+
has(key: K): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Returns a new map that can be written to.
|
|
42
|
+
*/
|
|
43
|
+
clone(): IMap<K, V>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=IMap.d.ts.map
|