47 lines
738 B
TypeScript
47 lines
738 B
TypeScript
type HEROES_KEYS =
|
|
| "ana"
|
|
| "ashe"
|
|
| "baptiste"
|
|
| "bastion"
|
|
| "brigitte"
|
|
| "cassidy"
|
|
| "dva"
|
|
| "doomfist"
|
|
| "echo"
|
|
| "genji"
|
|
| "hanzo"
|
|
| "junker-queen"
|
|
| "junkrat"
|
|
| "kiriko"
|
|
| "lucio"
|
|
| "mei"
|
|
| "mercy"
|
|
| "moira"
|
|
| "orisa"
|
|
| "pharah"
|
|
| "ramattra"
|
|
| "reaper"
|
|
| "reinhardt"
|
|
| "roadhog"
|
|
| "sigma"
|
|
| "sojourn"
|
|
| "soldier-76"
|
|
| "sombra"
|
|
| "symmetra"
|
|
| "torbjorn"
|
|
| "tracer"
|
|
| "widowmaker"
|
|
| "winston"
|
|
| "wrecking-ball"
|
|
| "zarya"
|
|
| "zenyatta";
|
|
|
|
type NEW_HEROES_KEYS<T extends string | number | symbol> = T extends HEROES_KEYS
|
|
? HEROES_KEYS
|
|
: T | HEROES_KEYS;
|
|
|
|
function fn<T extends string | number | symbol>(key: NEW_HEROES_KEYS<T>) {
|
|
console.log(key);
|
|
}
|
|
|
|
// fn('')
|