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