hyperformula
Version:
HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas
73 lines • 5.76 kB
JavaScript
/**
* @license
* Copyright (c) 2025 Handsoncode. All rights reserved.
*/
import { ArraySize } from "./ArraySize.mjs";
import { CellError, CellType, CellValueDetailedType, CellValueType, ErrorType } from "./Cell.mjs";
import { DetailedCellError } from "./CellValue.mjs";
import { Config } from "./Config.mjs";
import { AlwaysDense, AlwaysSparse, DenseSparseChooseBasedOnThreshold } from "./DependencyGraph/AddressMapping/ChooseAddressMappingPolicy.mjs";
import { ConfigValueTooBigError, ConfigValueTooSmallError, EvaluationSuspendedError, ExpectedOneOfValuesError, ExpectedValueOfTypeError, FunctionPluginValidationError, InvalidAddressError, InvalidArgumentsError, LanguageAlreadyRegisteredError, LanguageNotRegisteredError, MissingTranslationError, NamedExpressionDoesNotExistError, NamedExpressionNameIsAlreadyTakenError, NamedExpressionNameIsInvalidError, NoOperationToRedoError, NoOperationToUndoError, NoRelativeAddressesAllowedError, NoSheetWithIdError, NoSheetWithNameError, NotAFormulaError, NothingToPasteError, ProtectedFunctionTranslationError, SheetNameAlreadyTakenError, SheetSizeLimitExceededError, SourceLocationHasArrayError, TargetLocationHasArrayError, UnableToParseError } from "./errors.mjs";
import { ExportedCellChange, ExportedNamedExpressionChange } from "./Exporter.mjs";
import { HyperFormula } from "./HyperFormula.mjs";
import enGB from "./i18n/languages/enGB.mjs";
import { FunctionPlugin, FunctionArgumentType, EmptyValue } from "./interpreter/index.mjs";
import * as plugins from "./interpreter/plugin/index.mjs";
import { SimpleRangeValue } from "./SimpleRangeValue.mjs";
/**
* Aggregate class for default export
*/
class HyperFormulaNS extends HyperFormula {}
HyperFormulaNS.HyperFormula = HyperFormula;
HyperFormulaNS.ErrorType = ErrorType;
HyperFormulaNS.CellError = CellError;
HyperFormulaNS.CellType = CellType;
HyperFormulaNS.CellValueType = CellValueType;
HyperFormulaNS.CellValueDetailedType = CellValueDetailedType;
HyperFormulaNS.DetailedCellError = DetailedCellError;
HyperFormulaNS.ExportedCellChange = ExportedCellChange;
HyperFormulaNS.ExportedNamedExpressionChange = ExportedNamedExpressionChange;
HyperFormulaNS.ConfigValueTooBigError = ConfigValueTooBigError;
HyperFormulaNS.ConfigValueTooSmallError = ConfigValueTooSmallError;
HyperFormulaNS.EvaluationSuspendedError = EvaluationSuspendedError;
HyperFormulaNS.ExpectedOneOfValuesError = ExpectedOneOfValuesError;
HyperFormulaNS.ExpectedValueOfTypeError = ExpectedValueOfTypeError;
HyperFormulaNS.ArraySize = ArraySize;
HyperFormulaNS.SimpleRangeValue = SimpleRangeValue;
HyperFormulaNS.EmptyValue = EmptyValue;
HyperFormulaNS.FunctionPlugin = FunctionPlugin;
HyperFormulaNS.FunctionArgumentType = FunctionArgumentType;
HyperFormulaNS.FunctionPluginValidationError = FunctionPluginValidationError;
HyperFormulaNS.InvalidAddressError = InvalidAddressError;
HyperFormulaNS.InvalidArgumentsError = InvalidArgumentsError;
HyperFormulaNS.LanguageNotRegisteredError = LanguageNotRegisteredError;
HyperFormulaNS.LanguageAlreadyRegisteredError = LanguageAlreadyRegisteredError;
HyperFormulaNS.MissingTranslationError = MissingTranslationError;
HyperFormulaNS.NamedExpressionDoesNotExistError = NamedExpressionDoesNotExistError;
HyperFormulaNS.NamedExpressionNameIsAlreadyTakenError = NamedExpressionNameIsAlreadyTakenError;
HyperFormulaNS.NamedExpressionNameIsInvalidError = NamedExpressionNameIsInvalidError;
HyperFormulaNS.NoOperationToRedoError = NoOperationToRedoError;
HyperFormulaNS.NoOperationToUndoError = NoOperationToUndoError;
HyperFormulaNS.NoRelativeAddressesAllowedError = NoRelativeAddressesAllowedError;
HyperFormulaNS.NoSheetWithIdError = NoSheetWithIdError;
HyperFormulaNS.NoSheetWithNameError = NoSheetWithNameError;
HyperFormulaNS.NotAFormulaError = NotAFormulaError;
HyperFormulaNS.NothingToPasteError = NothingToPasteError;
HyperFormulaNS.ProtectedFunctionTranslationError = ProtectedFunctionTranslationError;
HyperFormulaNS.SheetNameAlreadyTakenError = SheetNameAlreadyTakenError;
HyperFormulaNS.SheetSizeLimitExceededError = SheetSizeLimitExceededError;
HyperFormulaNS.SourceLocationHasArrayError = SourceLocationHasArrayError;
HyperFormulaNS.TargetLocationHasArrayError = TargetLocationHasArrayError;
HyperFormulaNS.UnableToParseError = UnableToParseError;
const defaultLanguage = Config.defaultConfig.language;
HyperFormula.registerLanguage(defaultLanguage, enGB);
HyperFormula.languages[enGB.langCode] = enGB;
for (const pluginName of Object.getOwnPropertyNames(plugins)) {
if (!pluginName.startsWith('_')) {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
HyperFormula.registerFunctionPlugin(plugins[pluginName]);
}
}
export default HyperFormulaNS;
export { AlwaysDense, AlwaysSparse, DenseSparseChooseBasedOnThreshold, HyperFormula, CellType, CellValueType, CellValueDetailedType, ErrorType, ExportedCellChange, ExportedNamedExpressionChange, DetailedCellError, CellError, ConfigValueTooBigError, ConfigValueTooSmallError, EvaluationSuspendedError, ExpectedOneOfValuesError, ExpectedValueOfTypeError, ArraySize, FunctionPlugin, FunctionArgumentType, FunctionPluginValidationError, InvalidAddressError, InvalidArgumentsError, LanguageAlreadyRegisteredError, LanguageNotRegisteredError, MissingTranslationError, NamedExpressionDoesNotExistError, NamedExpressionNameIsAlreadyTakenError, NamedExpressionNameIsInvalidError, NoOperationToRedoError, NoOperationToUndoError, NoRelativeAddressesAllowedError, NoSheetWithIdError, NoSheetWithNameError, NotAFormulaError, NothingToPasteError, ProtectedFunctionTranslationError, SimpleRangeValue, EmptyValue, SheetNameAlreadyTakenError, SheetSizeLimitExceededError, SourceLocationHasArrayError, TargetLocationHasArrayError, UnableToParseError };