{"analyzedAt":"2022-12-16T21:06:13.214Z","collected":{"metadata":{"name":"cep-promise","scope":"unscoped","version":"4.3.0","description":"Busca por CEP integrado diretamente aos serviços dos Correios e ViaCEP","keywords":["cep","correios","zipcode","zip","promise","viacep","brasilapi","widenet","apicep"],"date":"2022-12-15T17:03:39.027Z","author":{"name":"Filipe Deschamps"},"publisher":{"username":"lucianopf","email":"lucianopf@outlook.com"},"maintainers":[{"username":"filipedeschamps","email":"filiped@gmail.com"},{"username":"lucianopf","email":"lucianopf@outlook.com"}],"repository":{"type":"git","url":"git+https://github.com/BrasilAPI/cep-promise.git"},"links":{"npm":"https://www.npmjs.com/package/cep-promise","homepage":"https://github.com/BrasilAPI/cep-promise","repository":"https://github.com/BrasilAPI/cep-promise","bugs":"https://github.com/BrasilAPI/cep-promise/issues"},"license":"MIT","dependencies":{"node-fetch":"2.6.7","unfetch":"4.1.0"},"devDependencies":{"@babel/cli":"7.10.5","@babel/core":"7.11.1","@babel/node":"7.10.5","@babel/plugin-transform-runtime":"^7.11.0","@babel/preset-env":"7.11.0","@babel/register":"7.10.5","babel-core":"7.0.0-bridge.0","babel-eslint":"10.1.0","babel-istanbul":"0.12.2","chai":"4.2.0","chai-as-promised":"7.1.1","chai-subset":"1.6.0","mocha":"8.1.1","nock":"13.0.2","nodemon":"2.0.4","rollup":"2.20.0","rollup-plugin-babel":"4.4.0","rollup-plugin-commonjs":"10.1.0","rollup-plugin-node-resolve":"5.2.0","rollup-plugin-replace":"2.2.0","standard":"14.3.4","uglify-js":"3.10.0"},"releases":[{"from":"2022-11-16T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":2},{"from":"2022-09-17T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":2},{"from":"2022-06-19T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":3},{"from":"2021-12-16T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":4},{"from":"2020-12-16T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":7}],"hasTestScript":true,"hasSelectiveFiles":true,"readme":"<p align=\"center\">\n  <img src=\"http://piskel-imgstore-b.appspot.com/img/d580e96e-bd8a-11e6-b157-9949cad4d609.gif\">\n</p>\n\n<h1 align=\"center\">CEP Promise</h1>\n\n<p align=\"center\">\n  <a href=\"https://npm-stat.com/charts.html?package=cep-promise\">\n    <img src=\"https://img.shields.io/npm/dm/cep-promise.svg\">\n  </a>\n  <a href=\"https://coveralls.io/github/BrasilAPI/cep-promise?branch=master\">\n    <img src=\"https://coveralls.io/repos/github/BrasilAPI/cep-promise/badge.svg?branch=master\">\n  </a>\n  <a href=\"https://www.npmjs.com/package/cep-promise\">\n    <img src=\"https://badge.fury.io/js/cep-promise.svg\">\n  </a>\n  <a href=\"http://standardjs.com/\">\n    <img src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg\">\n  </a>\n  <a href=\"https://snyk.io/test/github/BrasilAPI/cep-promise\">\n    <img src=\"https://snyk.io/test/github/BrasilAPI/cep-promise/badge.svg\" alt=\"Known Vulnerabilities\" data-canonical-src=\"https://snyk.io/test/github/BrasilAPI/cep-promise\" style=\"max-width:100%;\">\n  </a>\n</p>\n\n<p align=\"center\">\n  Busca por CEP integrado diretamente aos serviços dos Correios, ViaCEP e WideNet (Node.js e Browser)\n</p>\n\n## Features\n\n * Sempre atualizado em tempo-real por se conectar diretamente aos serviços dos Correios, ViaCEP e WideNet.\n * Possui alta disponibilidade por usar vários serviços como fallback.\n * Sempre retorna a resposta mais rápida por fazer as consultas de forma concorrente.\n * Sem limites de uso (rate limits) conhecidos.\n * Interface de Promise extremamente simples.\n * Suporte ao Node.js `10.x`, `11.x`, `12.x`, `13.x`, `14.x` e `@stable`.\n * Suporte ao Node.js `4.x`, `5.x`, `6.x`, `7.x`, `8.x`, `9.x`, até cep-promise versão `3.0.9`.\n * Suporte ao Node.js `0.10.x` e `0.12.x` até cep-promise versão `2.0.8`.\n * 100% de code coverage com testes unitários e E2E.\n * Desenvolvido utilizando ES6.\n\n\n## Como utilizar\n\nTeste e aprenda <a href=\"https://npm.runkit.com/cep-promise\" target=\"_blank\">aqui</a>.\n\n### Realizando uma consulta\n\nPor ser multifornecedor, a biblioteca irá resolver a Promise com o fornecedor que **mais rápido** lhe responder.\n\n``` js\nimport cep from 'cep-promise'\n\ncep('05010000')\n  .then(console.log)\n\n  // {\n  //   \"cep\":  \"05010000\",\n  //   \"state\":  \"SP\",\n  //   \"city\":  \"São Paulo\",\n  //   \"street\":  \"Rua Caiubí\",\n  //   \"neighborhood\":  \"Perdizes\",\n  // }\n```\n\n\n### Você também poderá passar o CEP como Inteiro\n\nEm 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:\n\n``` js\nimport cep from 'cep-promise'\n\n// enviando sem ter um zero à esquerda do CEP \"05010000\"\ncep(5010000)\n  .then(console.log)\n\n  // {\n  //   \"cep\":  \"05010000\",\n  //   \"state\":  \"SP\",\n  //   \"city\":  \"São Paulo\",\n  //   \"street\":  \"Rua Caiubí\",\n  //   \"neighborhood\":  \"Perdizes\",\n  // }\n```\n\n### Quando o CEP não é encontrado\n\nNeste caso será retornado um `\"service_error\"` e por ser multifornecedor, a biblioteca irá rejeitar a Promise apenas quando tiver a resposta negativa de todos os fornecedores.\n\n``` js\nimport cep from 'cep-promise'\n\ncep('99999999')\n  .catch(console.log)\n\n  // {\n  //     name: 'CepPromiseError',\n  //     message: 'Todos os serviços de CEP retornaram erro.',\n  //     type: 'service_error',\n  //     errors: [{\n  //       message: 'CEP NAO ENCONTRADO',\n  //       service: 'correios'\n  //     }, {\n  //       message: 'CEP não encontrado na base do ViaCEP.',\n  //       service: 'viacep'\n  //     }]\n  // }\n\n```\n\n### Quando o CEP possui um formato inválido\n\nNeste caso será retornado um `\"validation_error\"` e a biblioteca irá rejeitar imediatamente a Promise, sem chegar a consultar nenhum fornecedor.\n\n``` js\nimport cep from 'cep-promise'\n\ncep('123456789123456789')\n  .catch(console.log)\n\n  // {\n  //     name: 'CepPromiseError',\n  //     message: 'CEP deve conter exatamente 8 caracteres.',\n  //     type: 'validation_error',\n  //     errors: [{\n  //       message: 'CEP informado possui mais do que 8 caracteres.',\n  //       service: 'cep_validation'\n  //     }]\n  // }\n```\n### Options\n- `timeout`: Timeout em milisegundos das consultas em cada serviço. O tempo total poderá ser maior devido a limites no paralelismo.\n- `providers`: Lista de providers a serem usados na consulta. Default é usar todos os providers disponíveis.\n\n```js\nimport cep from 'cep-promise'\ncep('5010000', { timeout: 5000, providers: ['brasilapi'] })\n  .then(console.log)\n\n```\n\n### Instalação\n\n#### Browser usando CDN\n```\n<script src=\"https://cdn.jsdelivr.net/npm/cep-promise/dist/cep-promise.min.js\"></script>\n```\n\n#### npm\n\n```\n$ npm install --save cep-promise\n```\n\n#### Bower\n\n```\n$ bower install --save cep-promise\n```\n#### yarn\n\n```\n$ yarn add cep-promise\n```\n\n#### Angular 2\n\n``` ts\nimport * as cep from 'cep-promise'\n\ncep('05010000')\n  .then(console.log)\n```\n\n## Como contribuir\n\nLeia nosso guia de contribuição [aqui](CONTRIBUTING.md)\n\n## Contribuidores\n\n<a href=\"https://github.com/brasilapi/cep-promise/graphs/contributors\"><img src=\"https://contrib.rocks/image?repo=brasilapi/cep-promise\" /></a>\n\n## Autor\n\n| [<img src=\"https://avatars0.githubusercontent.com/u/4248081?v=3&s=115\"><br><sub>@filipedeschamps</sub>](https://github.com/filipedeschamps) |\n| :---: |"},"npm":{"downloads":[{"from":"2022-12-15T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":3227},{"from":"2022-12-09T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":13187},{"from":"2022-11-16T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":56745},{"from":"2022-09-17T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":165612},{"from":"2022-06-19T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":339766},{"from":"2021-12-16T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":629171}],"starsCount":4},"github":{"starsCount":2642,"forksCount":318,"subscribersCount":77,"issues":{"count":251,"openCount":29,"distribution":{"3600":47,"10800":14,"32400":17,"97200":22,"291600":20,"874800":32,"2624400":22,"7873200":27,"23619600":23,"70858800":17,"212576400":10},"isDisabled":false},"contributors":[{"username":"filipedeschamps","commitsCount":100},{"username":"lucianopf","commitsCount":50},{"username":"mshlz","commitsCount":7},{"username":"MarcoWorms","commitsCount":6},{"username":"murilohns","commitsCount":6},{"username":"luisguilhermemsalmeida","commitsCount":6},{"username":"olegon","commitsCount":5},{"username":"ivmarcos","commitsCount":4},{"username":"z22092","commitsCount":4},{"username":"fontebasso","commitsCount":4},{"username":"chrisbenseler","commitsCount":3},{"username":"thiamsantos","commitsCount":3},{"username":"evaporei","commitsCount":3},{"username":"dominguetigs","commitsCount":3},{"username":"bearkfear","commitsCount":3},{"username":"mateusosmarin","commitsCount":3},{"username":"AlbertoTrindade","commitsCount":2},{"username":"pedrro","commitsCount":2},{"username":"petronetto","commitsCount":2},{"username":"jhonnymoreira","commitsCount":2},{"username":"claytonsilva","commitsCount":2},{"username":"flyingluscas","commitsCount":2},{"username":"vagnercardosoweb","commitsCount":2},{"username":"samycici","commitsCount":2},{"username":"caio-ribeiro-pereira","commitsCount":1},{"username":"luanmuniz","commitsCount":1},{"username":"eduardobvale","commitsCount":1},{"username":"rafaeljesus","commitsCount":1},{"username":"lokinmodar","commitsCount":1},{"username":"SergioVago","commitsCount":1},{"username":"AugustoResende","commitsCount":1},{"username":"Riicksouzaa","commitsCount":1}],"commits":[{"from":"2022-12-09T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":1},{"from":"2022-11-16T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":1},{"from":"2022-09-17T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":1},{"from":"2022-06-19T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":3},{"from":"2021-12-16T00:00:00.000Z","to":"2022-12-16T00:00:00.000Z","count":5}],"statuses":[{"context":"coverage/coveralls","state":"success"}]},"source":{"files":{"readmeSize":5345,"testsSize":64470},"badges":[{"urls":{"original":"https://img.shields.io/npm/dm/cep-promise.svg","shields":"https://img.shields.io/npm/dm/cep-promise.svg","content":"https://img.shields.io/npm/dm/cep-promise.json"},"info":{"service":"npm","type":"downloads","modifiers":{"type":"dm"}}},{"urls":{"original":"https://coveralls.io/repos/github/BrasilAPI/cep-promise/badge.svg?branch=master","service":"https://coveralls.io/repos/github/BrasilAPI/cep-promise/badge.svg?branch=master","shields":"https://img.shields.io/coveralls/BrasilAPI/cep-promise/master.svg","content":"https://img.shields.io/coveralls/BrasilAPI/cep-promise/master.json"},"info":{"service":"coveralls","type":"coverage","modifiers":{"branch":"master"}}}],"linters":["editorconfig","standard"],"coverage":0.99,"outdatedDependencies":{"unfetch":{"required":"4.1.0","stable":"4.2.0","latest":"4.2.0"},"node-fetch":{"required":"2.6.7","stable":"3.3.0","latest":"4.0.0-beta.4"}}}},"evaluation":{"quality":{"carefulness":0.9199999999999999,"tests":0.9984999999999999,"health":0.5,"branding":0.3},"popularity":{"communityInterest":3073,"downloadsCount":55204,"downloadsAcceleration":82.89414003044146,"dependentsCount":0},"maintenance":{"releasesFrequency":1,"commitsFrequency":0.4600342465753424,"openIssues":1,"issuesDistribution":0.10896281037466293}},"score":{"final":0.6993489316240094,"detail":{"quality":0.925772397043865,"popularity":0.29756247893868465,"maintenance":0.907058128235172}}}