tutel 0.2.10

a minimalistic todo app for terminal enthusiasts
Documentation
use serde::{ser::SerializeStruct, Serialize};

use super::{project::ProjectData, Task};

impl Serialize for ProjectData {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: serde::Serializer,
    {
        let mut state = serializer.serialize_struct("ProjectData", 2)?;
        state.serialize_field("name", &self.name)?;
        state.serialize_field("tasks", &self.tasks)?;
        state.end()
    }
}

impl Serialize for Task {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: serde::Serializer,
    {
        let mut state = serializer.serialize_struct("Task", 3)?;
        state.serialize_field("desc", &self.desc)?;
        state.serialize_field("completed", &self.completed)?;
        state.serialize_field("index", &self.index)?;
        state.end()
    }
}