File: deleteExpressionMustBeOptional_exactOptionalPropertyTypes.ts

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

interface Foo {
    a: number
    b: number | undefined
    c: number | null
    d?: number
    e: number | undefined | null
    f?: number | undefined | null
    g: unknown
    h: any
    i: never
}

interface AA {
    [s: string]: number
}

type BB = {
    [P in keyof any]: number
}

declare const f: Foo
declare const g: Partial<Foo>
declare const a: AA
declare const b: BB

delete f.a
delete f.b
delete f.c
delete f.d
delete f.e
delete f.f
delete f.g
delete f.h
delete f.i
delete f.j

delete g.a
delete g.b
delete g.c
delete g.d
delete g.e
delete g.f
delete g.g
delete g.h
delete g.i
delete g.j

delete a.a
delete a.b

delete b.a
delete b.b