use crate::core::namespace::NamespaceComponents;
use anyhow::Result;
use serde::Serialize;
use std::path::Path;
#[derive(Serialize)]
struct InspectOutput<'a> {
namespace: Option<String>,
target_dir: Option<String>,
components: &'a NamespaceComponents,
}
pub fn run(components: &NamespaceComponents, target_dir: Option<&Path>) -> Result<()> {
let out = InspectOutput {
namespace: components.namespace_key(),
target_dir: target_dir.map(|p| p.to_string_lossy().to_string()),
components,
};
println!("{}", serde_json::to_string_pretty(&out)?);
Ok(())
}