File: discriminateWithMissingProperty.errors.txt

package info (click to toggle)
node-typescript 5.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 497,488 kB
  • sloc: javascript: 2,107,274; makefile: 6; sh: 1
file content (22 lines) | stat: -rw-r--r-- 954 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
discriminateWithMissingProperty.ts(12,5): error TS2345: Argument of type '{ mode: "numeric"; data: Uint8Array; }' is not assignable to parameter of type 'Arg'.
  Types of property 'data' are incompatible.
    Type 'Uint8Array' is not assignable to type 'number'.


==== discriminateWithMissingProperty.ts (1 errors) ====
    type Arg = {
        mode: "numeric",
        data: number,
    } | {
        mode: "alphabetic",
        data: string,
    } | {
        data: string | Uint8Array;
    }
    
    declare function foo(arg: Arg): void;
    foo({ mode: "numeric", data: new Uint8Array([30]) }); // Should error
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2345: Argument of type '{ mode: "numeric"; data: Uint8Array; }' is not assignable to parameter of type 'Arg'.
!!! error TS2345:   Types of property 'data' are incompatible.
!!! error TS2345:     Type 'Uint8Array' is not assignable to type 'number'.