Get type by string

admin

typescript

Типизация возвращаемого значения функции в зависимости от принятой строки в качестве параметра:
другие самплы
type Types = {
    str: string,
    num: number
}

export type Some<T extends keyof Types> = Types[T]

function func<T extends keyof Types>(arg: T): Some<T> {
    return 2 as Some<T>
}

let n = func('num')  // `n` is number now

let s = func('str')  // `s` is string now





// export type Some<T extends 'str' | 'num'> = T extends 'str' ? string : number

// export type Some<T extends keyof Types> = T extends 'str' ? string : number
(ваш голос учтен)

Прикрепить файл