43 lines
1.7 KiB
Plaintext
43 lines
1.7 KiB
Plaintext
=== tests/cases/conformance/types/union/discriminatedUnionTypes3.ts ===
|
|
// Repro from #44435
|
|
|
|
type Correct = {
|
|
>Correct : Symbol(Correct, Decl(discriminatedUnionTypes3.ts, 0, 0))
|
|
|
|
code: string
|
|
>code : Symbol(code, Decl(discriminatedUnionTypes3.ts, 2, 16))
|
|
|
|
property: true
|
|
>property : Symbol(property, Decl(discriminatedUnionTypes3.ts, 3, 13))
|
|
|
|
err: undefined
|
|
>err : Symbol(err, Decl(discriminatedUnionTypes3.ts, 4, 15))
|
|
}
|
|
type Err = {
|
|
>Err : Symbol(Err, Decl(discriminatedUnionTypes3.ts, 6, 1))
|
|
|
|
err: `${string} is wrong!`
|
|
>err : Symbol(err, Decl(discriminatedUnionTypes3.ts, 7, 12))
|
|
}
|
|
type SomeReturnType = Correct | Err;
|
|
>SomeReturnType : Symbol(SomeReturnType, Decl(discriminatedUnionTypes3.ts, 9, 1))
|
|
>Correct : Symbol(Correct, Decl(discriminatedUnionTypes3.ts, 0, 0))
|
|
>Err : Symbol(Err, Decl(discriminatedUnionTypes3.ts, 6, 1))
|
|
|
|
const example: SomeReturnType = {} as SomeReturnType;
|
|
>example : Symbol(example, Decl(discriminatedUnionTypes3.ts, 12, 5))
|
|
>SomeReturnType : Symbol(SomeReturnType, Decl(discriminatedUnionTypes3.ts, 9, 1))
|
|
>SomeReturnType : Symbol(SomeReturnType, Decl(discriminatedUnionTypes3.ts, 9, 1))
|
|
|
|
if (example.err === undefined) {
|
|
>example.err : Symbol(err, Decl(discriminatedUnionTypes3.ts, 4, 15), Decl(discriminatedUnionTypes3.ts, 7, 12))
|
|
>example : Symbol(example, Decl(discriminatedUnionTypes3.ts, 12, 5))
|
|
>err : Symbol(err, Decl(discriminatedUnionTypes3.ts, 4, 15), Decl(discriminatedUnionTypes3.ts, 7, 12))
|
|
>undefined : Symbol(undefined)
|
|
|
|
example.property; // true
|
|
>example.property : Symbol(property, Decl(discriminatedUnionTypes3.ts, 3, 13))
|
|
>example : Symbol(example, Decl(discriminatedUnionTypes3.ts, 12, 5))
|
|
>property : Symbol(property, Decl(discriminatedUnionTypes3.ts, 3, 13))
|
|
}
|