BrasilAPI / cep-promise

Busca por CEP integrado diretamente aos serviços dos Correios, ViaCEP e outros (Node.js e Browser)
MIT License
2.88k stars 316 forks source link

Especificação do módulo #2

Closed filipedeschamps closed 8 years ago

filipedeschamps commented 8 years ago

Este é para ser um módulo bem simples, mas que falhei em encontrar um no ecosistema do Node.js ou browser que utilize promises, seja coberto de testes e utilize diretamente os serviços dos correios (sem fazer parse do HTML da busca deles).

Acho que para máxima simplicidade ele deve ser uma Factory ao invés de uma Class. Então imagino da interface o seguinte:

let cep = require('cep-promise');

cep('05010000')
  .then(console.log);

// {
//   "zipcode":  "05010000",
//   "state":  "SP",
//   "city":  "São Paulo",
//   "street":  "Rua Caiubí",
//   "neighborhood":  "Perdizes",
// }

Não sei se vale a pena ser strict quanto ao valor enviado como cep, por exemplo, aceitar também coisas como "05010-000" e "05010 000" ou qualquer outro caractere especial. Acho que vale a pena dar esse conforto ao desenvolvedor.

bpalermo commented 8 years ago

E possível usar com browserify e angular? Qual seria o nome do módulo exportado?

filipedeschamps commented 8 years ago

@bpalermo tudo bem?

Já deve funcionar normalmente, mas só posso confirmar depois de escrever os testes 👍

Não devo demorar muito para fazer isso, se puder me ajudar em algum teste manual seria perfeito

bpalermo commented 8 years ago

@filipedeschamps

Normalmente os módulos para angular são exportados no formato:

module.exports = angular.module('demo-component', [])

Não consegui encontrar esse formato nos códigos por isso a pergunta.

Obrigado!