use serde_json::Value;
#[derive(Debug, Clone, PartialEq)]
pub enum CclValue {
String(String),
Array(Vec<String>),
Object(Vec<(String, CclValue)>),
}
impl From<CclValue> for Value {
fn from(ccl: CclValue) -> Self {
match ccl {
CclValue::String(s) => Value::String(s),
CclValue::Array(arr) => Value::Array(arr.into_iter().map(Value::String).collect()),
CclValue::Object(pairs) => {
let mut map = serde_json::Map::new();
for (k, v) in pairs {
map.insert(k, v.into());
}
Value::Object(map)
}
}
}
}
pub fn parse_ccl(_content: &str) -> Result<CclValue, String> {
Err("Direct CCL parsing not yet implemented".to_string())
}