Skip to content

Latest commit

 

History

History
110 lines (73 loc) · 2.91 KB

README.md

File metadata and controls

110 lines (73 loc) · 2.91 KB

Build status Coverage Status Socket Badge Snyk test results npm version GitHub CodeFactor

kilomega

Get the right unit prefix like kilo of mega for a certain bit or byte amount.

If you want to convert a number of bits or bytes to a readable notation, like 18248932 to "17.4 MB".

Installation

$ npm install kilomega

Usage

You can include kilomega in three different ways:

  1. For browsers, when you use a bundler:
import { kilomega } from 'kilomega';
  1. For browsers, without the need to build or install kilomega:
const { kilomega } = await import('https://cdn.jsdelivr.net/gh/edwinm/kilomega@1.0/kilomega.js');

See dynamic-import.js in the example directory.

  1. Or, for use in Node.js:
const { kilomega } = require('kilomega');

See example.js in the example directory.

Then call the kilomega function:

const result = kilomega(489382653442);
// result is: {
// 		amount: 455.7731127757579,
// 		iecPrefix: "gibi",
// 		iecSymbol: "Gi",
// 		prefix: "giga",
// 		symbol: "G",
// 	}

(489382653442 bytes is 455.77 gigabytes)

A complete practical example with number formatting for the specified locale (en-US) and with a specified number of digits (3):

const { kilomega } = require("kilomega");

function displayAmount(bytes) {
	const bytesize = kilomega(bytes);
	const intl = new Intl.NumberFormat("en-US", { maximumSignificantDigits: 3 });

	return `${intl.format(bytesize.amount)} ${bytesize.symbol}B`;
}

const result = displayAmount(28946022);
//=> 27.6 MB

(28946022 bytes is 27.6 megabytes)

API

kilomega( amount )

Returns an with the converted amount and corresponding prefixes.

amount

Type: number

The number of bits or bytes.

output

Type: { amount: number; iecPrefix: string; iecSymbol: string; prefix: string; symbol: string; }

The converted amount and the corresponding IS and IEC prefixes.

Tests

npm test

Related information

License

MIT © 2023 Edwin Martin