TypeScriptのEnum型のreverse mapをつくる
文字列のEnumのreverse mapping存在しないことが仕様なので、自分で作る必要がある
Keep in mind that string enum members do not get a reverse mapping generated at all.
charactorやnumberはいける
code:enum.ts
enum Enum {
A, // charactor enum
}
let a = Enum.A;
let nameOfA = Enuma; // "A" 文字列に対するreverse mappingをつくる
Mapオブジェクトででやるならこんな感じ?
code:ts
const createMap = (): Map<string, string> => {
const reverseMap = new Map<string, string>();
Object.entries(Enum).forEach(
reverseMap.set(value, key);
}
);
return reverseMap
}
keyof typeof
objectに対するreversemap