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}