Converts bytes into human readable size units: B, KB, MB, GB, TB, PB, EB, ZB, YB.
npm install --save readable-size
readableSize(1); // '1 B'
readableSize(1023); // '1023 B'
readableSize(1024); // '1.00 KB'
readableSize(1025); // '1.00 KB'
readableSize(1000000); // '976 KB'
readableSize(1023999); // '999 KB'
readableSize(1024000); // '0.97 MB'
readableSize(1048575); // '0.99 MB'
readableSize(1048576); // '1.00 MB'
readableSize(1048577); // '1.00 MB'
readableSize(1000000000); // '953 MB'
readableSize(1048575999); // '999 MB'
readableSize(1048576000); // '0.97 GB'
readableSize(1073741823); // '0.99 GB'
readableSize(1073741824); // '1.00 TB'
The output is one of 'string'
, 'array'
, 'object'
, or function type.
readableSize(1024, { output: 'string' }); // '1.00 KB'
readableSize(1024, { output: 'string', format: '{{size}} ({{unit}})' }); // '1.00 (KB)'
readableSize(1024, { output: 'array' }); // [ '1.00', 'KB' ]
readableSize(1024, { output: 'object' }); // { size: '1.00', unit: 'KB' }
readableSize(999, { // '999 bytes'
output: ({ size, unit }) => {
unit = { B: 'bytes' }[unit] || unit;
return `${size} ${unit}`;
}
});
const options = {
separator: {
thousands: ',',
decimal: '.',
}
};
readableSize(999, options); // '999 B'
readableSize(1000, options); // '1,000 B'
readableSize(1024, options); // '1.00 KB'
const options = {
separator: {
thousands: ' ',
decimal: ',',
}
};
readableSize(999, options); // '999 B'
readableSize(1000, options); // '1 000 B'
readableSize(1024, options); // '1,00 KB'
const options = {
separator: {
thousands: '.',
decimal: ',',
}
};
readableSize(999, options); // '999 B'
readableSize(1000, options); // '1.000 B'
readableSize(1024, options); // '1,00 KB'
(boolean) Enable separators, default is false
(object) Specifies the thousands and decimal separators, default is:
separator: {
thousands: ',',
decimal: '.'
}
('string') The output is defined by the format string, default is '{{size}} {{unit}}'
('array') The output is [size, unit]
('object') The output is { size, unit }
(function) A user-defined output function:
format: ({ size, unit }) => {
unit = { 'B': 'bytes' }[unit] || unit;
return `${size} ${unit}`;
}
(string) The format string, default is '{{size}} {{unit}}'
MIT