ReplaceKeys medium #object-keys

by 贱贱 @lullabyjune

Take the Challenge    한국어

Implement a type ReplaceKeys, that replace keys in union types, if some type has not this key, just skip replacing, A type takes three arguments. For example: ```ts type NodeA = { type: "A" name: string flag: number } type NodeB = { type: "B" id: number flag: number } type NodeC = { type: "C" name: string flag: number } type Nodes = NodeA | NodeB | NodeC type ReplacedNodes = ReplaceKeys< Nodes, "name" | "flag", { name: number; flag: string } > // {type: 'A', name: number, flag: string} | {type: 'B', id: number, flag: string} | {type: 'C', name: number, flag: string} // would replace name from string to number, replace flag from number to string. type ReplacedNotExistKeys = ReplaceKeys // {type: 'A', name: never, flag: number} | NodeB | {type: 'C', name: never, flag: number} // would replace name to never ```
Back Share your Solutions Check out Solutions