FormulaEngine class

Main entry point for the formula engine.

Use this class to parse and evaluate spreadsheet formulas.

final engine = FormulaEngine();

// Parse a formula
final ast = engine.parse('=SUM(A1:A10)');

// Evaluate with your data source
final result = engine.evaluate(ast, myContext);

Constructors

FormulaEngine({FunctionRegistry? functions})
Create a new formula engine.

Properties

functions → FunctionRegistry
Get the function registry.
no setter
hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

clearCache() → void
Clear the parse cache.
evaluate(FormulaNode ast, EvaluationContext context) → FormulaValue
Evaluate a parsed formula with the given context.
evaluateString(String formula, EvaluationContext context) → FormulaValue
Parse and evaluate a formula string.
getCellReferences(String formula) → Set<A1>
Get all cell references in a formula (for dependency tracking).
isValidFormula(String formula) → bool
Check if a string is a valid formula.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
parse(String formula) → FormulaNode
Parse a formula string into an AST.
registerFunction(FormulaFunction function) → void
Register a custom function.
toString() → String
A string representation of this object.
inherited
tryParse(String formula) → FormulaNode?
Try to parse a formula, returning null on failure.

Operators

operator ==(Object other) → bool
The equality operator.
inherited