在typescript中,给定一个记录文字,我如何切换键和值?即:
type Foo = { x: "a", y: "b", z: "c" };
我希望能够写type Flip<X>,这样:
type Flip<X>
type Bar = Flip<Foo>; // should be { a: "x", b: "y", c: "z" };
这纯粹是在类型上玩游戏--而不是在运行时值上。
hgc7kmma1#
这可以通过使用键重Map来完成。
type Flip<T extends Record<any,any>> = { [K in keyof T as T[K]]: K }
1条答案
按热度按时间hgc7kmma1#
这可以通过使用键重Map来完成。