What is filesize?
The filesize npm package is a library designed to provide simple file size conversion and formatting. It allows users to convert raw file size numbers into human-readable strings, with support for multiple units and customization options. This can be particularly useful in applications where file sizes need to be displayed to users in a format that is easy to understand.
What are filesize's main functionalities?
Basic file size formatting
Converts a file size in bytes to a human-readable string using the most appropriate unit. In this example, 1024 bytes are converted to '1 KB'.
"const filesize = require('filesize');
console.log(filesize(1024)); // '1 KB'"
Customizing the output
Allows customization of the output format, including rounding and the spacer between the number and the unit. This example shows no rounding and removes the space between the number and the unit.
"const filesize = require('filesize');
console.log(filesize(1024, {round: 0, spacer: ''})); // '1KB'"
Using different units
Supports using different unit standards, such as the International Electrotechnical Commission (IEC) standard, which uses 'KiB' instead of 'KB' for 1024 bytes.
"const filesize = require('filesize');
console.log(filesize(1024, {standard: 'iec'})); // '1 KiB'"
Other packages similar to filesize
pretty-bytes
Similar to filesize, pretty-bytes converts byte values into a human-readable format. It focuses on simplicity and does not offer as many customization options as filesize, making it a good choice for straightforward use cases.
bytes
The bytes package also provides functionality for formatting byte sizes into human-readable strings. It offers a balance between simplicity and customization, with options to specify the number of decimal places and the units to use.
filesize.js
filesize.js provides a simple way to get a human readable file size string from a number (float or integer) or string.
Optional settings
filesize()
accepts an optional descriptor Object as a second argument, so you can customize the output.
base
(number) Number base, default is 2
bits
(boolean) Enables bit
sizes, default is false
exponent
(number) Specifies the symbol via exponent, e.g. 2
is MB
for base 2, default is -1
fullform
(boolean) Enables full form of unit of measure, default is false
fullforms
(array) Array of full form overrides, default is []
output
(string) Output of function (array
, exponent
, object
, or string
), default is string
round
(number) Decimal place, default is 2
spacer
(string) Character between the result
and suffix
, default is " "
standard
(string) Standard unit of measure, can be iec
or jedec
, default is jedec
; can be overruled by base
symbols
(object) Dictionary of SI/JEDEC symbols to replace for localization, defaults to english if no match is found
suffixes (deprecated: use 'symbols')
(object) Dictionary of SI/JEDEC symbols to replace for localization, defaults to english if no match is found
unix
(boolean) Enables unix style human readable output, e.g ls -lh
, default is false
Examples
filesize(500);
filesize(500, {bits: true});
filesize(265318, {base: 10});
filesize(265318);
filesize(265318, {round: 0});
filesize(265318, {output: "array"});
filesize(265318, {output: "object"});
filesize(1, {symbols: {B: "Б"}});
filesize(1024);
filesize(1024, {exponent: 0});
filesize(1024, {output: "exponent"});
filesize(265318, {standard: "iec"});
filesize(265318, {standard: "iec", fullform: true});
filesize(12, {fullform: true, fullforms: ["байтов"]});
Partial Application
filesize.partial()
takes the second parameter of filesize()
and returns a new function with the configuration applied
upon execution. This can be used to reduce Object
creation if you call filesize()
without caching the descriptor
in lexical scope.
const size = filesize.partial({standard: "iec"});
size(265318);
How can I load filesize.js?
filesize.js supports AMD loaders (require.js, curl.js, etc.), node.js & npm (npm install filesize
), or using a script tag.
License
Copyright (c) 2017 Jason Mulligan
Licensed under the BSD-3 license.