Crate lmrc_toml_writer

Crate lmrc_toml_writer 

Source
Expand description

Type-safe TOML generation for Cargo.toml files

This library provides builder APIs for generating valid Cargo.toml files programmatically, avoiding error-prone string concatenation.

§Examples

§Workspace Cargo.toml

use lmrc_toml_writer::WorkspaceToml;

let toml = WorkspaceToml::new()
    .resolver("2")
    .members(vec!["apps/api", "apps/web", "infra/pipeline"])
    .workspace_version("0.1.0")
    .workspace_edition("2021")
    .workspace_authors(vec!["Team Name"])
    .dependency("tokio", r#"{ version = "1.0", features = ["full"] }"#)
    .dependency("serde", r#"{ version = "1.0", features = ["derive"] }"#)
    .build();

println!("{}", toml);

§Package Cargo.toml

use lmrc_toml_writer::PackageToml;

let toml = PackageToml::new("my-app")
    .version("0.1.0")
    .edition("2021")
    .bin("my-app", "src/main.rs")
    .workspace_dependency("tokio")
    .dependency("reqwest", "0.11")
    .build();

println!("{}", toml);

Structs§

PackageToml
Builder for Cargo package TOML files
WorkspaceToml
Builder for Cargo workspace TOML files

Enums§

Error

Type Aliases§

Result