[Typescript] 🤔 Type ou Interface na hora de tipar?
Fala pessoal,
Venho migrando alguns projetos do commonjs para o typescript e me surgiu uma dúvida sobre a utilização correta ou ao menos a "boa prática" de se usar type e/ou interface na tipagem.
Minha "metodologia"
Exemplo:
type BrasilAPITypes = {
cnpj: string;
razao_social: string;
ddd_telefone_1: string;
};
interface MeusDadosdeSaidaInterface {
doc: string;
razao: string;
telefone: string
}
class TesteBrasilAPI {
consultaEmpresa(dados: BrasilAPITypes): MeusDadosdeSaidaInterface {
return {
doc: dados.cnpj,
razao: dados.razao_social,
telefone: dados.ddd_telefone_1
}
}
}
Para fins "didáticos" suponhamos que o parametro dados
do método consultaEmpresa
é populado/alimentado pelo response de algum método qualquer que faça a requisiçao a API e na sequência explico como uso cada caso.
Type
Imagino que uma API externa tem parâmetros imutáveis e nunca antes "tipados" dentro do meu sistema e por isso ao tratar dados recebidos de APIs eu prefiro a utilização do TYPE para que ao consumir o response dela em qualquer parte do meu projeto eu já tenho facilitado o acesso aos parâmetros e tipos que ela possuir.
Interface
Todos os métodos e funções do meu sistema o retorno eu "tipo" com Interface porque além de me pertimitir a implementação direta numa classe, também me permite adicionar novos parâmetros dentro dela caso seja necessário em algum ponto do meu projeto redeclarando ela e passando esses novos parâmetros
O que vocês acham sobre isso?
Type ou Interface na tipagem?