netsky 0.1.3

netsky CLI: the viable system launcher and subcommand dispatcher
Documentation
use netsky_io::{AccessCmd, IoCommand, IrohCmd};

pub fn run(sub: IoCommand) -> netsky_core::Result<()> {
    match sub {
        IoCommand::Serve { source } => {
            netsky_io::run_source(source).map_err(|e| netsky_core::Error::Message(e.to_string()))
        }
        IoCommand::Access(AccessCmd::Email(cmd)) => netsky_io::sources::email::access_cli(cmd)
            .map_err(|e| netsky_core::Error::Message(e.to_string())),
        IoCommand::Access(AccessCmd::Calendar(cmd)) => {
            netsky_io::sources::calendar::access_cli(cmd)
                .map_err(|e| netsky_core::Error::Message(e.to_string()))
        }
        IoCommand::Access(cmd) => netsky_io::sources::imessage::access::cli(cmd)
            .map_err(|e| netsky_core::Error::Message(e.to_string())),
        IoCommand::Iroh(IrohCmd::Whoami) => netsky_io::sources::iroh::whoami()
            .map_err(|e| netsky_core::Error::Message(e.to_string())),
        IoCommand::Iroh(IrohCmd::Send { label, text }) => {
            netsky_io::sources::iroh::send_oneshot(&label, &text)
                .map_err(|e| netsky_core::Error::Message(e.to_string()))
        }
    }
}