coding_tools/jsonout.rs
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2026 Jonathan Shook
3
4//! Shared JSON result output for the `--json` / `--json-pretty` tools: one
5//! place that decides compact (the default, one line for piping into `jq`) vs.
6//! pretty-printed (indented, for reading). `--json-pretty` implies `--json`.
7
8use serde_json::Value;
9
10/// Print a JSON value to stdout — pretty-printed (indented) when `pretty`, else
11/// compact on a single line.
12pub fn print(value: &Value, pretty: bool) {
13 if pretty {
14 println!("{}", serde_json::to_string_pretty(value).expect("a JSON value serializes"));
15 } else {
16 println!("{value}");
17 }
18}