Skip to main content

Crate layer_tl_gen

Crate layer_tl_gen 

Source
Expand description

Build-time code generator that transforms a parsed TL schema into Rust source files.

Intended to be used from a build.rs script.

§Usage

// build.rs
use layer_tl_gen::{Config, Outputs, generate};
use layer_tl_parser::parse_tl_file;
use std::fs;

fn main() {
let schema = fs::read_to_string("tl/api.tl").unwrap();
let defs: Vec<_> = parse_tl_file(&schema)
    .filter_map(|r| r.ok())
    .collect();

let out = std::env::var("OUT_DIR").unwrap();
let mut outputs = Outputs::from_dir(&out).unwrap();
generate(&defs, &Config::default(), &mut outputs).unwrap();
}

Re-exports§

pub use codegen::Config;
pub use codegen::Outputs;
pub use codegen::generate;

Modules§

codegen
The public code-generation API.