Config
Constructors
Section titled “Constructors”constructor
Section titled “constructor”+ new Config(options: Partial‹ConfigParams›, showDeprecatedWarns: boolean): Config
Defined in src/Config.ts:165
Parameters:
| Name | Type | Default |
|---|---|---|
options | Partial‹ConfigParams› | {} |
showDeprecatedWarns | boolean | true |
Returns: Config
Properties
Section titled “Properties”accentSensitive
Section titled “accentSensitive”• accentSensitive: boolean
Defined in src/Config.ts:80
When set to true, makes string comparison accent-sensitive.
Applies only to comparison operators.
For more information, see the Types of operators guide.
default false
arrayColumnSeparator
Section titled “arrayColumnSeparator”• arrayColumnSeparator: ”,” | ”;”
Defined in src/Config.ts:90
Sets a column separator symbol for array notation.
For more information, see the Arrays guide.
default ’,‘
arrayRowSeparator
Section titled “arrayRowSeparator”• arrayRowSeparator: ”;” | ”|”
Defined in src/Config.ts:92
Sets a row separator symbol for array notation.
For more information, see the Arrays guide.
default ’;‘
caseFirst
Section titled “caseFirst”• caseFirst: “upper” | “lower” | “false”
Defined in src/Config.ts:82
When set to upper, upper case sorts first.
When set to lower, lower case sorts first.
When set to false, uses the locale’s default.
For more information, see the Types of operators guide.
default ‘lower’
caseSensitive
Section titled “caseSensitive”• caseSensitive: boolean
Defined in src/Config.ts:76
When set to true, makes string comparison case-sensitive.
Applies to comparison operators only.
For more information, see the Types of operators guide.
default false
chooseAddressMappingPolicy
Section titled “chooseAddressMappingPolicy”• chooseAddressMappingPolicy: ChooseAddressMapping
Defined in src/Config.ts:78
Sets the address mapping policy to be used.
Built-in implementations:
DenseSparseChooseBasedOnThreshold: sets the address mapping policy separately for each sheet, based on fill ratio.AlwaysDense: usesDenseStrategyfor all sheets.AlwaysSparse: usesSparseStrategyfor all sheets.
For more information, see the Performance guide.
default AlwaysDense
context
Section titled “context”• context: unknown
Defined in src/Config.ts:141
A generic parameter that can be used to pass data to custom functions.
For more information, see the Custom functions guide.
default undefined
currencySymbol
Section titled “currencySymbol”• currencySymbol: string[]
Defined in src/Config.ts:135
Sets symbols that denote currency numbers.
For more information, see the Internationalization features guide.
default [’$‘]
dateFormats
Section titled “dateFormats”• dateFormats: string[]
Defined in src/Config.ts:84
Sets the date formats accepted by the date-parsing function.
A format must be specified as a string consisting of tokens and separators.
Supported tokens:
DD(day of month)MM(month as a number)YYYY(year as a 4-digit number)YY(year as a 2-digit number)
Supported separators:
/(slash)-(dash).(dot)(empty space)
Regardless of the separator specified in the format string, all of the above are accepted by the date-parsing function.
For more information, see the Date and time handling guide.
default [‘DD/MM/YYYY’, ‘DD/MM/YY’]
decimalSeparator
Section titled “decimalSeparator”• decimalSeparator: ”.” | ”,”
Defined in src/Config.ts:94
Sets a decimal separator used for parsing numerical literals.
Can be one of the following:
.(period),(comma)
Must be different from thousandSeparator and functionArgSeparator.
For more information, see the Internationalization features guide.
default ’.‘
evaluateNullToZero
Section titled “evaluateNullToZero”• evaluateNullToZero: boolean
Defined in src/Config.ts:113
When set to true, formulas evaluating to null evaluate to 0 instead.
default false
functionArgSeparator
Section titled “functionArgSeparator”• functionArgSeparator: string
Defined in src/Config.ts:88
Sets a separator character that separates procedure arguments in formulas.
Must be different from decimalSeparator and thousandSeparator.
For more information, see the Internationalization features guide.
default ’,‘
functionPlugins
Section titled “functionPlugins”• functionPlugins: FunctionPluginDefinition[]
Defined in src/Config.ts:105
Lists additional function plugins to be used by the formula interpreter.
For more information, see the Custom functions guide.
default []
ignorePunctuation
Section titled “ignorePunctuation”• ignorePunctuation: boolean
Defined in src/Config.ts:109
When set to true, string comparison ignores punctuation.
For more information, see the Types of operators guide.
default false
ignoreWhiteSpace
Section titled “ignoreWhiteSpace”• ignoreWhiteSpace: “standard” | “any”
Defined in src/Config.ts:100
Controls the set of whitespace characters that are allowed inside a formula.
When set to 'standard', allows only SPACE (U+0020), CHARACTER TABULATION (U+0009), LINE FEED (U+000A), and CARRIAGE RETURN (U+000D) (compliant with OpenFormula Standard 1.3)
When set to 'any', allows all whitespace characters that would be captured by the \s character class of the JavaScript regular expressions.
default ‘standard’
language
Section titled “language”• language: string
Defined in src/Config.ts:98
Sets a translation package for function and error names.
For more information, see the Localizing functions guide.
default ‘enGB’
leapYear1900
Section titled “leapYear1900”• leapYear1900: boolean
Defined in src/Config.ts:107
Sets year 1900 as a leap year.
For compatibility with Lotus 1-2-3 and Microsoft Excel, set this option to true.
For more information, see the Date and time handling guide and nullDate.
default false
licenseKey
Section titled “licenseKey”• licenseKey: string
Defined in src/Config.ts:102
Sets your HyperFormula license key.
To use HyperFormula on the GPLv3 license terms, set this option to gpl-v3.
To use HyperFormula with your proprietary license, set this option to your valid license key string.
For more information, go here.
default undefined
localeLang
Section titled “localeLang”• localeLang: string
Defined in src/Config.ts:111
Sets the locale for language-sensitive string comparison.
Accepts IETF BCP 47 language tags.
For more information, see the Internationalization features guide.
default ‘en’
matchWholeCell
Section titled “matchWholeCell”• matchWholeCell: boolean
Defined in src/Config.ts:165
When set to true, function criteria require whole cells to match the pattern.
When set to false, function criteria require just a sub-word to match the pattern.
default true
maxColumns
Section titled “maxColumns”• maxColumns: number
Defined in src/Config.ts:152
Sets the maximum number of columns.
default 18.278 (Columns A, B, …, ZZZ)
maxPendingLazyTransformations
Section titled “maxPendingLazyTransformations”• maxPendingLazyTransformations: number
Defined in src/Config.ts:139
Controls memory usage for long-running instances by limiting the number of pending lazy transformations before cleanup occurs.
Structural operations (adding/removing rows/columns, moving cells) create transformations that are applied lazily to formulas. This setting determines how many can accumulate before they are flushed and memory is reclaimed.
Lower values reduce peak memory usage but may slightly increase CPU overhead. Higher values reduce overhead but allow more memory accumulation.
default 50
maxRows
Section titled “maxRows”• maxRows: number
Defined in src/Config.ts:150
Sets the maximum number of rows.
default 40.000
nullDate
Section titled “nullDate”• nullDate: SimpleDate
Defined in src/Config.ts:133
Internally, each date is represented as a number of days that passed since nullDate.
This option sets a specific date from which that number of days is counted.
For more information, see the Date and time handling guide.
default {year: 1899, month: 12, day: 30}
nullYear
Section titled “nullYear”• nullYear: number
Defined in src/Config.ts:115
Sets the interpretation of two-digit year values.
Two-digit year values (xx) can either become 19xx or 20xx.
If xx is less or equal to nullYear, two-digit year values become 20xx.
If xx is more than nullYear, two-digit year values become 19xx.
For more information, see the Date and time handling guide.
default 30
parseDateTime
Section titled “parseDateTime”• parseDateTime: function
Defined in src/Config.ts:117
Sets a function that parses strings representing date-time into actual date-time values.
The function should return a DateTime object or undefined.
For more information, see the Date and time handling guide.
default defaultParseToDateTime
Type declaration:
Section titled “Type declaration:”▸ (dateTimeString: string, dateFormat?: undefined | string, timeFormat?: undefined | string): Maybe‹DateTime›
Parameters:
| Name | Type |
|---|---|
dateTimeString | string |
dateFormat? | undefined | string |
timeFormat? | undefined | string |
precisionEpsilon
Section titled “precisionEpsilon”• precisionEpsilon: number
Defined in src/Config.ts:123
Sets how far two numerical values need to be from each other to be treated as non-equal.
a and b are equal if all three of the following conditions are met:
- Both
aandbare of the same sign abs(a)<=(1+precisionEpsilon) * abs(b)abs(b)<=(1+precisionEpsilon) * abs(a)
Additionally, this option controls the snap-to-zero behavior for additions and subtractions:
- For
c=a+b, ifabs(c)<=precisionEpsilon * abs(a), thencis set to0 - For
c=a-b, ifabs(c)<=precisionEpsilon * abs(a), thencis set to0
default 1e-13
precisionRounding
Section titled “precisionRounding”• precisionRounding: number
Defined in src/Config.ts:125
Sets the precision level of calculations’ output.
Internally, all arithmetic operations are performed using JavaScript’s built-in numbers.
But when HyperFormula exports a cell’s value, it rounds the output
to the precisionRounding number of significant digits.
Setting precisionRounding too low can cause large numbers’ imprecision
(for example, with precisionRounding set to 4, 100005 becomes 100010).
Setting precisionRounding too high will expose the floating-point calculation errors. For example, with precisionRounding set to 15, 0.1 + 0.2 results in 0.3000000000000001.
default 10
smartRounding
Section titled “smartRounding”• smartRounding: boolean
Defined in src/Config.ts:127
When set to false, no rounding happens, and numbers are equal if and only if they are of truly identical value.
For more information, see precisionEpsilon.
default true
stringifyDateTime
Section titled “stringifyDateTime”• stringifyDateTime: function
Defined in src/Config.ts:119
Sets a function that converts date-time values into strings.
The function should return a string or undefined.
For more information, see the Date and time handling guide.
default defaultStringifyDateTime
Type declaration:
Section titled “Type declaration:”▸ (date: SimpleDateTime, formatArg: string): Maybe‹string›
Parameters:
| Name | Type |
|---|---|
date | SimpleDateTime |
formatArg | string |
stringifyDuration
Section titled “stringifyDuration”• stringifyDuration: function
Defined in src/Config.ts:121
Sets a function that converts time duration values into strings.
The function should return a string or undefined.
For more information, see the Date and time handling guide.
default defaultStringifyDuration
Type declaration:
Section titled “Type declaration:”▸ (time: SimpleTime, formatArg: string): Maybe‹string›
Parameters:
| Name | Type |
|---|---|
time | SimpleTime |
formatArg | string |
thousandSeparator
Section titled “thousandSeparator”• thousandSeparator: "" | ”,” | ” ” | ”.”
Defined in src/Config.ts:96
Sets the thousands’ separator symbol for parsing numerical literals.
Can be one of the following:
- empty
,(comma)(empty space)
Must be different from decimalSeparator and functionArgSeparator.
For more information, see the Internationalization features guide.
default ”
timeFormats
Section titled “timeFormats”• timeFormats: string[]
Defined in src/Config.ts:86
Sets the time formats accepted by the time-parsing function.
A format must be specified as a string consisting of at least two tokens separated by : (a colon).
Supported tokens:
hh(hours)mm(minutes)ss,ss.s,ss.ss,ss.sss,ss.ssss, etc. (seconds)
The number of decimal places in the seconds token does not matter. All versions of the seconds token are equivalent in the context of parsing time values. Regardless of the time format specified, the hours-minutes-seconds value may be followed by the AM/PM designator.
For more information, see the Date and time handling guide.
example
E.g., for timeFormats = ['hh:mm:ss.sss'], valid time strings include:
1:33:331:33:33.31:33:33.331:33:33.33301:33:331:33:33 AM1:33:33 PM1:33:33 am1:33:33 pm1:33:33AM1:33:33PM
default [‘hh:mm’, ‘hh:mm:ss.sss’]
undoLimit
Section titled “undoLimit”• undoLimit: number
Defined in src/Config.ts:137
Sets the number of elements kept in the undo history.
For more information, see the Undo-Redo guide.
default 20
useArrayArithmetic
Section titled “useArrayArithmetic”• useArrayArithmetic: boolean
Defined in src/Config.ts:74
When set to true, array arithmetic is enabled globally.
When set to false, array arithmetic is enabled only inside array functions (ARRAYFORMULA, FILTER, and ARRAY_CONSTRAIN).
For more information, see the Arrays guide.
default false
useColumnIndex
Section titled “useColumnIndex”• useColumnIndex: boolean
Defined in src/Config.ts:129
When set to true, switches column search strategy from binary search to column index.
Using column index improves efficiency of the VLOOKUP and MATCH functions, but increases memory usage.
When searching with wildcards or regular expressions, column search strategy falls back to binary search (even with useColumnIndex set to true).
For more information, see the Performance guide.
default false
useRegularExpressions
Section titled “useRegularExpressions”• useRegularExpressions: boolean
Defined in src/Config.ts:161
When set to true, criteria in functions (SUMIF, COUNTIF, …) are allowed to use regular expressions.
default false
useStats
Section titled “useStats”• useStats: boolean
Defined in src/Config.ts:131
When set to true, enables gathering engine statistics and timings.
Useful for testing and benchmarking.
default false
useWildcards
Section titled “useWildcards”• useWildcards: boolean
Defined in src/Config.ts:163
When set to true, criteria in functions (SUMIF, COUNTIF, …) can use the * and ? wildcards.
default true
Methods
Section titled “Methods”getConfig
Section titled “getConfig”▸ getConfig(): ConfigParams
Defined in src/Config.ts:306
Returns: ConfigParams
mergeConfig
Section titled “mergeConfig”▸ mergeConfig(init: Partial‹ConfigParams›): Config
Defined in src/Config.ts:310
Parameters:
| Name | Type |
|---|---|
init | Partial‹ConfigParams› |
Returns: Config
Object literals
Section titled “Object literals”defaultConfig
Section titled “defaultConfig”▪ defaultConfig: object
Section titled “▪ defaultConfig: object”Defined in src/Config.ts:31
accentSensitive
Section titled “accentSensitive”• accentSensitive: false = false
Defined in src/Config.ts:32
arrayColumnSeparator
Section titled “arrayColumnSeparator”• arrayColumnSeparator: ”,” = ”,”
Defined in src/Config.ts:50
arrayRowSeparator
Section titled “arrayRowSeparator”• arrayRowSeparator: ”;” = ”;”
Defined in src/Config.ts:51
caseFirst
Section titled “caseFirst”• caseFirst: “lower” = “lower”
Defined in src/Config.ts:35
caseSensitive
Section titled “caseSensitive”• caseSensitive: false = false
Defined in src/Config.ts:34
chooseAddressMappingPolicy
Section titled “chooseAddressMappingPolicy”• chooseAddressMappingPolicy: AlwaysDense‹› = new AlwaysDense()
Defined in src/Config.ts:37
context
Section titled “context”• context: undefined = undefined
Defined in src/Config.ts:36
currencySymbol
Section titled “currencySymbol”• currencySymbol: string[] = [’$’]
Defined in src/Config.ts:33
dateFormats
Section titled “dateFormats”• dateFormats: string[] = [‘DD/MM/YYYY’, ‘DD/MM/YY’]
Defined in src/Config.ts:38
decimalSeparator
Section titled “decimalSeparator”• decimalSeparator: ”.” = ”.”
Defined in src/Config.ts:39
evaluateNullToZero
Section titled “evaluateNullToZero”• evaluateNullToZero: false = false
Defined in src/Config.ts:40
functionArgSeparator
Section titled “functionArgSeparator”• functionArgSeparator: string = ”,”
Defined in src/Config.ts:41
functionPlugins
Section titled “functionPlugins”• functionPlugins: never[] = []
Defined in src/Config.ts:42
ignorePunctuation
Section titled “ignorePunctuation”• ignorePunctuation: false = false
Defined in src/Config.ts:43
ignoreWhiteSpace
Section titled “ignoreWhiteSpace”• ignoreWhiteSpace: “standard” = “standard”
Defined in src/Config.ts:45
language
Section titled “language”• language: string = “enGB”
Defined in src/Config.ts:44
leapYear1900
Section titled “leapYear1900”• leapYear1900: false = false
Defined in src/Config.ts:47
licenseKey
Section titled “licenseKey”• licenseKey: string = ""
Defined in src/Config.ts:46
localeLang
Section titled “localeLang”• localeLang: string = “en”
Defined in src/Config.ts:48
matchWholeCell
Section titled “matchWholeCell”• matchWholeCell: true = true
Defined in src/Config.ts:49
maxColumns
Section titled “maxColumns”• maxColumns: number = 18278
Defined in src/Config.ts:53
maxPendingLazyTransformations
Section titled “maxPendingLazyTransformations”• maxPendingLazyTransformations: number = 50
Defined in src/Config.ts:65
maxRows
Section titled “maxRows”• maxRows: number = 40000
Defined in src/Config.ts:52
nullYear
Section titled “nullYear”• nullYear: number = 30
Defined in src/Config.ts:54
parseDateTime
Section titled “parseDateTime”• parseDateTime: defaultParseToDateTime = defaultParseToDateTime
Defined in src/Config.ts:56
precisionEpsilon
Section titled “precisionEpsilon”• precisionEpsilon: number = 1e-13
Defined in src/Config.ts:57
precisionRounding
Section titled “precisionRounding”• precisionRounding: number = 10
Defined in src/Config.ts:58
smartRounding
Section titled “smartRounding”• smartRounding: true = true
Defined in src/Config.ts:59
stringifyDateTime
Section titled “stringifyDateTime”• stringifyDateTime: defaultStringifyDateTime = defaultStringifyDateTime
Defined in src/Config.ts:60
stringifyDuration
Section titled “stringifyDuration”• stringifyDuration: defaultStringifyDuration = defaultStringifyDuration
Defined in src/Config.ts:61
thousandSeparator
Section titled “thousandSeparator”• thousandSeparator: "" = ""
Defined in src/Config.ts:63
timeFormats
Section titled “timeFormats”• timeFormats: string[] = [‘hh:mm’, ‘hh:mm:ss.sss’]
Defined in src/Config.ts:62
undoLimit
Section titled “undoLimit”• undoLimit: number = 20
Defined in src/Config.ts:64
useArrayArithmetic
Section titled “useArrayArithmetic”• useArrayArithmetic: false = false
Defined in src/Config.ts:70
useColumnIndex
Section titled “useColumnIndex”• useColumnIndex: false = false
Defined in src/Config.ts:68
useRegularExpressions
Section titled “useRegularExpressions”• useRegularExpressions: false = false
Defined in src/Config.ts:66
useStats
Section titled “useStats”• useStats: false = false
Defined in src/Config.ts:69
useWildcards
Section titled “useWildcards”• useWildcards: true = true
Defined in src/Config.ts:67
▪ nullDate: object
Defined in src/Config.ts:55
-
day: number = 30
-
month: number = 12
-
year: number = 1899