Функция ввода машинописного текста с двумя параметрами, один из которых является ключевым в другом

Данный:

const I18 = { EN: { M1: { A: 'Hi' } } };


(page: Keys, label:string ) => () => string | string

Применение

const current = 'EN';
const T = (param1, param2) => I18[current][param1][param2];

console.log( T('M1','A') ) //  return 'hi'; 

Как я могу написать определение типа для этого? Я старался:

type Opts = keyof typeof I18;
type Keys = keyof typeof I18.EN;

Так что я могу легко ввести param1 и текущую переменную; но как обеспечить проверку param2?


person Zalaboza    schedule 22.07.2019    source источник
comment
Does this meet your needs? Мне трудно понять ваш вопрос.   -  person jcalz    schedule 23.07.2019
comment
Несколько дней назад я задал аналогичный вопрос: stackoverflow. com/questions/56832955/   -  person ichi    schedule 23.07.2019