use serde_json::{Result, Value};
pub fn package_json_handler(data: &str) -> Result<Value> {
let v: Value = serde_json::from_str(data)?;
if let Some(scripts) = v.get("scripts") {
return Ok(scripts.clone());
}
Ok(Value::Null)
}
pub fn get_script_keys(scripts: &Value) -> Vec<String> {
let mut keys = Vec::new();
if let Value::Object(obj) = scripts {
for (key, _) in obj.iter() {
keys.push(key.to_string());
}
}
keys
}
pub fn get_script_values(scripts: &Value, key: &str) -> String {
let mut value = String::new();
if let Value::Object(obj) = scripts {
if let Some(script) = obj.get(key) {
if let Value::String(val) = script {
value = val.to_string();
}
}
}
value
}