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
|
=== tests/cases/compiler/objectInstantiationFromUnionSpread.ts ===
// #40995
interface Success {
isSuccess: true;
>isSuccess : true
>true : true
}
interface Fail {
isSuccess: false;
>isSuccess : false
>false : false
}
type Item = Success | Fail;
>Item : Success | Fail
function f1(a: Item[]) {
>f1 : (a: Item[]) => void
>a : Item[]
a.map(item => ({ ...item })).filter(value => {});
>a.map(item => ({ ...item })).filter(value => {}) : ({ isSuccess: true; } | { isSuccess: false; })[]
>a.map(item => ({ ...item })).filter : { <S extends { isSuccess: true; } | { isSuccess: false; }>(predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => value is S, thisArg?: any): S[]; (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => unknown, thisArg?: any): ({ isSuccess: true; } | { isSuccess: false; })[]; }
>a.map(item => ({ ...item })) : ({ isSuccess: true; } | { isSuccess: false; })[]
>a.map : <U>(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any) => U[]
>a : Item[]
>map : <U>(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any) => U[]
>item => ({ ...item }) : (item: Item) => { isSuccess: true; } | { isSuccess: false; }
>item : Item
>({ ...item }) : { isSuccess: true; } | { isSuccess: false; }
>{ ...item } : { isSuccess: true; } | { isSuccess: false; }
>item : Item
>filter : { <S extends { isSuccess: true; } | { isSuccess: false; }>(predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => value is S, thisArg?: any): S[]; (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => unknown, thisArg?: any): ({ isSuccess: true; } | { isSuccess: false; })[]; }
>value => {} : (value: { isSuccess: true; } | { isSuccess: false; }) => void
>value : { isSuccess: true; } | { isSuccess: false; }
}
function f2<T>(a: Item[]) {
>f2 : <T>(a: Item[]) => void
>a : Item[]
a.map(item => ({ ...item })).filter(value => {});
>a.map(item => ({ ...item })).filter(value => {}) : ({ isSuccess: true; } | { isSuccess: false; })[]
>a.map(item => ({ ...item })).filter : { <S extends { isSuccess: true; } | { isSuccess: false; }>(predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => value is S, thisArg?: any): S[]; (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => unknown, thisArg?: any): ({ isSuccess: true; } | { isSuccess: false; })[]; }
>a.map(item => ({ ...item })) : ({ isSuccess: true; } | { isSuccess: false; })[]
>a.map : <U>(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any) => U[]
>a : Item[]
>map : <U>(callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any) => U[]
>item => ({ ...item }) : (item: Item) => { isSuccess: true; } | { isSuccess: false; }
>item : Item
>({ ...item }) : { isSuccess: true; } | { isSuccess: false; }
>{ ...item } : { isSuccess: true; } | { isSuccess: false; }
>item : Item
>filter : { <S extends { isSuccess: true; } | { isSuccess: false; }>(predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => value is S, thisArg?: any): S[]; (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => unknown, thisArg?: any): ({ isSuccess: true; } | { isSuccess: false; })[]; }
>value => {} : (value: { isSuccess: true; } | { isSuccess: false; }) => void
>value : { isSuccess: true; } | { isSuccess: false; }
}
|