spl-token-wrap-cli 2.0.0

Solana Program Library Token Wrap command-line utility
use {
    crate::config::Config,
    serde::Serialize,
    solana_cli_output::{OutputFormat, QuietDisplay, VerboseDisplay},
    std::fmt::Display,
};

pub fn parse_output_format(output_format: &str) -> OutputFormat {
    match output_format {
        "display" => OutputFormat::Display,
        "json" => OutputFormat::Json,
        "json-compact" => OutputFormat::JsonCompact,
        "quiet" => OutputFormat::DisplayQuiet,
        "verbose" => OutputFormat::DisplayVerbose,
        _ => unreachable!(),
    }
}

pub fn println_display(config: &Config, message: String) {
    match config.output_format {
        OutputFormat::Display | OutputFormat::DisplayVerbose => {
            println!("{}", message);
        }
        _ => {}
    }
}

pub fn format_output<T>(config: &Config, command_output: T) -> String
where
    T: Serialize + Display + QuietDisplay + VerboseDisplay,
{
    config.output_format.formatted_string(&command_output)
}