UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【TypeScript】Flowの$Valuesの作り方

FlowからTypeScriptに乗り換えていて

その際に、Flowで$ValuesはTypeScriptでどうやるのかを調べた

調べた限りではAPIはなく、自作すると以下のようにすると同じようなことができる

type $Values<O extends object> = O[keyof O];

const obj = {
  EN: 'en',
  JA: 'ja',
} as const;
  
type vals = $Values<typeof obj>; // vals === 'ja' | 'en';