use serde::Deserialize; pub type TaskOutput = Result; pub mod client; pub mod server; #[derive(Clone, Copy)] pub struct Task { pub name: N, pub exec: fn(&[&str], &T) -> TaskOutput, } #[derive(Deserialize)] pub struct CompletedTask { pub name: N, pub output: Option, } impl From<(N, TaskOutput)> for CompletedTask { fn from((name, output): (N, TaskOutput)) -> Self { CompletedTask { name, output: Some(output), } } } #[derive(Debug)] pub enum IntoTaskErr { NotFound(String), }