reifydb_extension/transform/mod.rs
1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2025 ReifyDB
3
4//! Transform extension points (native, FFI, WASM)
5
6pub mod context;
7#[cfg(reifydb_target = "native")]
8pub mod ffi;
9#[cfg(reifydb_target = "native")]
10pub mod ffi_loader;
11pub mod registry;
12pub mod wasm;
13pub mod wasm_loader;
14
15use reifydb_core::value::column::columns::Columns;
16use reifydb_type::Result;
17
18/// A stateless Columns → Columns transformation.
19pub trait Transform: Send + Sync {
20 fn apply(&self, ctx: &context::TransformContext, input: Columns) -> Result<Columns>;
21}