Доки по разработке
This project is maintained by teniryte
Принципы
Required, Readonly, Partial, Record, Pick, Omit помогают массово менять модификаторы свойств.Exclude, Extract, NonNullable) позволяют фильтровать литеральные типы.Parameters, ConstructorParameters, ReturnType, InstanceType, ThisParameterType, OmitThisParameter, ThisType, Awaited) делают сигнатуры повторно используемыми и гибкими.Пример
interface Todo {
title: string;
done: boolean;
desc: string;
}
type Preview = Pick<Todo, 'title' | 'done'>;
type TodoNoDesc = Omit<Todo, 'desc'>;
function toHex(this: Number) {
return this.toString(16);
}
const fiveToHex: OmitThisParameter<typeof toHex> = toHex.bind(5);
Практика
PartialBy, ConditionalReadOnly).Awaited для работы с вложенными промисами и асинхронными API.ThisType полезен в фабриках объектов: обеспечивает корректную типизацию this в методах.Parameters и ReturnType.