ByteSize
is a semantic wrapper for byte count representations.
This file is port from bytesize-rs/bytesize
Add justjavac/bytesize
to your dependencies:
moon update
moon add justjavac/bytesize
Construction using SI
or IEC
helpers.
assert_true(@bytesize.ByteSize::kib(4) > @bytesize.ByteSize::kb(4))
Display as human-readable string.
assert_eq("518 GiB", @bytesize.ByteSize::gib(518).display().iec().to_string())
assert_eq("556.2 GB", @bytesize.ByteSize::gib(518).display().si().to_string())
assert_eq("518G", @bytesize.ByteSize::gib(518).display().iec_short().to_string())
Arithmetic operations are supported.
let x = @bytesize.ByteSize::kb(100)
let y = @bytesize.ByteSize::mb(1)
let plus = x + y
println(plus)
let minus = y - x
println(minus)