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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
=== tests/cases/conformance/types/spread/objectSpreadStrictNull.ts ===
function f(
>f : (definiteBoolean: { sn: boolean; }, definiteString: { sn: string; }, optionalString: { sn?: string | undefined; }, optionalNumber: { sn?: number | undefined; }, undefinedString: { sn: string | undefined; }, undefinedNumber: { sn: number | undefined; }) => void
definiteBoolean: { sn: boolean },
>definiteBoolean : { sn: boolean; }
>sn : boolean
definiteString: { sn: string },
>definiteString : { sn: string; }
>sn : string
optionalString: { sn?: string },
>optionalString : { sn?: string | undefined; }
>sn : string | undefined
optionalNumber: { sn?: number },
>optionalNumber : { sn?: number | undefined; }
>sn : number | undefined
undefinedString: { sn: string | undefined },
>undefinedString : { sn: string | undefined; }
>sn : string | undefined
undefinedNumber: { sn: number | undefined }) {
>undefinedNumber : { sn: number | undefined; }
>sn : number | undefined
// optional
let optionalUnionStops: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...optionalNumber };
>optionalUnionStops : { sn: string | number; }
>sn : string | number
>{ ...definiteBoolean, ...definiteString, ...optionalNumber } : { sn: string | number; }
>definiteBoolean : { sn: boolean; }
>definiteString : { sn: string; }
>optionalNumber : { sn?: number | undefined; }
let optionalUnionDuplicates: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...optionalString, ...optionalNumber };
>optionalUnionDuplicates : { sn: string | number; }
>sn : string | number
>{ ...definiteBoolean, ...definiteString, ...optionalString, ...optionalNumber } : { sn: string | number; }
>definiteBoolean : { sn: boolean; }
>definiteString : { sn: string; }
>optionalString : { sn?: string | undefined; }
>optionalNumber : { sn?: number | undefined; }
let allOptional: { sn?: string | number } = { ...optionalString, ...optionalNumber };
>allOptional : { sn?: string | number | undefined; }
>sn : string | number | undefined
>{ ...optionalString, ...optionalNumber } : { sn?: string | number | undefined; }
>optionalString : { sn?: string | undefined; }
>optionalNumber : { sn?: number | undefined; }
// undefined
let undefinedUnionStops: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...undefinedNumber };
>undefinedUnionStops : { sn: string | number; }
>sn : string | number
>{ ...definiteBoolean, ...definiteString, ...undefinedNumber } : { sn: string | number; }
>definiteBoolean : { sn: boolean; }
>definiteString : { sn: string; }
>undefinedNumber : { sn: number | undefined; }
let undefinedUnionDuplicates: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...undefinedString, ...undefinedNumber };
>undefinedUnionDuplicates : { sn: string | number; }
>sn : string | number
>{ ...definiteBoolean, ...definiteString, ...undefinedString, ...undefinedNumber } : { sn: string | number; }
>definiteBoolean : { sn: boolean; }
>definiteString : { sn: string; }
>undefinedString : { sn: string | undefined; }
>undefinedNumber : { sn: number | undefined; }
let allUndefined: { sn: string | number | undefined } = { ...undefinedString, ...undefinedNumber };
>allUndefined : { sn: string | number | undefined; }
>sn : string | number | undefined
>{ ...undefinedString, ...undefinedNumber } : { sn: string | number | undefined; }
>undefinedString : { sn: string | undefined; }
>undefinedNumber : { sn: number | undefined; }
let undefinedWithOptionalContinues: { sn: string | number | boolean } = { ...definiteBoolean, ...undefinedString, ...optionalNumber };
>undefinedWithOptionalContinues : { sn: string | number | boolean; }
>sn : string | number | boolean
>{ ...definiteBoolean, ...undefinedString, ...optionalNumber } : { sn: string | number | boolean; }
>definiteBoolean : { sn: boolean; }
>undefinedString : { sn: string | undefined; }
>optionalNumber : { sn?: number | undefined; }
}
|