Skip to main content

formualizer_sheetport/
lib.rs

1#![cfg_attr(target_os = "emscripten", feature(let_chains))]
2
3//! SheetPort runtime bindings.
4//!
5//! This crate links [`sheetport_spec::Manifest`] definitions to concrete workbook
6//! data structures supplied by `formualizer-workbook`. It focuses solely on the
7//! pure I/O contract: resolving selectors, describing typed ports, and preparing
8//! the groundwork for deterministic reads and writes.
9
10mod batch;
11mod binding;
12mod context;
13mod error;
14mod layout;
15mod location;
16mod resolver;
17mod runtime;
18mod session;
19mod validation;
20mod value;
21
22pub use batch::{BatchExecutor, BatchInput, BatchOptions, BatchProgress, BatchResult};
23pub use binding::{
24    BoundPort, ManifestBindings, PortBinding, RangeBinding, RecordBinding, RecordFieldBinding,
25    ScalarBinding, TableBinding, TableColumnBinding,
26};
27pub use error::SheetPortError;
28pub use location::{AreaLocation, FieldLocation, ScalarLocation, TableLocation};
29pub use runtime::{EvalMode, EvalOptions, SheetPort};
30pub use session::SheetPortSession;
31pub use validation::{ConstraintViolation, ValidationScope};
32pub use value::{InputSnapshot, InputUpdate, OutputSnapshot, PortValue, TableRow, TableValue};