-
Notifications
You must be signed in to change notification settings - Fork 314
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Interface para TS #168
Comments
Eu abri um PR https://github.com/filipedeschamps/cep-promise/pull/192 com essa exportação. Só esperar alguém aprovar agora |
Boa tarde galera!! Primeiramente perdão a demora 😢 Eu confesso que entendo bem pouco de TS, mas fiquei com uma dúvida, não seria esse export da interface esse mesmo export aqui? https://github.com/filipedeschamps/cep-promise/blob/master/index.d.ts#L16 |
Fala Luciano Tá de boa 😄 Esse export exporta só a função pra usar o buscador de cep. Com o export da interface "CEP", a gnt tem acesso à tipagem separado |
Ahhh sim, boa galera! 🚀 |
Lu, exportando a “interface” nós conseguimos usar em nossas próprias funções, tipando argumentos e afins. O index.d.ts acaba exportando o modulo globalmente para que o TypeScript entenda o que é aquele pacote, mas para implementações usando a lib em escopo acaba sendo necessária uma exportação de “interface”. Comentei sobre converter a lib para TS em uma issue #169 onde eu acredito que seja o ideal atualmente, e também é uma forma de auto-documentação e auto-teste já que não precisaríamos confirmar os tipos dos dados já que eles já estão previamente estabelecidos. |
Poderia haver um type para o objeto erro, assim como há para CEP: type CepError = {
name: string;
message: string;
type: 'service_error' | 'validation_error';
errors: {
message: string;
service: 'brasilapi' | 'correios' | 'viacep' | 'widenet';
}[];
}; |
Fala galera, beleza!?
Apenas uma sugestão simples;
Um export nessa interface CEP ia ajudar a galera do typescript. Ou até um @ types/ também.. .
Posso estar viajando ou não ter achado esse export em algum lugar
Mas tive que alterar manualmente para poder usar legal no TS:
The text was updated successfully, but these errors were encountered: