Derive macros for LaminarDB.
Provides #[derive(Record)], #[derive(FromRecordBatch)], and
#[derive(ConnectorConfig)] to eliminate boilerplate.
Example
use ;
Derive macros for LaminarDB.
Provides #[derive(Record)], #[derive(FromRecordBatch)], and
#[derive(ConnectorConfig)] to eliminate boilerplate.
use laminar_derive::{Record, FromRecordBatch, ConnectorConfig};
#[derive(Record)]
struct Trade {
symbol: String,
price: f64,
#[event_time]
timestamp: i64,
}
#[derive(FromRecordBatch)]
struct OhlcBar {
symbol: String,
open: f64,
high: f64,
low: f64,
close: f64,
}
#[derive(ConnectorConfig)]
struct MySourceConfig {
#[config(key = "bootstrap.servers", required)]
bootstrap_servers: String,
#[config(key = "batch.size", default = "1000")]
batch_size: usize,
#[config(key = "timeout.ms", default = "30000", duration_ms)]
timeout: std::time::Duration,
#[config(key = "api.key", env = "MY_API_KEY")]
api_key: Option<String>,
}