@@ -41,14 +41,16 @@ interface FileSizeReturnObject {
41
41
42
42
type FileSizeReturnArray = [ number , string ]
43
43
44
- export function filesize ( byteCount : number , options : FileSizeOptionsString | FileSizeOptionsBase ) : string
45
- export function filesize ( byteCount : number , options : FileSizeOptionsArray ) : FileSizeReturnArray
46
- export function filesize ( byteCount : number , options : FileSizeOptionsExponent ) : number
47
- export function filesize ( byteCount : number , options : FileSizeOptionsObject ) : FileSizeReturnObject
48
- export function filesize ( byteCount : number ) : string
49
-
50
- export function partial ( options : FileSizeOptionsString | FileSizeOptionsBase ) : ( byteCount : number ) => string
51
- export function partial ( options : FileSizeOptionsArray ) : ( byteCount : number ) => FileSizeReturnArray
52
- export function partial ( options : FileSizeOptionsExponent ) : ( byteCount : number ) => number
53
- export function partial ( options : FileSizeOptionsObject ) : ( byteCount : number ) => FileSizeReturnObject
54
- export function partial ( ) : ( byteCount : number ) => string
44
+ type FileSizeOptionStringOrBase = FileSizeOptionsString | FileSizeOptionsBase ;
45
+ type FileSizeOptions = FileSizeOptionsArray | FileSizeOptionsExponent | FileSizeOptionsObject | FileSizeOptionStringOrBase | undefined
46
+ type FileSizeReturnType < Options extends FileSizeOptions > =
47
+ Options extends FileSizeOptionsArray
48
+ ? FileSizeReturnArray
49
+ : Options extends FileSizeOptionsExponent
50
+ ? number
51
+ : Options extends FileSizeOptionsObject
52
+ ? FileSizeReturnObject
53
+ : string ;
54
+
55
+ export function filesize < Options extends FileSizeOptions = undefined > ( byteCount : number , options ?: Options ) : FileSizeReturnType < Options >
56
+ export function partial < Options extends FileSizeOptions = undefined > ( byteCount : number , options ?: Options ) : FileSizeReturnType < Options >
0 commit comments