Skip to main content

lemma/api/
mod.rs

1//! JSON API types for Engine boundary documents.
2//!
3//! Types reachable from [`crate::Engine`] carry no JSON-shaping serde attributes
4//! and no custom serde except exact scalar codecs (rationals, date/time strings,
5//! decimal strings). JSON shape for `show` / `run` / SDK documents lives only in
6//! `lemma::api`.
7
8mod evaluate_data_json;
9mod response;
10mod show;
11mod types;
12mod value;
13
14pub use evaluate_data_json::{
15    evaluate_data_value_from_json_value, parse_evaluate_data_object, resolve_evaluate_rules,
16};
17pub use response::{Response, RuleResult};
18pub use show::{
19    measure_pattern, number_pattern, ratio_pattern, row_def_name, show_document, PathSegment,
20    ShowBranch, ShowConversionTarget, ShowExpression, ShowListCommand, ShowRule, SortDirection,
21};
22pub use types::{
23    LemmaType, ListKey, MeasureTrait, MeasureUnit, NamedBound, RatioUnit, RationalFactor,
24    TypeDefiningSpec, TypeExtends, TypeSpecification,
25};
26pub use value::{CalendarResult, LiteralValue, RangeResult, RuleResultValue, ValueKind};