/** * Public surface of the formula engine. * * Nothing in `./` imports Vue, the DOM or any spreadsheet library. See * ./README.md for the grammar (EBNF), the evaluation model and the error model. */ export { tokenize, LexError, type Token, type TokenType } from './lexer'; export { parseFormula, parseFunctionBlock, collectRefs, ParseError, type Node, type CellNode, type RangeNode, type NamedRefNode, type BlockNode, } from './parser'; export { evaluate } from './evaluator'; export { DependencyGraph } from './graph'; export { FUNCTIONS, getFunction, hasFunction, BUILTIN_SIGNATURES } from './functions'; export { colToNumber, numberToCol, parseA1, toA1, looksLikeCell, expandRange, cycleReferenceLocks, currentIdentifierAtCaret, } from './refs'; export { Workbook, literalValue, type TableModel, } from './workbook'; export { dateToSerial, timeSerial, serialToUtcDate, todaySerial, nowSerial, parseDateTimeLiteral, type DateLiteralKind, } from './dates'; export { buildFunctionIndex, expandUserFunctions, collectCalledFunctionNames, collectCalledFunctionNamesInBlock, declaredBlockNames, findInvalidForSource, blockAlwaysReturns, type FunctionDef, } from './userFunctions'; export { FormulaError, isError, keyOf, parseKey, ERROR_CODES, type ErrorCode, type CellValue, type CellRef, type Scalar, type EngineHost, type NamedRangeDef, } from './types';