tsu 0.1.8

Toml encoding and decoding utilities,parse to toml
Documentation

tsu - toml encoding and decoding utilities,parse to toml

parse string to toml data

{
   let cargo_toml = tsu::toml_from_str(r#"
   [package]
   name = "useful_macro"
   version = "0.2.6"

   [dependencies]
   serde = "1.0"

   [dev-dependencies]
   serde_derive = "1.0"
   serde_json = "1.0"
   "#);
   
   let package = cargo_toml.get("package").unwrap();
   let name = package.get("name").unwrap();
   println!("{:#?}", &package);
   println!("{:#?}", &name);

   let dependencies = cargo_toml.get("dependencies").unwrap();
   println!("{:#?}", &dependencies);

   let dev_dependencies = cargo_toml.get("dev-dependencies").unwrap();
   println!("{:#?}", &dev_dependencies);
}

convert struct to toml string

{
   use serde_derive::Serialize;
   #[derive(Serialize)]
   struct Human {
       name: String,
       age: u8,
       country: Country,
   }
   #[derive(Serialize)]
   struct Country {
       name: String,
   }
   let user = Human {
       name: "mike".to_string(),
       age: 18,
       country: Country {
           name: "country_name".to_string(),
       },
   };
   let toml = tsu::to_toml_str(&user);
   println!("{}",toml.as_str());
}

read toml file and parse contents to toml data

{
   let cargo_toml = tsu::toml_from_path("./Cargo.toml");
   let dependencies = cargo_toml.get("dependencies").unwrap();
   println!("{:#?}", &dependencies);
}