1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
/*
Appellation: variants <module>
Creator: FL03 <jo3mccain@icloud.com>
Description:
... Summary ...
*/
use crate::BsonOid;
use serde::{Deserialize, Serialize};
use strum::{EnumString, EnumVariantNames};
#[derive(
Clone, Debug, Deserialize, EnumString, EnumVariantNames, Eq, Hash, PartialEq, Serialize,
)]
#[strum(serialize_all = "title_case")]
pub enum Id {
Int(i64),
Obj(BsonOid),
Std(String),
Null,
}
impl Default for Id {
fn default() -> Self {
Self::Obj(BsonOid::new())
}
}