Доки по разработке
This project is maintained by teniryte
KeepType: сохранение свойств по типуПринципы
KeepType<T, Allowed> оставляет в типе T только те свойства, чьи значения совместимы с Allowed.Пример
import { KeepType } from 'ts-cookbook';
interface Person {
name: string;
age: number;
isSaved: boolean;
save: () => void;
}
type NumericOrString = KeepType<Person, string | number>;
const personForTest: NumericOrString = {
name: 'Joe',
age: 44,
};
Практика
KeepType при подготовке данных к логированию или передаче в шаблон, когда функции и флаги не нужны.Partial, чтобы сделать отобранные поля необязательными.RemoveType).