Skip to main content

soma_cli_core/
json.rs

1//! JSON rendering helpers.
2
3use serde::Serialize;
4use serde_json::Error as JsonError;
5
6/// Pretty-print `value` the same way `serde_json::to_string_pretty` does —
7/// a thin, named wrapper so CLI output call sites read as "render JSON"
8/// rather than reaching for `serde_json` directly.
9pub fn to_pretty_string<T: Serialize>(value: &T) -> Result<String, JsonError> {
10    serde_json::to_string_pretty(value)
11}
12
13#[cfg(test)]
14mod tests {
15    use super::*;
16    use serde_json::json;
17
18    #[test]
19    fn pretty_prints_objects() {
20        let out = to_pretty_string(&json!({ "ok": true })).unwrap();
21        assert_eq!(out, "{\n  \"ok\": true\n}");
22    }
23}