У меня есть такой код:
type GA<s extends string> = { [name in s]: number };
type A = 'somePropName';
export const b: GA<A> = {
somePropName: 10,
};
const c = b.somePropName;
С типами все в порядке, c стал номером. Но, если мы попытаемся «Перейти к определению» на somePropName в vscode (или где-то еще) - это будет невозможно. Это странно, потому что есть ссылка от b.somePropName на somePropName в "b".
Как я могу реализовать ту же логику с работой "Перейти к определению"? Является ли это возможным? Какое ограничение?
Кстати, вы можете попробовать "Перейти к определению" на https://www.typescriptlang.org/play/index.html с тем же кодом. И это тоже не сработает, как в vscode. Таким образом, это не проблема vscode.
Вот ссылка на игровую площадку