| [9af201e] | 1 | # filesize.js
|
|---|
| 2 |
|
|---|
| 3 | [](http://travis-ci.org/avoidwork/filesize.js) [](https://www.npmjs.com/package/filesize) [](https://cdnjs.com/libraries/filesize)
|
|---|
| 4 |
|
|---|
| 5 | filesize.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
|
|---|
| 65 | filesize(500); // "500 B"
|
|---|
| 66 | filesize(500, {bits: true}); // "4 kbit"
|
|---|
| 67 | filesize(265318, {base: 2}); // "259.1 KiB"
|
|---|
| 68 | filesize(265318); // "265.32 kB"
|
|---|
| 69 | filesize(265318, {round: 0}); // "265 kB"
|
|---|
| 70 | filesize(265318, {output: "array"}); // [265.32, "kB"]
|
|---|
| 71 | filesize(265318, {output: "object"}); // {value: 265.32, symbol: "kB", exponent: 1, unit: "kB"}
|
|---|
| 72 | filesize(1, {symbols: {B: "Б"}}); // "1 Б"
|
|---|
| 73 | filesize(1024); // "1.02 kB"
|
|---|
| 74 | filesize(1024, {exponent: 0}); // "1024 B"
|
|---|
| 75 | filesize(1024, {output: "exponent"}); // 1
|
|---|
| 76 | filesize(265318, {standard: "jedec"}); // "259.1 KB"
|
|---|
| 77 | filesize(265318, {base: 2, fullform: true}); // "259.1 kibibytes"
|
|---|
| 78 | filesize(12, {fullform: true, fullforms: ["байтов"]}); // "12 байтов"
|
|---|
| 79 | filesize(265318, {separator: ","}); // "265,32 kB"
|
|---|
| 80 | filesize(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
|
|---|
| 85 | upon execution. This can be used to reduce `Object` creation if you call `filesize()` without caching the `descriptor`
|
|---|
| 86 | in lexical scope.
|
|---|
| 87 |
|
|---|
| 88 | ```javascript
|
|---|
| 89 | const size = filesize.partial({base: 2, standard: "jedec"});
|
|---|
| 90 |
|
|---|
| 91 | size(265318); // "259.1 KB"
|
|---|
| 92 | ```
|
|---|
| 93 |
|
|---|
| 94 | ## How can I load filesize.js?
|
|---|
| 95 | filesize.js supports AMD loaders (require.js, curl.js, etc.), node.js & npm (```npm install filesize```), or using a script tag.
|
|---|
| 96 |
|
|---|
| 97 | An 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
|
|---|
| 100 | Copyright (c) 2022 Jason Mulligan
|
|---|
| 101 | Licensed under the BSD-3 license.
|
|---|