| Crates.io | serde_duper |
| lib.rs | serde_duper |
| version | 0.4.3 |
| created_at | 2025-10-20 23:39:59.410404+00 |
| updated_at | 2025-12-23 21:05:25.667314+00 |
| description | Serde support for Duper. |
| homepage | https://duper.dev.br |
| repository | https://github.com/EpicEric/duper |
| max_upload_size | |
| id | 1892889 |
| size | 236,766 |
Adds serde support for Duper.
See the main project on GitHub.
cargo add serde_duper
# -- or --
cargo add serde_duper --features macros,uuid,chrono
use serde::{Deserialize, Serialize};
use serde_duper::types::DuperUuid;
use uuid::Uuid;
#[derive(Serialize, Deserialize)]
#[serde(rename = "Status")]
enum UserStatus {
Disabled,
PendingApproval,
Enabled,
}
#[derive(Serialize, Deserialize)]
struct User {
#[serde(with = "DuperUuid")]
id: Uuid,
status: UserStatus,
last_known_ips: Vec<String>,
}
let u = User {
id: "314dfe6f-7a76-4c43-80b9-3b0ceb0960c0".parse().unwrap(),
status: UserStatus::Enabled,
last_known_ips: vec!["2a02:ec80:700:ed1a::1".to_string()],
};
let d = serde_duper::to_string(&u).unwrap();
println!("{}", d);
// This should print:
// User({
// id: Uuid("314dfe6f-7a76-4c43-80b9-3b0ceb0960c0"),
// status: Status("Enabled"),
// last_known_ips: ["2a02:ec80:700:ed1a::1"],
// })