1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
=== tests/cases/conformance/types/union/unionTypeCallSignatures3.ts ===
function f1(s: string) { }
>f1 : (s: string) => void
>s : string
function f2(s?: string) { }
>f2 : (s?: string) => void
>s : string
function f3(...s: string[]) { }
>f3 : (...s: string[]) => void
>s : string[]
function f4(s: string, s2?: string) { }
>f4 : (s: string, s2?: string) => void
>s : string
>s2 : string
function f5(s?: string, n?: number) { }
>f5 : (s?: string, n?: number) => void
>s : string
>n : number
function f6(s?: string, ...n: number[]) { }
>f6 : (s?: string, ...n: number[]) => void
>s : string
>n : number[]
function f7(s: string, ...sRest: string[]) { }
>f7 : (s: string, ...sRest: string[]) => void
>s : string
>sRest : string[]
var fUnion: typeof f1 | typeof f2 | typeof f3 | typeof f4 | typeof f5 | typeof f6 | typeof f7;
>fUnion : ((s: string) => void) | ((s?: string) => void) | ((...s: string[]) => void) | ((s: string, s2?: string) => void) | ((s?: string, n?: number) => void) | ((s?: string, ...n: number[]) => void) | ((s: string, ...sRest: string[]) => void)
>f1 : (s: string) => void
>f2 : (s?: string) => void
>f3 : (...s: string[]) => void
>f4 : (s: string, s2?: string) => void
>f5 : (s?: string, n?: number) => void
>f6 : (s?: string, ...n: number[]) => void
>f7 : (s: string, ...sRest: string[]) => void
fUnion(""); // All constituents can be called by passing a single string.
>fUnion("") : void
>fUnion : ((s: string) => void) | ((s?: string) => void) | ((...s: string[]) => void) | ((s: string, s2?: string) => void) | ((s?: string, n?: number) => void) | ((s?: string, ...n: number[]) => void) | ((s: string, ...sRest: string[]) => void)
>"" : ""
|