#![doc = include_str!("../README.md")]
use arrow_array::RecordBatch;
pub use arrow_schema::ArrowError as Error;
pub use arrow_udf_macros::function;
pub type Result<T> = std::result::Result<T, Error>;
pub mod ffi;
#[cfg(feature = "global_registry")]
pub mod sig;
pub mod types;
pub type ScalarFunction = fn(input: &RecordBatch) -> Result<RecordBatch>;
pub type TableFunction =
for<'a> fn(input: &'a RecordBatch) -> Result<Box<dyn Iterator<Item = RecordBatch> + 'a>>;
#[doc(hidden)]
pub mod codegen {
pub use arrow_arith;
pub use arrow_array;
pub use arrow_schema;
pub use chrono;
pub use genawaiter;
pub use lazy_static;
#[cfg(feature = "global_registry")]
pub use linkme;
pub use rust_decimal;
pub use serde_json;
}