Sizeable 
An Elixir library to make file sizes human-readable.
Installation
The package can be installed as:
- Add
sizeableto your list of dependencies inmix.exs:
```elixir
def deps do
[{:sizeable, "~> 1.0.0"}]
end
```
- Ensure
sizeableis started before your application:
```elixir
def application do
[applications: [:sizeable]]
end
```
Usage
Sizeable.filesize(value, options \\ [])
Returns a human-readable string for the given numeric value.
Arguments:
value(Integer/Float/String) representing the filesize to be converted.options(Struct) representing the options to determine base, rounding and units.
Options:
bits:trueif the result should be in bits,falseif in bytes. Defaults tofalse.spacer: the string that should be between the number and the unit. Defaults to" ".round: the precision that the number should be rounded down to. Defaults to2.base: the base for exponent calculation.2for binary-based numbers, any other Integer can be used. Defaults to2.
Example - Get file size for 1024 bytes
Sizeable.filesize(1024)
"1 KB"
Example - Get bit-sized file size for 1024 bytes
Sizeable.filesize(1024, [bits: true]})
"8 Kb"