Я хочу получить данные, которые будут выглядеть следующим образом
paymentProviderByCountry = {
England: worldPay,
Spain: worldPay
}
Как создать интерфейс для paymentProviderByCountryObj
, который объединяет paymentProvidersList
и countryList
в желаемом динамическом формате.
Я думаю, что я ищу, как я могу рекурсивно создать объект
enum paymentProvidersList {
WorldPay,
Paypal,
}
enum countryListEnum {
England,
France,
Spain,
}
type T0 = { [key in paymentProvidersList]: string }; // This would work
/*
I want the values on paymentProviderByCountryObj to be dynamic based on the
enum values so that i can have an object that looks like this
paymentProviderByCountry = {
England: WorldPay,
Spain: Paypal,
France: WorldPay
}
*/
interface paymentProviderByCountryObj {
// This is the complex case, i cant get the index of the class to be dynamic and also its value
[key in countryListEnum] :string : { [key in paymentProvidersList]: string };
}
export interface sysConfigInterface {
paymentProviders: paymentProvidersList,
paymentProviderByCountry: paymentProviderByCountryObj,
minPaymentThreshold: String,
}
Пример ссылки