Доки по разработке
This project is maintained by teniryte
inferPickПринципы
inferPick<T>()(value) позволяет автоматом вывести тип возвращаемого объекта на основе частичного литерала.infer сохраняют информацию об обязательных полях — лишние свойства вызовут ошибку компиляции.Пример
import { inferPick } from 'ts-cookbook';
interface Person {
name: string;
age: number;
id: string;
}
const person = inferPick<Person>()({ name: 'Greg', age: 23 });
Практика
inferPick в фабриках, где требуется типобезопасный выбор подмножества полей из большой модели.as const, чтобы сохранить литеральные значения и использовать их в дальнейшем.Pick<T, Keys>), чтобы избежать скрытых any.