UNPKG

4.26 kBMarkdownView Raw
1# filesize.js
2
3[![build status](https://secure.travis-ci.org/avoidwork/filesize.js.svg)](http://travis-ci.org/avoidwork/filesize.js) [![downloads](https://img.shields.io/npm/dt/filesize.svg)](https://www.npmjs.com/package/filesize) [![CDNJS version](https://img.shields.io/cdnjs/v/filesize.svg)](https://cdnjs.com/libraries/filesize)
4
5filesize.js provides a simple way to get a human readable file size string from a number (float or integer) or string.
6
7## Optional settings
8
9`filesize()` accepts an optional descriptor Object as a second argument, so you can customize the output.
10
11### base
12_*(number)*_ Number base, default is `10`
13
14### bits
15_*(boolean)*_ Enables `bit` sizes, default is `false`
16
17### exponent
18_*(number)*_ Specifies the symbol via exponent, e.g. `2` is `MB` for base 2, default is `-1`
19
20### fullform
21_*(boolean)*_ Enables full form of unit of measure, default is `false`
22
23### fullforms
24_*(array)*_ Array of full form overrides, default is `[]`
25
26### locale (overrides 'separator')
27_*(string || boolean)*_ BCP 47 language tag to specify a locale, or `true` to use default locale, default is `""`
28
29### localeOptions (overrides 'separator', requires string for 'locale' option)
30_*(object)*_ Dictionary of options defined by ECMA-402 ([Number.prototype.toLocaleString](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString)). Requires locale option to be explicitly passed as a string, otherwise is ignored.
31
32### output
33_*(string)*_ Output of function (`array`, `exponent`, `object`, or `string`), default is `string`
34
35### pad
36_*(boolean)*_ Decimal place end padding, default is `false`
37
38### precision
39_*(number)*_ Sets precision of numerical output, default is `0`
40
41### round
42_*(number)*_ Decimal place, default is `2`
43
44### roundingMethod
45_*(string)*_ Rounding method, can be `round`, `floor`, or `ceil`, default is `round`
46
47### separator
48_*(string)*_ Decimal separator character, default is `.`
49
50### spacer
51_*(string)*_ Character between the `result` and `symbol`, default is `" "`
52
53### standard
54_*(string)*_ Standard unit of measure, can be `iec` or `jedec`, default is `iec`; can be overruled by `base`
55
56### symbols
57_*(object)*_ Dictionary of IEC/JEDEC symbols to replace for localization, defaults to english if no match is found
58
59### unix
60_*(boolean)*_ Enables unix style human readable output, e.g `ls -lh`, default is `false`
61
62## Examples
63
64```javascript
65filesize(500); // "500 B"
66filesize(500, {bits: true}); // "4 kbit"
67filesize(265318, {base: 2}); // "259.1 KiB"
68filesize(265318); // "265.32 kB"
69filesize(265318, {round: 0}); // "265 kB"
70filesize(265318, {output: "array"}); // [265.32, "kB"]
71filesize(265318, {output: "object"}); // {value: 265.32, symbol: "kB", exponent: 1, unit: "kB"}
72filesize(1, {symbols: {B: "Б"}}); // "1 Б"
73filesize(1024); // "1.02 kB"
74filesize(1024, {exponent: 0}); // "1024 B"
75filesize(1024, {output: "exponent"}); // 1
76filesize(265318, {standard: "jedec"}); // "259.1 KB"
77filesize(265318, {base: 2, fullform: true}); // "259.1 kibibytes"
78filesize(12, {fullform: true, fullforms: ["байтов"]}); // "12 байтов"
79filesize(265318, {separator: ","}); // "265,32 kB"
80filesize(265318, {locale: "de"}); // "265,32 kB"
81```
82
83## Partial Application
84`filesize.partial()` takes the second parameter of `filesize()` and returns a new function with the configuration applied
85upon execution. This can be used to reduce `Object` creation if you call `filesize()` without caching the `descriptor`
86in lexical scope.
87
88```javascript
89const size = filesize.partial({base: 2, standard: "jedec"});
90
91size(265318); // "259.1 KB"
92```
93
94## How can I load filesize.js?
95filesize.js supports AMD loaders (require.js, curl.js, etc.), node.js & npm (```npm install filesize```), or using a script tag.
96
97An ES6 version is bundled with an npm install, but requires you load it with the full path, e.g. `require(path.join(__dirname, 'node_modules', 'filesize', 'lib', 'filesize.es6.js'))`.
98
99## License
100Copyright (c) 2021 Jason Mulligan
101Licensed under the BSD-3 license.
102
\No newline at end of file