use std::fmt;
use serde::{Serialize, Deserialize};
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub enum IDKind {
#[default]
Files,
Shortcuts
}
impl fmt::Display for IDKind {
fn fmt( &self, f: &mut fmt::Formatter<'_> ) -> fmt::Result {
let string = match self {
Self::Files => "files",
Self::Shortcuts => "shortcuts",
};
write!(f, "{}", string)
}
}
#[derive(Default, Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GeneratedIDs {
pub ids: Vec<String>,
pub space: super::Space,
pub kind: String,
}
impl fmt::Display for GeneratedIDs {
fn fmt( &self, f: &mut fmt::Formatter<'_> ) -> fmt::Result {
let json = serde_json::to_string_pretty(&self)
.unwrap_or( format!("unable to parse JSON, this is the debug view:\n{:#?}", self) );
write!(f, "{}", json)
}
}