pub mod exports;
pub mod wrapper;
use std::collections::HashMap;
use reifydb_core::value::column::columns::Columns;
use reifydb_type::value::Value;
use crate::error::Result;
pub trait FFITransformMetadata {
const NAME: &'static str;
const API: u32;
const VERSION: &'static str;
const DESCRIPTION: &'static str;
}
pub trait FFITransform: 'static {
fn new(config: &HashMap<String, Value>) -> Result<Self>
where
Self: Sized;
fn transform(&mut self, input: Columns) -> Result<Columns>;
}
pub trait FFITransformWithMetadata: FFITransform + FFITransformMetadata {}
impl<T> FFITransformWithMetadata for T where T: FFITransform + FFITransformMetadata {}