fn serialize()

in src/common/src/size_ext.rs [76:98]


    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
        let size = self.0;
        let mut buffer = String::new();
        if size == 0 {
            write!(buffer, "{size}KiB").unwrap();
        } else if size % PIB == 0 {
            write!(buffer, "{}PiB", size / PIB).unwrap();
        } else if size % TIB == 0 {
            write!(buffer, "{}TiB", size / TIB).unwrap();
        } else if size % GIB == 0 {
            write!(buffer, "{}GiB", size / GIB).unwrap();
        } else if size % MIB == 0 {
            write!(buffer, "{}MiB", size / MIB).unwrap();
        } else if size % KIB == 0 {
            write!(buffer, "{}KiB", size / KIB).unwrap();
        } else {
            return serializer.serialize_u64(size);
        }
        serializer.serialize_str(&buffer)
    }