#![forbid(unsafe_code)]
mod analytics;
#[cfg(all(feature = "async", not(target_arch = "wasm32")))]
mod cancellation;
mod cell;
mod comments;
mod csv_io;
mod error;
mod facade;
#[cfg(not(target_arch = "wasm32"))]
mod insert;
mod mapping;
mod merge;
mod options;
mod rag;
mod reader;
pub mod serde_helpers;
mod sheet;
mod streaming;
mod template;
mod writer;
pub use analytics::{
AggregateOp, AggregateSpec, AnalysisResult, AnalysisRow, AnalysisStats, ComparisonOp,
FilterExpr, QueryLiteral, QueryPlan,
};
#[cfg(all(feature = "async", not(target_arch = "wasm32")))]
pub use cancellation::CancellationToken;
pub use cell::{CellReference, CellValue, DynamicRow, ExcelRange, StructuredCell, StructuredRow};
pub use comments::{
CommentPerson, CommentTimestamp, NoteComment, SheetComments, ThreadedComment,
ThreadedCommentReply,
};
pub use error::{Error, Result};
pub use facade::MiniExcel;
pub use mapping::CellMap;
#[cfg(all(feature = "async", not(target_arch = "wasm32")))]
pub type AsyncQuery<T> =
std::pin::Pin<Box<dyn futures_core::Stream<Item = Result<T>> + Send + 'static>>;
pub use options::{
CsvConfiguration, CsvEncoding, CsvNewline, CsvReadOptions, CsvWriteOptions,
ExistingSheetPolicy, HeaderMode, HeaderStyle, HorizontalAlignment, InsertOptions,
MergeSameCellsOptions, ReadOptions, RgbColor, TableStyle, TargetRelationshipPolicy,
TemplateOptions, VerticalAlignment, WriteOptions,
};
pub use rag::{
FormulaCalculationStatus, RagCell, RagChunk, RagExport, RagExportOptions, RagManifest, RagRow,
RagValue,
};
pub use sheet::{SheetInfo, SheetType, SheetVisibility};
pub use streaming::{ByteQuerySummary, QuerySummary};