Expand description
Derive macros for BAML types.
This crate provides #[derive(BamlEncode)] and #[derive(BamlDecode)]
macros for automatically implementing serialization to/from BAML’s protobuf
format.
§Usage
ⓘ
use baml::{BamlEncode, BamlDecode};
#[derive(BamlEncode, BamlDecode)]
#[baml(name = "Person")] // Optional: specify BAML type name if different from Rust name
struct Person {
name: String,
#[baml(name = "years_old")] // Optional: rename field
age: i64,
#[baml(skip)] // Optional: skip field (only for encode)
internal_id: String,
}
#[derive(BamlEncode, BamlDecode)]
#[baml(name = "Color")]
enum Color {
Red,
#[baml(name = "GREEN")] // Optional: rename variant
Green,
Blue,
}Derive Macros§
- Baml
Decode - Derive macro for
BamlDecodetrait. - Baml
Encode - Derive macro for
BamlEncodetrait.