quilt-rs 0.20.0

Rust library for accessing Quilt data packages.
Documentation
use crate::cli::Error;
use std::io::Write;

#[derive(Debug)]
pub enum Std {
    Out(String),
    Err(Error),
}

impl Std {
    pub fn from_result<T: std::fmt::Display>(result: Result<T, Error>) -> Self {
        match result {
            Ok(r) => Std::Out(r.to_string()),
            Err(err) => Std::Err(err),
        }
    }
}

pub fn print(
    output: Std,
    stdout: &mut impl Write,
    stderr: &mut impl Write,
) -> Result<(), std::io::Error> {
    match output {
        Std::Out(str) => writeln!(stdout, "{str}")?,
        Std::Err(err) => writeln!(stderr, "{err}")?,
    }
    Ok(())
}