#[cfg(not(feature = "serde"))]
fn main() {
panic!("Requisite feature is not enabled!")
}
#[cfg(feature = "serde")]
fn main() {
use serde::{Deserialize, Serialize};
use size::consts::*; use size::Size;
let s = Size::from_bytes(440 * KB) + Size::from_mib(12.9);
println!("The pretty file size {s}");
let double = Size::from_kb(0.668) * 2 + Size::from_bytes(1);
assert_eq!(double.bytes(), 1337);
let parsed = Size::from_str("43.008 KB").unwrap();
assert_eq!(Size::from_kib(42.0), parsed);
#[derive(Debug, Deserialize, Serialize)]
struct File {
name: String,
size: Size,
disk_size: Size,
}
let _: File = serde_json::from_str(
r#"{
"name": "Hello.txt",
"size": "12.92 gigabytes",
"disk_size": 12920000000
}"#,
)
.unwrap();
}