https://github.com/rferro/normat
Generic javascript number/string formatting (bytes, milliseconds, ...).
https://github.com/rferro/normat
bytes coffeescript milliseconds nodejs
Last synced: 6 months ago
JSON representation
Generic javascript number/string formatting (bytes, milliseconds, ...).
- Host: GitHub
- URL: https://github.com/rferro/normat
- Owner: rferro
- License: mit
- Created: 2014-08-28T19:42:43.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2019-12-28T05:00:44.000Z (almost 6 years ago)
- Last Synced: 2025-03-19T06:56:06.519Z (7 months ago)
- Topics: bytes, coffeescript, milliseconds, nodejs
- Language: CoffeeScript
- Homepage: http://rferro.github.io/normat
- Size: 750 KB
- Stars: 34
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: History.md
Awesome Lists containing this project
README
# normat
generic javascript number/string formatting (bytes, milliseconds...)
[](https://nodei.co/npm/normat/)
## Install
```shell
npm install normat
```or
```shell
bower install normat
```## Examples
```js
var normat = require("normat")
var ms = normat.ms;
var b = normat.b;
```
```js
// milliseconds parserms(123); // 123ms
ms(1000); // 1s
ms(10000); // 10s
ms(1000 * 60 * 60 * 12); // 12h
ms(1000 * 60 * 60 * 24 * 1500); // 4y
```
```js
// bytes parserb(123); // 123b
b(1024); // 1kb
b(10240); // 10kb
b(100000); // 97kb
b(123123124); // 117mb
b(1231423525142134); // 1119tb
```
```js
// seconds parsernormat.s()
```
```js
// minutes parsernormat.m()
```
```js
// kbytes parsernormat.kb()
```## Create new parsers
```js
var normat = require("normat");var my_parser = normat([
['u', 10],
['d', 10],
['c', 10],
['m', 1000],
['mi', 1000],
['b', 1000],
['t']
]);my_parser(1); // 1u
my_parser(10); // 1d
my_parser(100); // 1c
my_parser(1000); // 1m
my_parser(1000000); // 1mi
my_parser(2000000); // 2mi
my_parser(10000000); // 10mi
my_parser(100000000); // 100mi
my_parser(9900000000); // 9b
my_parser(19000000000); // 19b
```
```js
// bytesb = normat ([
['b', 1024]
['kb', 1024]
['mb', 1024]
['gb', 1024]
['tb']
]);
```
```js
// millisecondsms = normat([
['ms', 1000]
['s', 60]
['m', 60]
['h', 24]
['d', 365]
['y']
]);
```## Reverse Mode
```js
var normat = require("normat");var my_parser = normat([
['u', 10],
['d', 10],
['c', 10],
['m', 1000],
['mi', 1000],
['b', 1000],
['t']
]);my_parser('1u'); // 1
my_parser('1d'); // 10
my_parser('1c'); // 100
my_parser('1m'); // 1000
my_parser('1mi'); // 1000000
```## Tests
```shell
gulp test
```## License
MIT