TypeScript · Intermediário · Inglês · Técnico
Extract
Utility type Extract<T, U> que mantém de uma união T apenas os membros atribuíveis a U. É o oposto de Exclude e funciona como um filtro positivo.
Onde usar
Útil para pescar casos de uma discriminated union: Extract<Acao, { tipo: 'add' }> devolve só o membro cujo tipo é 'add'.
Em código
type Acao =
| { tipo: 'add'; item: string }
| { tipo: 'del'; id: number };
type Add = Extract<Acao, { tipo: 'add' }>;
// Add = { tipo: 'add'; item: string }Exemplos
Use Extract to pull the add action out of the union.
Use Extract para tirar a ação add da união.
Extract keeps only members assignable to the filter.
Extract mantém só os membros atribuíveis ao filtro.
Cuidado
A comparação é de atribuibilidade, não de igualdade: Extract<'a' | 'b', string> mantém os dois membros, porque ambos são atribuíveis a string.
Antônimos
Exclude