age: number;
phone: string;
...
}
Как описать тип объекта, содержащего текст ошибок для всех возможных полей из этого интерфейса?
Я в ту сторону копаю?
type UserErrors {
[key in User]: string;
}
/** * Приводит все поля объекта и вложенных объектов к одному типу. * Например есть тип значений формы и нужно сделать точно такой же тип (для описания disabled полей) * в котором каждое поле будет true/false */ export type FieldsToOneType<T, Type> = { [P in keyof T]: T[P] extends Record<string, unknown> | Array<unknown> ? FieldsToOneType<T[P], Type> : Type; }; Так использовать: FieldsToOneType<User, string>
спасибо, это продвинутый вариант со вложенными объектами и массивами, как я понял
Да, верно.
Обсуждают сегодня