Skip to main content

truecalc_core/
lib.rs

1// truecalc-core: spreadsheet formula parser and evaluator
2
3pub mod display;
4pub mod engine;
5pub mod eval;
6pub mod parser;
7pub mod types;
8
9pub use display::display_number;
10pub use engine::Engine;
11#[allow(deprecated)]
12pub use parser::{parse, validate};
13pub use parser::Expr;
14pub use types::{ErrorKind, ParseError, Value};
15
16pub use eval::functions::{FunctionMeta, Registry};
17
18use std::collections::HashMap;
19
20/// Evaluate a formula string with named variables, targeting Google Sheets conformance.
21///
22/// Returns `Value::Error(ErrorKind::Value)` on parse failure.
23#[deprecated(note = "use Engine::sheets()/Engine::excel() and engine.evaluate() — engine flavor is required; see ADR 2026-04-27")]
24pub fn evaluate(formula: &str, variables: &HashMap<String, Value>) -> Value {
25    Engine::sheets().evaluate(formula, variables)
26}