Back to tasks
Junior — Senior
73
Точная типизация методов объектов по их именам
Task condition
livecode
Необходимо обеспечить строгую типизацию двух объектов, чтобы каждый метод сохранял свой тип. Применение обобщённых типов вроде string или Record<string, …> приводит к утрате информации о конкретных ключах.
Требования:
- Для объекта
vtempObjзадать точные свойстваgetVtemplatesиpostVtemplates. - Для объекта
rptObjзадать точные свойстваgetReportsиputReports. - При объявлении типы каждого свойства должны быть явно известны компилятору.
// примерные объекты:
const vtempObj = {
getVtemplates: () => {/* ... */},
postVtemplates: () => {/* ... */}
}
const rptObj = {
getReports: () => {/* ... */},
putReports: () => {/* ... */}
}
// типизация должна сохранять ключи и их значения