Я пытаюсь извлечь общий строковый литерал типа, но вывод из машинного текста возвращает вместо него только строку типа.
Таким образом, технически, когда тип строкового литерала передан функции, мы больше не можем его извлекать.
type Key<T extends string> = { key: T };
declare function getKey<T extends string>(key: T): Key<T>;
let someKey = getKey('check');
declare function updateWithKey<T, K extends string>(key: T): T extends Key<K> ? K : never;
let someUpdatedKey = updateWithKey(someKey); // Shouldn't be 'check'?
Вот код в Детская площадка