Sobes.tech
Назад к задачам
Junior — Senior
71

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

Условие задачи

livecode

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

Требования:

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

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

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