@@ -41,14 +41,16 @@ interface FileSizeReturnObject {
4141
4242type FileSizeReturnArray = [ number , string ]
4343
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