use MutexGuard;
use Mutex;
use Value;
use Serialize;
/// ## toml_from_str used to convert string to toml data
/// ```ignore
///let cargo_toml_mutex = tsu::toml_from_str(r#"
///[package]
///name = "toml"
///version = "0.4.5"
///authors = ["Alex Crichton <alex@alexcrichton.com>"]
///
///[badges]
///travis-ci = { repository = "alexcrichton/toml-rs" }
///
///[dependencies]
///serde = "1.0"
///
///[dev-dependencies]
///serde_derive = "1.0"
///serde_json = "1.0"
///"#);
///
///let package = cargo_toml_mutex.get("package").unwrap();
///let authors = package.get("authors").unwrap();
///println!("{:#?}", &package);
///println!("{:#?}", &authors);
///
///let badges = cargo_toml_mutex.get("badges").unwrap();
///println!("{:#?}", &badges);
///
///let dependencies = cargo_toml_mutex.get("dependencies").unwrap();
///println!("{:#?}", &dependencies);
///
///let dev_dependencies = cargo_toml_mutex.get("dev-dependencies").unwrap();
///println!("{:#?}", &dev_dependencies);
/// ```
/// ## to_toml_str used to convert struct to toml string
/// ```ignore
/// 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());
/// ```