libcli_rs/output/
json.rs

1use std::io::Write;
2
3use serde::{Deserialize, Serialize};
4
5use crate::output::OutputTrait;
6use crate::result::Result;
7
8pub struct JsonOutput;
9
10impl JsonOutput {
11    pub fn new() -> Self {
12        Self {}
13    }
14}
15
16impl OutputTrait for JsonOutput {
17    fn display<'a, T: Deserialize<'a> + Serialize>(
18        &self,
19        writer: impl Write,
20        obj: &T,
21        _include_keys: Option<Vec<&str>>,
22        _exclude_keys: Option<Vec<&str>>,
23    ) -> Result<()> {
24        Ok(serde_json::to_writer_pretty(writer, obj)?)
25    }
26}