Skip to main content

Crate formualizer

Crate formualizer 

Source
Expand description

Meta crate that re-exports the primary Formualizer building blocks with sensible defaults. Downstream users can depend on this crate and opt into specific layers via feature flags while keeping access to the underlying crates when deeper integration is required.

Inspection DTOs are currently types-only through this facade. Until the workbook and language-binding integrations land, use formualizer-eval directly to call the engine inspection methods; the facade intentionally does not re-export Engine.

Re-exports§

pub use formualizer_common as common;
pub use formualizer_parse as parse;
pub use formualizer_eval as eval;
pub use formualizer_workbook as workbook;
pub use formualizer_sheetport as sheetport;
pub use sheetport_spec;

Modules§

doc_examples

Structs§

ASTNode
An AST node represents a parsed formula element
CellAddress
An owned, absolute cell address with 1-based coordinates.
CellSnapshot
CellSnapshotReport
ConstraintViolation
Detailed information about why a value failed validation.
Dependent
DependentsOptions
Capacity minima that must hold the request’s own anchors are hard errors: trace requires max_nodes >= unique roots (and nonempty roots); range_page requires limit >= 1. All expansion budgets (max_depth, max_links, max_work, range_member_budget, max_results) accept zero and degrade to in-band truncation.
DependentsReport
ErrorContext
Generic, lightweight metadata that any error may carry.
EvalConfig
Configuration for the evaluation engine
EvalOptions
EvalPlan
ExcelError
The single struct your API passes around.
InputUpdate
Set of inputs to apply (partial updates allowed).
ManifestBindings
Bound manifest along with per-port selector metadata.
Parser
Source-span-backed parser for converting formulas into an AST.
PortBinding
Fully resolved port description.
Precedent
PrecedentOptions
Capacity minima that must hold the request’s own anchors are hard errors: trace requires max_nodes >= unique roots (and nonempty roots); range_page requires limit >= 1. All expansion budgets (max_depth, max_links, max_work, range_member_budget, max_results) accept zero and degrade to in-band truncation.
PrecedentReport
RangeAddress
RangeArea
An owned, absolute range area with optional, inclusive 1-based bounds.
RangePage
RangePageOptions
Capacity minima that must hold the request’s own anchors are hard errors: trace requires max_nodes >= unique roots (and nonempty roots); range_page requires limit >= 1. All expansion budgets (max_depth, max_links, max_work, range_member_budget, max_results) accept zero and degrade to in-band truncation.
RecalculateErrorSummary
RecalculateSheetSummary
RecalculateSummary
RecordBinding
Record port binding with per-field metadata.
RecordFieldBinding
Metadata describing an individual record field binding.
ScalarBinding
Scalar port binding.
SheetPort
Runtime container that pairs a manifest with a concrete workbook.
SnapshotOptions
Capacity minima that must hold the request’s own anchors are hard errors: trace requires max_nodes >= unique roots (and nonempty roots); range_page requires limit >= 1. All expansion budgets (max_depth, max_links, max_work, range_member_budget, max_results) accept zero and degrade to in-band truncation.
StateStamp
Correlates a report with the engine mutation and recalculation state from which it was copied.
TableBinding
Table port binding with column descriptors.
TableRow
Single logical table row.
TableValue
Table-shaped value consisting of ordered rows.
Token
A token in an Excel formula.
Tokenizer
A tokenizer for Excel worksheet formulas.
TraceGraph
TraceLink
TraceLinkTarget
TraceNode
TraceNodeId
TraceOptions
Capacity minima that must hold the request’s own anchors are hard errors: trace requires max_nodes >= unique roots (and nonempty roots); range_page requires limit >= 1. All expansion budgets (max_depth, max_links, max_work, range_member_budget, max_results) accept zero and degrade to in-band truncation.
TruncationReport
Workbook
Engine-backed workbook facade.
WorkbookConfig
WorksheetHandle
A bindings-friendly worksheet handle backed by an Arc<RwLock>. For native Rust, prefer borrowing APIs on Workbook directly for better ergonomics.
XlsxRecalculateLimits
Bounds apply to actual decompression, XML depth/cells and output, not only ZIP headers.
XlsxRecalculateOptions
The source date system is authoritative; other evaluation policies come from eval_config.
XlsxRecalculateResult
cache_cells_changed counts physical caches actually patched, not engine deltas.

Enums§

ASTNodeType
The different types of AST nodes.
AreaLocation
Location for ports that span an area (records or rectangular ranges).
BoundPort
Union of bound port kinds.
DateSystem
ExcelErrorExtra
Kind-specific payloads (“extension slot”).
ExcelErrorKind
All recognised Excel error codes.
FormulaDialect
InspectError
InspectionUnavailableReason
LinkDisposition
LiteralValue
An interpeter LiteralValue. This is distinct from the possible types that can be stored in a cell.
LoadStrategy
NameResolution
OmittedCount
PortValue
Generic value container for a manifest port.
Provenance
RecalculateStatus
ReferenceType
A reference to something outside the cell.
ScalarLocation
Location for scalar ports.
SemanticReference
SheetPortError
Errors produced when constructing or operating a SheetPort runtime.
SpillRole
A last-evaluation spill-registry fact.
Staleness
TableLocation
Location options for table-shaped ports.
TemporalEgress
Controls whether temporal-formatted serials leave the engine as native values.
TokenSubType
The subtype of a token.
TokenType
The type of a token.
TraceDirection
TraceLinkKind
WorkbookMode

Constants§

DEFAULT_ERROR_LOCATION_LIMIT

Functions§

canonical_formula
Produce a canonical Excel formula string for an AST, prefixed with ‘=’.
parse_with_dialect
recalculate_xlsx_bytes
Recalculate ordinary/shared formula caches without importing/rewriting rich workbook structures. Unsupported geometry/metadata cases return an error; there is no lossy fallback. Exact no-ops return the original package bytes.
recalculate_xlsx_file
Native bounded snapshot + same-directory temporary + atomic replace. This is not CAS against unrelated writers; callers retain their source authority. Symlink destinations are rejected. No failure/cancellation publishes bytes.