私は現在、Google Closure CompilerとFlow静的型チェッカーの表現力を比較しています。後者について私が気に入っているのは、タグ付けされた共用体を非常にうまく表現できるようだということです。マニュアルには、次の例が示されています。
type Result = Done | Error; // a disjoint union type with two cases
type Done = { status: 'done', answer: Matrix };
type Error = { status: 'error', message: string };
Closure Compiler を使用してこのようなことを行う方法はありますか? これは、オブジェクトの特定のプロパティを特定のタイプにするだけでなく、固定値を持つようにする何らかの方法を意味しますか? そして、その値を型推論に使用して、ユニオン内のさまざまなオプションを区別するには? この趣旨の文書は見つかりませんでした。