TypeScript/tests/baselines/reference/spreadUnion2.types
Nathan Shively-Sanders cb8d9d6143 Revert spread-falsy-union/fix spread of primitive
Turns out partialising falsy unions wasn't needed -- I was just
returning the wrong thing when spreading primitives.
2017-09-15 16:11:41 -07:00

69 lines
2.1 KiB
Plaintext

=== tests/cases/conformance/types/spread/spreadUnion2.ts ===
declare const undefinedUnion: { a: number } | undefined;
>undefinedUnion : { a: number; } | undefined
>a : number
declare const nullUnion: { b: number } | null;
>nullUnion : { b: number; } | null
>b : number
>null : null
var o1: {} | { a: number };
>o1 : {} | { a: number; }
>a : number
var o1 = { ...undefinedUnion };
>o1 : {} | { a: number; }
>{ ...undefinedUnion } : {} | { a: number; }
>undefinedUnion : { a: number; } | undefined
var o2: {} | { b: number };
>o2 : {} | { b: number; }
>b : number
var o2 = { ...nullUnion };
>o2 : {} | { b: number; }
>{ ...nullUnion } : {} | { b: number; }
>nullUnion : { b: number; } | null
var o3: {} | { a: number } | { b: number } | { a: number, b: number };
>o3 : {} | { a: number; } | { b: number; } | { a: number; b: number; }
>a : number
>b : number
>a : number
>b : number
var o3 = { ...undefinedUnion, ...nullUnion };
>o3 : {} | { a: number; } | { b: number; } | { a: number; b: number; }
>{ ...undefinedUnion, ...nullUnion } : {} | { b: number; } | { a: number; } | { b: number; a: number; }
>undefinedUnion : { a: number; } | undefined
>nullUnion : { b: number; } | null
var o3 = { ...nullUnion, ...undefinedUnion };
>o3 : {} | { a: number; } | { b: number; } | { a: number; b: number; }
>{ ...nullUnion, ...undefinedUnion } : {} | { a: number; } | { b: number; } | { a: number; b: number; }
>nullUnion : { b: number; } | null
>undefinedUnion : { a: number; } | undefined
var o4: {} | { a: number };
>o4 : {} | { a: number; }
>a : number
var o4 = { ...undefinedUnion, ...undefinedUnion };
>o4 : {} | { a: number; }
>{ ...undefinedUnion, ...undefinedUnion } : {} | { a: number; } | { a: number; } | { a: number; }
>undefinedUnion : { a: number; } | undefined
>undefinedUnion : { a: number; } | undefined
var o5: {} | { b: number };
>o5 : {} | { b: number; }
>b : number
var o5 = { ...nullUnion, ...nullUnion };
>o5 : {} | { b: number; }
>{ ...nullUnion, ...nullUnion } : {} | { b: number; } | { b: number; } | { b: number; }
>nullUnion : { b: number; } | null
>nullUnion : { b: number; } | null