ExpertiDict

TypeScript · Intermediário · Inglês · Técnico

Extract

/ɪkˈstɹækt/substantivo

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

Veja também

Todos os termos de TypeScript