MyPartial<T>
ЛёгкаяТипы TSts
Реализуйте утилитарный тип 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 не выдал ошибок.