Skip to main content

ganit_core/eval/functions/parser/
mod.rs

1pub mod convert;
2pub mod to_date;
3pub mod to_dollars;
4pub mod to_percent;
5pub mod to_pure_number;
6pub mod to_text;
7
8use super::{FunctionMeta, Registry};
9
10pub fn register_parser(registry: &mut Registry) {
11    registry.register_eager("CONVERT",        convert::convert_fn,               FunctionMeta { category: "parser", signature: "CONVERT(value,from_unit,to_unit)", description: "Converts a number from one unit of measurement to another" });
12    registry.register_eager("TO_DATE",        to_date::to_date_fn,             FunctionMeta { category: "parser", signature: "TO_DATE(value)",        description: "Converts a number to a date serial value" });
13    registry.register_eager("TO_DOLLARS",     to_dollars::to_dollars_fn,       FunctionMeta { category: "parser", signature: "TO_DOLLARS(value)",     description: "Formats a number as a dollar amount" });
14    registry.register_eager("TO_PERCENT",     to_percent::to_percent_fn,       FunctionMeta { category: "parser", signature: "TO_PERCENT(value)",     description: "Formats a number as a percentage" });
15    registry.register_eager("TO_PURE_NUMBER", to_pure_number::to_pure_number_fn, FunctionMeta { category: "parser", signature: "TO_PURE_NUMBER(value)", description: "Strips formatting and returns a plain number" });
16    registry.register_eager("TO_TEXT",        to_text::to_text_fn,             FunctionMeta { category: "parser", signature: "TO_TEXT(value)",        description: "Converts a value to its text representation" });
17}