1#![cfg_attr(not(test), warn(missing_docs))]
37mod block_string;
38pub mod coercion;
39pub mod convert;
40mod document;
41mod error;
42pub mod errors;
43pub mod header;
44pub mod inference;
45pub mod lex;
46mod limits;
47#[cfg(feature = "parallel")]
48pub mod parallel;
49mod parser;
50pub mod preprocess;
51pub mod reference;
52pub mod schema_version;
53pub mod traverse;
54pub mod types;
55pub mod validation;
56mod value;
57pub mod visitor;
58
59pub use coercion::{
60 coerce, coerce_with_config, CoercionConfig, CoercionLevel, CoercionMode, CoercionResult,
61};
62pub use document::{Document, Item, MatrixList, Node};
63pub use error::{HedlError, HedlErrorKind, HedlResult};
64pub use inference::{
65 infer_value_synthesize, infer_value_with_type, InferenceConfidence, InferenceContext,
66 InferenceResult,
67};
68pub use limits::Limits;
69pub use parser::{parse, parse_with_limits, ParseOptions, ParseOptionsBuilder};
70pub use preprocess::preprocess;
71pub use reference::{resolve_references, resolve_references_with_limits, ReferenceMode};
72pub use schema_version::{FieldDef, Schema, SchemaVersion};
73pub use traverse::{traverse, DocumentVisitor, StatsCollector, VisitorContext};
74
75pub use types::{value_to_expected_type, ExpectedType, TensorDtype};
77pub use value::{Reference, Value};
78pub use visitor::{
79 transform, traverse as visitor_traverse, traverse_fallible, traverse_mut, DepthCounter,
80 FallibleVisitor, NodeCollector, PathCollector, PathSegment, ReferenceCollector, Transformer,
81 TraversalConfig, TraversalMode, TraversalOrder, TraversalResult, TraversalStats, VisitDecision,
82 Visitor, VisitorMut,
83};
84
85pub use lex::{ExprLiteral, Expression, Reference as ReferenceToken, Tensor};
87
88#[cfg(feature = "parallel")]
90pub use parallel::{
91 collect_ids_parallel, identify_entity_boundaries, parse_matrix_rows_parallel,
92 validate_references_parallel, AtomicSecurityCounters, EntityBoundary, EntityType,
93 MatrixRowBatch, ParallelConfig,
94};