use std::fs;
use toml::Value;
use std::path::Path;
pub fn lib_name(path: impl AsRef<Path>) -> Result<String, Box<dyn std::error::Error>> {
let content = fs::read_to_string(path.as_ref())?;
let toml: Value = toml::from_str(&content)?;
if let Some(lib) = toml.get("lib") {
if let Some(name) = lib.get("name") {
if let Some(name_str) = name.as_str() {
return Ok(name_str.to_string());
}
}
}
if let Some(package) = toml.get("package") {
if let Some(name) = package.get("name") {
if let Some(name_str) = name.as_str() {
return Ok(name_str.to_string());
}
}
}
Err("No library name found in Cargo.toml".into())
}