ExpertiDict

TypeScript · Avançado · Inglês · Técnico

module augmentation

/ˈmɑdʒul ˌɔɡmɛnˈteɪʃən/substantivo

Técnica que reabre um módulo importado com declare module 'nome' para acrescentar ou ampliar tipos dele, aproveitando o merging de declarações. Exige que o arquivo seja um módulo.

Onde usar

Muito usada para acrescentar opções a plugins e campos a tipos de bibliotecas sem editar node_modules. Sem ela, você recorreria a casts em todo lugar.

Em código

// tema.ts
export interface Tema { cor: string }

// extra.ts
import './tema';
declare module './tema' {
  interface Tema { fonte?: string }
}

Exemplos

Use module augmentation to add the new option to the plugin types.

Use module augmentation para adicionar a nova opção aos tipos do plugin.

It only works because the file has an import.

Só funciona porque o arquivo tem um import.

Cuidado

O arquivo precisa ter ao menos um import ou export; sem isso, o declare module vira uma declaração ambient nova e não um aumento do módulo existente.

Sinônimos

aumento de módulo

Veja também

Todos os termos de TypeScript