как переобразавать один интерфейс(или обект) в другой интерфейс
есть интерфейс
interface IName {
'name-a': string;
'name-b': string;
'name-c': string;
}
или обект
const name = {
'name-a': 'a',
'name-b': 'b',
'name-c': 'c',
};
нужно получить на его основе такой интерфейс
interface IRoot {
name: string;
}
нужно автаматически все это получить
типо IRoot<typeof name> либо IRoot<IName> и на выход получить то что на верху
суть в том что IName будет разростатся и он на основе css modules, то есть типы автаматически выводятся из того что в стилях.
руками писать 'name' не вариант
Источник: Stack Overflow на русском
