File: excessPropertyCheckWithNestedArrayIntersection.types

package info (click to toggle)
node-typescript 4.9.5%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 533,908 kB
  • sloc: javascript: 2,018,330; makefile: 7; sh: 1
file content (54 lines) | stat: -rw-r--r-- 1,471 bytes parent folder | download | duplicates (4)
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

    }],
  }
}