1
Add to Cargo.toml
[dependencies]
laminate = { version = "0.1", features = ["full"] }
Feature flags: core (default), derive, streaming, providers, registry, schema, full (all of the above).
2
Parse and Extract
use laminate::FlexValue;
let data = FlexValue::from_json(r#"{"name": "Alice", "age": "30"}"#)?;
let name: String = data.extract("name")?;
let age: i64 = data.extract("age")?; // "30" → 30
3
Shape into Structs
use laminate::Laminate;
#[derive(Laminate)]
struct User {
name: String,
#[laminate(coerce)]
age: i64,
#[laminate(default)]
active: bool,
}
let result = User::shape_lenient(&json_value)?;
println!("User: {:?}, Diagnostics: {:?}", result.value, result.diagnostics);
4
Detect Types
use laminate::detect::guess_type;
for value in &column {
let guesses = guess_type(value);
println!("{}: {:?}", value, guesses[0].kind);
}