jirust_cli/utils/
json_printer.rs1use super::PrintableData;
2
3pub fn print_json(data: PrintableData) {
20 match data {
21 PrintableData::Generic { data } => {
22 println!("{}", serde_json::to_string_pretty(&data).unwrap());
23 }
24 PrintableData::IssueTransitions { transitions } => {
25 println!("{}", serde_json::to_string_pretty(&transitions).unwrap());
26 }
27 PrintableData::IssueCreated { issues } => {
28 println!("{}", serde_json::to_string_pretty(&issues).unwrap());
29 }
30 PrintableData::IssueData { issues } => {
31 println!("{}", serde_json::to_string_pretty(&issues).unwrap());
32 }
33 PrintableData::IssueType { issue_types } => {
34 println!("{}", serde_json::to_string_pretty(&issue_types).unwrap());
35 }
36 PrintableData::IssueTypeField { issue_type_fields } => {
37 println!(
38 "{}",
39 serde_json::to_string_pretty(&issue_type_fields).unwrap()
40 );
41 }
42 PrintableData::Project { projects } => {
43 println!("{}", serde_json::to_string_pretty(&projects).unwrap());
44 }
45 PrintableData::TransitionedIssue { issues } => {
46 let printable = issues
47 .iter()
48 .map(|(issue, transitioned, assigned, fix_version)| {
49 serde_json::json!({
50 "issue": issue,
51 "transitioned": transitioned,
52 "assigned": assigned,
53 "fixVersion": fix_version,
54 })
55 })
56 .collect::<Vec<_>>();
57 println!("{}", serde_json::to_string_pretty(&printable).unwrap());
58 }
59 PrintableData::Version { versions } => {
60 println!("{}", serde_json::to_string_pretty(&versions).unwrap());
61 }
62 }
63}