use serde::{Deserialize, Serialize};
pub(crate) const DEFAULT_TTL_MS: u64 = 0;
#[derive(Debug, Clone, Copy, Default, Serialize, Deserialize, Eq, PartialEq)]
#[serde(rename_all = "lowercase")]
#[non_exhaustive]
pub enum CacheScope {
Public,
#[default]
Private,
}
#[cfg(test)]
mod tests {
use super::CacheScope;
use serde_json::json;
#[test]
fn roundtrips_each_variant() {
for (v, s) in [
(CacheScope::Public, "public"),
(CacheScope::Private, "private"),
] {
let j = serde_json::to_value(v).unwrap();
assert_eq!(j, json!(s));
let back: CacheScope = serde_json::from_value(j).unwrap();
assert_eq!(back, v);
}
}
#[test]
fn defaults_to_private() {
assert_eq!(CacheScope::default(), CacheScope::Private);
}
}