Skip to main content

formualizer_workbook/
lib.rs

1pub mod backends;
2pub mod builtins;
3pub mod error;
4#[cfg(feature = "umya")]
5pub mod recalculate;
6pub mod resolver;
7pub mod session;
8pub mod traits;
9pub mod transaction;
10#[cfg(all(feature = "wasm_runtime_wasmtime", not(target_arch = "wasm32")))]
11mod wasm_runtime_wasmtime;
12pub mod workbook;
13pub mod worksheet;
14
15#[cfg(feature = "calamine")]
16pub use backends::CalamineAdapter;
17#[cfg(feature = "csv")]
18pub use backends::CsvAdapter;
19#[cfg(feature = "json")]
20pub use backends::JsonAdapter;
21#[cfg(feature = "umya")]
22pub use backends::UmyaAdapter;
23#[cfg(feature = "csv")]
24pub use backends::csv::CsvArrayPolicy;
25#[cfg(feature = "json")]
26pub use backends::json::JsonReadOptions;
27pub use builtins::{ensure_builtins_loaded, register_function_dynamic, try_load_builtins};
28pub use error::{IoError, with_cell_context};
29#[cfg(feature = "umya")]
30pub use recalculate::{
31    DEFAULT_ERROR_LOCATION_LIMIT, RecalculateErrorSummary, RecalculateSheetSummary,
32    RecalculateStatus, RecalculateSummary, recalculate_file, recalculate_file_with_limit,
33};
34pub use resolver::IoResolver;
35pub use session::{EditorSession, IoConfig};
36pub use traits::{
37    AccessGranularity, BackendCaps, CellData, LoadStrategy, MergedRange, NamedRange,
38    NamedRangeScope, SheetData, SpreadsheetIO, SpreadsheetReader, SpreadsheetWriter,
39    TableDefinition,
40};
41pub use transaction::{WriteOp, WriteTransaction};
42
43// Re-export for convenience
44pub use formualizer_common::{LiteralValue, RangeAddress};
45pub use workbook::{
46    CustomFnHandler, CustomFnInfo, CustomFnOptions, WASM_ABI_VERSION_V1, WASM_CODEC_VERSION_V1,
47    WASM_MANIFEST_SCHEMA_V1, WASM_MANIFEST_SECTION_V1, WasmFunctionSpec, WasmManifestFunction,
48    WasmManifestModule, WasmManifestParam, WasmManifestReturn, WasmModuleInfo, WasmModuleManifest,
49    WasmRuntimeHint, WasmUdfRuntime, Workbook, WorkbookConfig, WorkbookMode,
50    validate_wasm_manifest,
51};
52
53#[cfg(feature = "wasm_plugins")]
54pub use workbook::{extract_wasm_manifest_json_from_module, parse_wasm_manifest_json};
55pub use worksheet::WorksheetHandle;