use serde::{Deserialize, Serialize}; use std::collections::HashMap; pub type TaskRef = String; #[derive(Clone, Debug, Deserialize, Serialize)] pub struct Task { #[serde(default)] pub depends: Vec, #[serde(default)] pub output: Vec, pub run: String, } #[derive(Debug, Default)] pub struct TaskMap(pub HashMap); impl TaskMap { pub fn get(&self, task: &TaskRef) -> Option<&Task> { self.0.get(task) } }