Sobes.tech
Junior — Senior

Точная типизация методов объектов по их именам

livecode

Condición de la tarea

Необходимо обеспечить строгую типизацию двух объектов, чтобы каждый метод сохранял свой тип. Применение обобщённых типов вроде string или Record<string, …> приводит к утрате информации о конкретных ключах.

Требования:

  1. Для объекта vtempObj задать точные свойства getVtemplates и postVtemplates.
  2. Для объекта rptObj задать точные свойства getReports и putReports.
  3. При объявлении типы каждого свойства должны быть явно известны компилятору.
// примерные объекты:
const vtempObj = {
  getVtemplates: () => {/* ... */},
  postVtemplates: () => {/* ... */}
}

const rptObj = {
  getReports: () => {/* ... */},
  putReports: () => {/* ... */}
}

// типизация должна сохранять ключи и их значения