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;
11pub use parser::{parse, validate, Expr};
12pub use types::{ErrorKind, ParseError, Value};
13
14pub use eval::functions::{FunctionMeta, Registry};
15
16use std::collections::HashMap;
17
18/// Evaluate a formula string with named variables, targeting Google Sheets conformance.
19///
20/// Returns `Value::Error(ErrorKind::Value)` on parse failure.
21pub fn evaluate(formula: &str, variables: &HashMap<String, Value>) -> Value {
22 Engine::google_sheets().evaluate(formula, variables)
23}