Skip to content
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

Closed
gmtns opened this issue May 22, 2020 · 6 comments
Closed

Interface para TS #168

gmtns opened this issue May 22, 2020 · 6 comments

Comments

@gmtns
Copy link

gmtns commented May 22, 2020

Fala galera, beleza!?

Apenas uma sugestão simples;
image

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:
image
image

@SergioVago
Copy link
Contributor

Eu abri um PR https://github.com/filipedeschamps/cep-promise/pull/192 com essa exportação. Só esperar alguém aprovar agora

@lucianopf
Copy link
Member

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

@SergioVago
Copy link
Contributor

SergioVago commented Nov 4, 2020

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

@lucianopf
Copy link
Member

Ahhh sim, boa galera! 🚀

@bearkfear
Copy link
Contributor

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.

@hadnet
Copy link

hadnet commented Jul 10, 2021

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';
  }[];
};

@gmtns gmtns closed this as completed Oct 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants