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
|
=== tests/cases/compiler/excessPropertyCheckWithNestedArrayIntersection.ts ===
interface ValueOnlyFields {
fields: Array<{
>fields : { value: number | null; }[]
value: number | null;
>value : number
>null : null
}>;
}
interface ValueAndKeyFields {
fields: Array<{
>fields : { key: string | null; value: number | null; }[]
key: string | null;
>key : string
>null : null
value: number | null;
>value : number
>null : null
}>;
}
interface BugRepro {
dataType: ValueAndKeyFields & ValueOnlyFields;
>dataType : ValueAndKeyFields & ValueOnlyFields
}
const repro: BugRepro = {
>repro : BugRepro
>{ dataType: { fields: [{ key: 'bla', // should be OK: Not excess value: null, }], }} : { dataType: { fields: { key: string; value: null; }[]; }; }
dataType: {
>dataType : { fields: { key: string; value: null; }[]; }
>{ fields: [{ key: 'bla', // should be OK: Not excess value: null, }], } : { fields: { key: string; value: null; }[]; }
fields: [{
>fields : { key: string; value: null; }[]
>[{ key: 'bla', // should be OK: Not excess value: null, }] : { key: string; value: null; }[]
>{ key: 'bla', // should be OK: Not excess value: null, } : { key: string; value: null; }
key: 'bla', // should be OK: Not excess
>key : string
>'bla' : "bla"
value: null,
>value : null
>null : null
}],
}
}
|