Form Utilities (FormData, Sanitize, MergeForms)

Сложная

Создайте набор utility types для работы с формами в React-приложении.

  • FormData<T> — делает все поля optional и добавляет isDirty
  • Sanitize<T, K> — удаляет указанные ключи и делает остальные readonly
  • MergeForms<A, B> — объединяет формы: A required, B optional, общие intersection

Примеры:

Input 1: type Form = FormData<{ name: string }>
Output 1: { name?: string; isDirty: boolean }
Output
Run your code to see results.