cue_lib 0.1.0

cuesheet library
Documentation
use super::{
  album_file::KnownFileType,
  cue_str::CueStr,
  flags::TrackFlag,
  index::IndexNo,
  timestamp::CueTimestamp,
  track::{DataType, TrackNo},
};
use serde::Serialize;

impl<'a> Serialize for CueStr<'a> {
  fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
  where
    S: serde::Serializer,
  {
    serializer.collect_str(self)
  }
}

impl Serialize for TrackNo {
  fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
  where
    S: serde::Serializer,
  {
    serializer.serialize_u8(self.into_inner())
  }
}

impl Serialize for IndexNo {
  fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
  where
    S: serde::Serializer,
  {
    serializer.serialize_u8(self.into_inner())
  }
}

impl Serialize for CueTimestamp {
  fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
  where
    S: serde::Serializer,
  {
    serializer.serialize_u128(self.as_millis())
  }
}

impl Serialize for KnownFileType {
  fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
  where
    S: serde::Serializer,
  {
    serializer.serialize_str(self.as_str())
  }
}

impl Serialize for TrackFlag {
  fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
  where
    S: serde::Serializer,
  {
    serializer.collect_seq(self.iter())
  }
}

impl Serialize for DataType {
  fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
  where
    S: serde::Serializer,
  {
    serializer.serialize_str(self.as_str())
  }
}