Описание

MyPartial<T>

ЛёгкаяТипы TSts
Встречается вТ-БанкOzon

Реализуйте утилитарный тип MyPartial<T>, который делает все свойства типа T необязательными — аналог встроенного Partial<T>.

Использовать встроенный Partial нельзя.

Пример

interface Todo {
  title: string;
  description: string;
  completed: boolean;
}

type PartialTodo = MyPartial<Todo>;
// {
//   title?: string;
//   description?: string;
//   completed?: boolean;
// }

const patch: PartialTodo = { completed: true }; // ✅

Как проверяется

Решение компилируется вместе с тестами вида:

type cases = [
  Expect<Equal<MyPartial<{ a: string }>, { a?: string }>>,
];

Тест пройден, если TypeScript не выдал ошибок.