123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- // Type definitions for filesize 8.0.3
- // Project: https://github.com/avoidwork/filesize.js, https://filesizejs.com
- // Definitions by: Giedrius Grabauskas <https://github.com/GiedriusGrabauskas>
- // Renaud Chaput <https://github.com/renchap>
- // Roman Nuritdinov <https://github.com/Ky6uk>
- // Sam Hulick <https://github.com/ffxsam>
- // Tomoto S. Washio <https://github.com/tomoto>
- declare var fileSize: Filesize.Filesize;
- export = fileSize;
- export as namespace filesize;
- declare namespace Filesize {
- interface SiJedecBits {
- b?: string;
- Kb?: string;
- Mb?: string;
- Gb?: string;
- Tb?: string;
- Pb?: string;
- Eb?: string;
- Zb?: string;
- Yb?: string;
- }
- interface SiJedecBytes {
- B?: string;
- KB?: string;
- MB?: string;
- GB?: string;
- TB?: string;
- PB?: string;
- EB?: string;
- ZB?: string;
- YB?: string;
- }
- type SiJedec = SiJedecBits & SiJedecBytes & { [name: string]: string };
- interface Options {
- /**
- * Number base, default is 10
- */
- base?: number;
- /**
- * Enables bit sizes, default is false
- */
- bits?: boolean;
- /**
- * Specifies the SI suffix via exponent, e.g. 2 is MB for bytes, default is -1
- */
- exponent?: number;
- /**
- * Enables full form of unit of measure, default is false
- */
- fullform?: boolean;
- /**
- * Array of full form overrides, default is []
- */
- fullforms?: string[];
- /**
- * BCP 47 language tag to specify a locale, or true to use default locale, default is ""
- */
- locale?: string | boolean;
- /**
- * ECMA-402 number format option overrides, default is "{}"
- */
- localeOptions?: Intl.NumberFormatOptions;
- /**
- * Output of function (array, exponent, object, or string), default is string
- */
- output?: "array" | "exponent" | "object" | "string";
- /**
- * Decimal place end padding, default is false
- */
- pad?: boolean;
- /**
- * Sets precision of numerical output, default is 0
- */
- precision?: number;
- /**
- * Decimal place, default is 2
- */
- round?: number;
- /**
- * Rounding method, can be round, floor, or ceil, default is round
- */
- roundingMethod?: "round" | "floor" | "ceil";
- /**
- * Decimal separator character, default is `.`
- */
- separator?: string;
- /**
- * Character between the result and suffix, default is ` `
- */
- spacer?: string;
- /**
- * Standard unit of measure, can be iec or jedec, default is iec; can be overruled by base
- */
- standard?: "iec" | "jedec";
- /**
- * Dictionary of SI/JEDEC symbols to replace for localization, defaults to english if no match is found
- */
- symbols?: SiJedec;
- /**
- * Enables unix style human readable output, e.g ls -lh, default is false
- */
- unix?: boolean;
- }
- // Result type inference from the output option
- interface ResultTypeMap {
- array: [number, string];
- exponent: number;
- object: {
- value: number,
- symbol: string,
- exponent: number,
- unit: string,
- };
- string: string;
- }
- type DefaultOutput<O extends Options> = Exclude<O["output"], keyof ResultTypeMap> extends never ? never : "string"
- type CanonicalOutput<O extends Options> = Extract<O["output"], keyof ResultTypeMap> | DefaultOutput<O>
- interface Filesize {
- (bytes: number): string;
- <O extends Options>(bytes: number, options: O): ResultTypeMap[CanonicalOutput<O>];
- partial: <O extends Options>(options: O) => ((bytes: number) => ResultTypeMap[CanonicalOutput<O>]);
- }
- }
|