zater-cep
Version:
ZAter cep correios e via cep
47 lines (37 loc) • 4.15 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _nodeFetch = require('node-fetch');
var _nodeFetch2 = _interopRequireDefault(_nodeFetch);
var _ErrorCep = require('../../lib/ErrorCep');
var _ErrorCep2 = _interopRequireDefault(_ErrorCep);
var _FormatCep = require('../../lib/FormatCep');
var _FormatCep2 = _interopRequireDefault(_FormatCep);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class ViaCep {
constructor(cep) {
this.cep = cep;
this.baseurl = 'http://apps.widenet.com.br/busca-cep/api/cep/';
this.basetype = '.json';
this.options = {
method: 'GET',
mode: 'cors',
headers: {
'content-type': 'application/json'
}
};
}
requestCep() {
try {
return (0, _nodeFetch2.default)(`${this.baseurl}${this.cep}${this.basetype}`, this.options).then(response => {
if (response.ok !== true) throw (0, _ErrorCep2.default)('Cep não lacalizado', 400, 'ZTR_CEP_002');
return response.json();
}).then(res => (0, _FormatCep2.default)().makeAddres('BUSCACEP', this.cep, res.state, res.city, res.district, res.address));
} catch (err) {
return Promise.reject(err);
}
}
}
exports.default = cep => new ViaCep(cep);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9wcm92aWRlcnMvQnVzY2FDZXAuanMiXSwibmFtZXMiOlsiVmlhQ2VwIiwiY29uc3RydWN0b3IiLCJjZXAiLCJiYXNldXJsIiwiYmFzZXR5cGUiLCJvcHRpb25zIiwibWV0aG9kIiwibW9kZSIsImhlYWRlcnMiLCJyZXF1ZXN0Q2VwIiwidGhlbiIsInJlc3BvbnNlIiwib2siLCJqc29uIiwicmVzIiwibWFrZUFkZHJlcyIsInN0YXRlIiwiY2l0eSIsImRpc3RyaWN0IiwiYWRkcmVzcyIsImVyciIsIlByb21pc2UiLCJyZWplY3QiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0FBRUEsTUFBTUEsTUFBTixDQUFhO0FBQ1hDLGNBQVlDLEdBQVosRUFBaUI7QUFDZixTQUFLQSxHQUFMLEdBQVdBLEdBQVg7QUFDQSxTQUFLQyxPQUFMLEdBQWUsK0NBQWY7QUFDQSxTQUFLQyxRQUFMLEdBQWdCLE9BQWhCO0FBQ0EsU0FBS0MsT0FBTCxHQUFlO0FBQ2JDLGNBQVEsS0FESztBQUViQyxZQUFNLE1BRk87QUFHYkMsZUFBUztBQUNQLHdCQUFnQjtBQURUO0FBSEksS0FBZjtBQU9EO0FBQ0RDLGVBQWE7QUFDWCxRQUFJO0FBQ0YsYUFBTyx5QkFBTyxHQUFFLEtBQUtOLE9BQVEsR0FBRSxLQUFLRCxHQUFJLEdBQUUsS0FBS0UsUUFBUyxFQUFqRCxFQUFvRCxLQUFLQyxPQUF6RCxFQUNKSyxJQURJLENBQ0VDLFFBQUQsSUFBYztBQUNsQixZQUFJQSxTQUFTQyxFQUFULEtBQWdCLElBQXBCLEVBQTBCLE1BQU0sd0JBQVMsb0JBQVQsRUFBK0IsR0FBL0IsRUFBb0MsYUFBcEMsQ0FBTjtBQUMxQixlQUFPRCxTQUFTRSxJQUFULEVBQVA7QUFDRCxPQUpJLEVBS0pILElBTEksQ0FLQ0ksT0FBTywyQkFBWUMsVUFBWixDQUF1QixVQUF2QixFQUFtQyxLQUFLYixHQUF4QyxFQUE2Q1ksSUFBSUUsS0FBakQsRUFBd0RGLElBQUlHLElBQTVELEVBQWtFSCxJQUFJSSxRQUF0RSxFQUFnRkosSUFBSUssT0FBcEYsQ0FMUixDQUFQO0FBTUQsS0FQRCxDQU9FLE9BQU9DLEdBQVAsRUFBWTtBQUNaLGFBQU9DLFFBQVFDLE1BQVIsQ0FBZUYsR0FBZixDQUFQO0FBQ0Q7QUFDRjtBQXhCVTs7a0JBMkJFbEIsT0FBTyxJQUFJRixNQUFKLENBQVdFLEdBQVgsQyIsImZpbGUiOiJCdXNjYUNlcC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmZXRjaCBmcm9tICdub2RlLWZldGNoJztcbmltcG9ydCBFcnJvckNlcCBmcm9tICcuLi8uLi9saWIvRXJyb3JDZXAnO1xuaW1wb3J0IEZvcm1hdENlcCBmcm9tICcuLi8uLi9saWIvRm9ybWF0Q2VwJztcblxuY2xhc3MgVmlhQ2VwIHtcbiAgY29uc3RydWN0b3IoY2VwKSB7XG4gICAgdGhpcy5jZXAgPSBjZXA7XG4gICAgdGhpcy5iYXNldXJsID0gJ2h0dHA6Ly9hcHBzLndpZGVuZXQuY29tLmJyL2J1c2NhLWNlcC9hcGkvY2VwLyc7XG4gICAgdGhpcy5iYXNldHlwZSA9ICcuanNvbic7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIG1vZGU6ICdjb3JzJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICByZXF1ZXN0Q2VwKCkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZmV0Y2goYCR7dGhpcy5iYXNldXJsfSR7dGhpcy5jZXB9JHt0aGlzLmJhc2V0eXBlfWAsIHRoaXMub3B0aW9ucylcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLm9rICE9PSB0cnVlKSB0aHJvdyBFcnJvckNlcCgnQ2VwIG7Do28gbGFjYWxpemFkbycsIDQwMCwgJ1pUUl9DRVBfMDAyJyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4ocmVzID0+IEZvcm1hdENlcCgpLm1ha2VBZGRyZXMoJ0JVU0NBQ0VQJywgdGhpcy5jZXAsIHJlcy5zdGF0ZSwgcmVzLmNpdHksIHJlcy5kaXN0cmljdCwgcmVzLmFkZHJlc3MpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnIpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBjZXAgPT4gbmV3IFZpYUNlcChjZXApO1xuIl19
;