Доки по разработке
This project is maintained by teniryte
Принципы
nullable, optional, readonly, required.Partial, Readonly, Required) решают большинство кейсов без ручного объявления.Пример
type Nullable<T> = { [P in keyof T]: T[P] | null };
interface Person {
name: string;
age: number;
}
const person: Nullable<Person> = { name: null, age: null };
type PersonWithAllPropertiesOptional = Partial<Person>;
const person2: PersonWithAllPropertiesOptional = { name: 'Me' };
const readonlyPerson: Readonly<Person> = { name: 'Alex' };
// readonlyPerson.name = 'Bob'; // Ошибка
Практика
Required<Readonly<T>> создаёт неизменяемый тип с обязательными полями.PartialBy<T, K>), если стандартных утилит недостаточно для точного поведения.