1use serde::{Deserialize, Serialize};
2use serde_variant::to_variant_name;
3
4#[derive(Debug, Default, Deserialize, Serialize)]
5pub struct Cache {
6 #[serde(default)]
7 pub driver: Driver,
8}
9
10#[derive(Debug, Default, Deserialize, Serialize)]
11pub enum Driver {
12 #[default]
13 #[serde(rename = "null")]
14 Null,
15 #[cfg(feature = "memory")]
16 #[serde(rename = "memory")]
17 Memory,
18}
19
20impl std::fmt::Display for Driver {
21 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
22 to_variant_name(self).expect("only enum supported").fmt(f)
23 }
24}