File: typePredicatesInUnion.types

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (32 lines) | stat: -rw-r--r-- 583 bytes parent folder | download | duplicates (2)
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
=== tests/cases/compiler/typePredicatesInUnion.ts ===
interface A {
    pred(x: {}): x is boolean;
>pred : (x: {}) => x is boolean
>x : {}
}
interface B {
    pred(x: {}): x is string;
>pred : (x: {}) => x is string
>x : {}
}

type Or = A | B;
>Or : Or

function f(o: Or, x: {}) {
>f : (o: Or, x: {}) => void
>o : Or
>x : {}

    if (o.pred(x)) {
>o.pred(x) : boolean
>o.pred : ((x: {}) => x is boolean) | ((x: {}) => x is string)
>o : Or
>pred : ((x: {}) => x is boolean) | ((x: {}) => x is string)
>x : {}

        x;
>x : string | boolean
    }
}