mirror of
https://github.com/swc-project/swc.git
synced 2024-12-25 06:36:08 +03:00
16 lines
219 B
TypeScript
16 lines
219 B
TypeScript
|
|
|||
|
type S = "a" | "b";
|
|||
|
type T = S[] | S;
|
|||
|
|
|||
|
function isS(t: T): t is S {
|
|||
|
return t === "a" || t === "b";
|
|||
|
}
|
|||
|
|
|||
|
function f(foo: T) {
|
|||
|
if (isS(foo)) {
|
|||
|
return foo;
|
|||
|
}
|
|||
|
else {
|
|||
|
return foo[0];
|
|||
|
}
|
|||
|
}
|