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, EngineFlavor};
11#[allow(deprecated)]
12pub use parser::{parse, validate};
13pub use parser::Expr;
14pub use parser::{CellAddr, Ref};
15pub use types::{ErrorKind, ParseError, Value};
16
17pub use eval::functions::{FunctionMeta, Registry};
18pub use eval::{extract_refs, Resolver};
19
20use std::collections::HashMap;
21
22/// Evaluate a formula string with named variables, targeting Google Sheets conformance.
23///
24/// Returns `Value::Error(ErrorKind::Value)` on parse failure.
25#[deprecated(since = "0.7.0", note = "use Engine::sheets()/Engine::excel() and engine.evaluate() — engine flavor is required; see ADR 2026-04-27; removal target: 0.7.0 coordinated release")]
26pub fn evaluate(formula: &str, variables: &HashMap<String, Value>) -> Value {
27    Engine::sheets().evaluate(formula, variables)
28}