File: deleteExpressionMustBeOptional%28strict%3Dtrue%29.errors.txt

package info (click to toggle)
node-typescript 5.0.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 459,140 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (53 lines) | stat: -rw-r--r-- 1,425 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
tests/cases/compiler/deleteExpressionMustBeOptional.ts(25,8): error TS2790: The operand of a 'delete' operator must be optional.
tests/cases/compiler/deleteExpressionMustBeOptional.ts(27,8): error TS2790: The operand of a 'delete' operator must be optional.
tests/cases/compiler/deleteExpressionMustBeOptional.ts(34,10): error TS2339: Property 'j' does not exist on type 'Foo'.


==== tests/cases/compiler/deleteExpressionMustBeOptional.ts (3 errors) ====
    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 a: AA
    declare const b: BB
    
    delete f.a
           ~~~
!!! error TS2790: The operand of a 'delete' operator must be optional.
    delete f.b
    delete f.c
           ~~~
!!! error TS2790: The operand of a 'delete' operator must be optional.
    delete f.d
    delete f.e
    delete f.f
    delete f.g
    delete f.h
    delete f.i
    delete f.j
             ~
!!! error TS2339: Property 'j' does not exist on type 'Foo'.
    
    delete a.a
    delete a.b
    
    delete b.a
    delete b.b