prettier/tests/flow/union_new/test22.js

22 lines
292 B
JavaScript

// @noflow
// refinement of disjoint unions
type Empty = { }
type Success = {
type: 'SUCCESS';
result: string;
};
type Error = {
type: 'ERROR';
} & Empty;
export type T = Success | Error;
function foo(x: T) {
if (x.type === 'SUCCESS') return x.result;
else return x.result;
}