Skip to content

Repository files navigation

Bytes utility

NPM VersionNPM DownloadsBuild StatusTest Coverage

Utility to parse a string bytes (ex: 1TB) to bytes (1099511627776) and vice-versa.

Installation

This is a Node.js module available through the npm registry. Installation is done using the npm install command:

$ npm install bytes

Usage

varbytes=require('bytes');

bytes(number|string value, [options]): number|string|null

Default export function. Delegates to either bytes.format or bytes.parse based on the type of value.

Arguments

NameTypeDescription
valuenumberstringNumber value to format or string value to parse
optionsObjectConversion options for format

Returns

NameTypeDescription
resultsstringnumbernullReturn null upon error. Numeric value in bytes, or string value otherwise.

Example

bytes(1024);// output: '1KB'bytes('1KB');// output: 1024

bytes.format(number value, [options]): string|null

Format the given value in bytes into a string. If the value is negative, it is kept as such. If it is a float, it is rounded.

Arguments

NameTypeDescription
valuenumberValue in bytes
optionsObjectConversion options

Options

PropertyTypeDescription
decimalPlacesnumbernullMaximum number of decimal places to include in output. Default value to 2.
fixedDecimalsbooleannullWhether to always display the maximum number of decimal places. Default value to false
thousandsSeparatorstringnullExample of values: ' ', ',' and '.'... Default value to ''.
unitstringnullThe unit in which the result will be returned (B/KB/MB/GB/TB). Default value to '' (which means auto detect).
unitSeparatorstringnullSeparator to use between number and unit. Default value to ''.

Returns

NameTypeDescription
resultsstringnullReturn null upon error. String value otherwise.

Example

bytes.format(1024);// output: '1KB'bytes.format(1000);// output: '1000B'bytes.format(1000,{thousandsSeparator: ' '});// output: '1 000B'bytes.format(1024*1.7,{decimalPlaces: 0});// output: '2KB'bytes.format(1024,{unitSeparator: ' '});// output: '1 KB'

bytes.parse(string|number value): number|null

Parse the string value into an integer in bytes. If no unit is given, or value is a number, it is assumed the value is in bytes.

Supported units and abbreviations are as follows and are case-insensitive:

  • b for bytes
  • kb for kilobytes
  • mb for megabytes
  • gb for gigabytes
  • tb for terabytes
  • pb for petabytes

The units are in powers of two, not ten. This means 1kb = 1024b according to this parser.

Arguments

NameTypeDescription
valuestringnumberString to parse, or number in bytes.

Returns

NameTypeDescription
resultsnumbernullReturn null upon error. Value in bytes otherwise.

Example

bytes.parse('1KB');// output: 1024bytes.parse('1024');// output: 1024bytes.parse(1024);// output: 1024

License

MIT

About

node byte string parser

Resources

Stars

476 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages