cep-callback

1.0.0 • Public • Published

CEP Callback

Known Vulnerabilities

Busca por CEP usando o melhor do JavaScript, callbacks

Todos sabem que hoje as Promises dominam o mundo do JavaScript. O que faz com que a utilização de callbacks seja algo do passado. Porém o oldschool é sempre mais legal, portanto essa biblioteca mostra como callbacks ainda podem ser utilizados e como você pode se sentir um hipster ao utilizá-las em 2018.

Features

  • Interface com callbacks seguindo o padrão da biblioteca padrão do Node.js
  • Possui a mesma interface tanto nos erros como nas respostas do projeto cep-promise
  • O projeto utiliza de var que é o jeito da massa de se criar variáveis em JavaScript, sim isso é uma feature

Como utilizar

Realizando uma consulta

Por ser multifornecedor, a biblioteca irá chamar o callback com o fornecedor que mais rápido lhe responder.

var cep = require('cep-callback')
 
cep('05010000', (err, cepData) => {
  console.log(cepData)
})
 
  // {
  //   "cep":  "05010000",
  //   "state":  "SP",
  //   "city":  "São Paulo",
  //   "street":  "Rua Caiubí",
  //   "neighborhood":  "Perdizes",
  // }

Você também poderá passar o CEP como Inteiro

Em muitos sistemas o CEP é utilizado erroneamente como um Inteiro (e com isto cortando todos os zeros à esquerda). Caso este seja o seu caso, não há problema, pois a biblioteca irá preencher os caracteres faltantes na String, por exemplo:

var cep = require('cep-callback')
 
// enviando sem ter um zero à esquerda do CEP "05010000"
cep(5010000, (err, cepData) => {
  console.log(cepData)
})
 
  // {
  //   "cep":  "05010000",
  //   "state":  "SP",
  //   "city":  "São Paulo",
  //   "street":  "Rua Caiubí",
  //   "neighborhood":  "Perdizes",
  // }

Quando o CEP não é encontrado

Neste caso será retornado um "service_error" e por ser multifornecedor, a biblioteca irá retornar um erro no callback apenas quando tiver a resposta negativa de todos os fornecedores.

var cep = require('cep-callback')
 
cep('99999999', (err, cepData) => {
  console.log(err)
})
 
  // {
  //     name: 'CepPromiseError',
  //     message: 'Todos os serviços de CEP retornaram erro.',
  //     type: 'service_error',
  //     errors: [{
  //       message: 'CEP NAO ENCONTRADO',
  //       service: 'correios'
  //     }, {
  //       message: 'CEP não encontrado na base do ViaCEP.',
  //       service: 'viacep'
  //     }, {
  //       message: 'CEP não encontrado na base do Cep Aberto.',
  //       service: 'cepaberto'
  //     }]
  // }
 

Quando o CEP possui um formato inválido

Neste caso será retornado um "validation_error" e a biblioteca irá retornar um erro no callback, sem chegar a consultar nenhum fornecedor.

var cep = require('cep-callback')
 
cep('123456789123456789', (err, cepData) => {
  console.log(err)
})
 
  // {
  //     name: 'CepPromiseError',
  //     message: 'CEP deve conter exatamente 8 caracteres.',
  //     type: 'validation_error',
  //     errors: [{
  //       message: 'CEP informado possui mais do que 8 caracteres.',
  //       service: 'cep_validation'
  //     }]
  // }

Instalação

Browser usando CDN

<script src="https://cdn.jsdelivr.net/npm/cep-callback/src/index.js"></script>

npm

$ npm install --save cep-callback

Bower

$ bower install --save cep-callback

Angular 2

import * as cep from 'cep-callback'
 
cep('05010000', (err, cepData) => {
  console.log(cepData)
})

Como contribuir

Leia nosso guia de contribuição aqui

Contribuidores

Ainda não temos, venha contribuir! :)

Autor


@otaviopace

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.0.01latest

Version History

VersionDownloads (Last 7 Days)Published
1.0.01

Package Sidebar

Install

npm i cep-callback

Weekly Downloads

1

Version

1.0.0

License

ISC

Unpacked Size

7.89 kB

Total Files

6

Last publish

Collaborators

  • otaviopace