hyperformula
Version:
HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas
119 lines (118 loc) • 4.2 kB
TypeScript
/**
* @license
* Copyright (c) 2025 Handsoncode. All rights reserved.
*/
import { TranslatableErrorType } from './Cell';
import { DateTime, SimpleDate, SimpleDateTime, SimpleTime } from './DateTimeHelper';
import { ChooseAddressMapping } from './DependencyGraph/AddressMapping/ChooseAddressMappingPolicy';
import { LicenseKeyValidityState } from './helpers/licenseKeyValidator';
import { TranslationPackage } from './i18n';
import { FunctionPluginDefinition } from './interpreter';
import { Maybe } from './Maybe';
import { ParserConfig } from './parser/ParserConfig';
import { ConfigParams } from './ConfigParams';
export declare class Config implements ConfigParams, ParserConfig {
static defaultConfig: ConfigParams;
/** @inheritDoc */
readonly useArrayArithmetic: boolean;
/** @inheritDoc */
readonly caseSensitive: boolean;
/** @inheritDoc */
readonly chooseAddressMappingPolicy: ChooseAddressMapping;
/** @inheritDoc */
readonly accentSensitive: boolean;
/** @inheritDoc */
readonly caseFirst: 'upper' | 'lower' | 'false';
/** @inheritDoc */
readonly dateFormats: string[];
/** @inheritDoc */
readonly timeFormats: string[];
/** @inheritDoc */
readonly functionArgSeparator: string;
/** @inheritDoc */
readonly arrayColumnSeparator: ',' | ';';
/** @inheritDoc */
readonly arrayRowSeparator: ';' | '|';
/** @inheritDoc */
readonly decimalSeparator: '.' | ',';
/** @inheritDoc */
readonly thousandSeparator: '' | ',' | ' ' | '.';
/** @inheritDoc */
readonly language: string;
/** @inheritDoc */
readonly ignoreWhiteSpace: 'standard' | 'any';
/** @inheritDoc */
readonly licenseKey: string;
/** @inheritDoc */
readonly functionPlugins: FunctionPluginDefinition[];
/** @inheritDoc */
readonly leapYear1900: boolean;
/** @inheritDoc */
readonly ignorePunctuation: boolean;
/** @inheritDoc */
readonly localeLang: string;
/** @inheritDoc */
readonly evaluateNullToZero: boolean;
/** @inheritDoc */
readonly nullYear: number;
/** @inheritDoc */
readonly parseDateTime: (dateTimeString: string, dateFormat?: string, timeFormat?: string) => Maybe<DateTime>;
/** @inheritDoc */
readonly stringifyDateTime: (date: SimpleDateTime, formatArg: string) => Maybe<string>;
/** @inheritDoc */
readonly stringifyDuration: (time: SimpleTime, formatArg: string) => Maybe<string>;
/** @inheritDoc */
readonly precisionEpsilon: number;
/** @inheritDoc */
readonly precisionRounding: number;
/** @inheritDoc */
readonly smartRounding: boolean;
/** @inheritDoc */
readonly useColumnIndex: boolean;
/** @inheritDoc */
readonly useStats: boolean;
/** @inheritDoc */
readonly nullDate: SimpleDate;
/** @inheritDoc */
readonly currencySymbol: string[];
/** @inheritDoc */
readonly undoLimit: number;
/** @inheritDoc */
readonly context: unknown;
/**
* Built automatically based on translation package.
*
* @internal
*/
readonly errorMapping: Record<string, TranslatableErrorType>;
/** @inheritDoc */
readonly maxRows: number;
/** @inheritDoc */
readonly maxColumns: number;
/**
* Built automatically based on language.
*
* @internal
*/
readonly translationPackage: TranslationPackage;
/** @inheritDoc */
readonly useRegularExpressions: boolean;
/** @inheritDoc */
readonly useWildcards: boolean;
/** @inheritDoc */
readonly matchWholeCell: boolean;
constructor(options?: Partial<ConfigParams>, showDeprecatedWarns?: boolean);
private setupCurrencySymbol;
/**
* Proxied property to its private counterpart. This makes the property
* as accessible as the other Config options but without ability to change the value.
*
* @internal
*/
get licenseKeyValidityState(): LicenseKeyValidityState;
getConfig(): ConfigParams;
mergeConfig(init: Partial<ConfigParams>): Config;
private static warnDeprecatedOptions;
private static warnDeprecatedIfUsed;
}
export declare function getDefaultConfig(): ConfigParams;