UNPKG

11.3 kBJavaScriptView Raw
1!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e=e||self).cep=r()}(this,function(){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function n(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function e(e,r,t){return r&&n(e.prototype,r),t&&n(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function r(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&i(e,r)}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function i(e,r){return(i=Object.setPrototypeOf||function(e,r){return e.__proto__=r,e})(e,r)}function a(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function s(e,r,t){return(s=a()?Reflect.construct:function(e,r,t){var n=[null];n.push.apply(n,r);var o=new(Function.bind.apply(e,n));return t&&i(o,t.prototype),o}).apply(null,arguments)}function u(e){var n="function"==typeof Map?new Map:void 0;return(u=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return s(e,arguments,o(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),i(t,e)})(e)}function f(e,r){if(r&&("object"==typeof r||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function p(t){var n=a();return function(){var e,r=o(t);return f(this,n?(e=o(this).constructor,Reflect.construct(r,arguments,e)):r.apply(this,arguments))}}function l(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,r){if(e){if("string"==typeof e)return h(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?h(e,r):void 0}}function h(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var m=function(){r(a,u(Error));var i=p(a);function a(){var e,r=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=r.message,n=r.type,o=r.errors;return c(this,a),(e=i.call(this)).name="CepPromiseError",e.message=t,e.type=n,e.errors=o,e}return e(a)}();function v(c,s){return s=s||{},new Promise(function(e,r){var t=new XMLHttpRequest,n=[],o=[],i={};for(var a in t.open(s.method||"get",c,!0),t.onload=function(){t.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,r,t){n.push(r=r.toLowerCase()),o.push([r,t]),i[r]=i[r]?i[r]+","+t:t}),e(function e(){return{ok:2==(t.status/100|0),statusText:t.statusText,status:t.status,url:t.responseURL,text:function(){return Promise.resolve(t.responseText)},json:function(){return Promise.resolve(JSON.parse(t.responseText))},blob:function(){return Promise.resolve(new Blob([t.response]))},clone:e,headers:{keys:function(){return n},entries:function(){return o},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}}())},t.onerror=r,t.withCredentials="include"==s.credentials,s.headers)t.setRequestHeader(a,s.headers[a]);t.send(s.body||null)})}var y=function(){r(i,u(Error));var o=p(i);function i(){var e,r=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=r.message,n=r.service;return c(this,i),(e=o.call(this)).name="ServiceError",e.message=t,e.service=n,e}return e(i)}();function b(e,r){return v("https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente",{method:"POST",body:'<?xml version="1.0"?>\n<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cli="http://cliente.bean.master.sigep.bsb.correios.com.br/">\n <soapenv:Header />\n <soapenv:Body>\n <cli:consultaCEP>\n <cep>'.concat(e,"</cep>\n </cli:consultaCEP>\n </soapenv:Body>\n</soapenv:Envelope>"),headers:{"Content-Type":"text/xml;charset=UTF-8","cache-control":"no-cache"},timeout:r.timeout||3e4}).then(w).catch(C)}function w(e){return e.ok?e.text().then(g).then(j):e.text().then(E).then(P)}function g(e){try{var r;return(null!==(r=e.replace(/\r?\n|\r/g,"").match(/<return>(.*)<\/return>/)[0])&&void 0!==r?r:"").replace("<return>","").replace("</return>","").split(/</).reduce(function(e,r){var t=r.split(">");return 1<t.length&&t[1].length&&(e[t[0]]=t[1]),e},{})}catch(e){throw new Error("Não foi possível interpretar o XML de resposta.")}}function E(e){try{var r;return(null!==(r=e.match(/<faultstring>(.*)<\/faultstring>/)[0])&&void 0!==r?r:"").replace("<faultstring>","").replace("</faultstring>","")}catch(e){throw new Error("Não foi possível interpretar o XML de resposta.")}}function P(e){throw new Error(e)}function j(e){return{cep:e.cep,state:e.uf,city:e.cidade,neighborhood:e.bairro,street:e.end,service:"correios"}}function C(e){var r=new y({message:e.message,service:"correios"});throw"FetchError"===e.name&&(r.message="Erro ao se conectar com o serviço dos Correios."),r}function S(e,r){var t="https://viacep.com.br/ws/".concat(e,"/json/"),n={method:"GET",mode:"cors",headers:{"content-type":"application/json;charset=utf-8"},timeout:r.timeout||3e4};return"undefined"==typeof window&&(n.headers["user-agent"]="cep-promise"),v(t,n).then(O).then(x).then(A).catch(T)}function O(e){if(e.ok)return e.json();throw Error("Erro ao se conectar com o serviço ViaCEP.")}function x(e){if(!0===e.erro)throw new Error("CEP não encontrado na base do ViaCEP.");return e}function A(e){return{cep:e.cep.replace("-",""),state:e.uf,city:e.localidade,neighborhood:e.bairro,street:e.logradouro,service:"viacep"}}function T(e){var r=new y({message:e.message,service:"viacep"});throw"FetchError"===e.name&&(r.message="Erro ao se conectar com o serviço ViaCEP."),r}function _(e,r){return v("https://ws.apicep.com/busca-cep/api/cep/".concat(e,".json"),{method:"GET",mode:"cors",headers:{"content-type":"application/json;charset=utf-8"},timeout:r.timeout||3e4}).then(R).then(k).then(B).catch(F)}function R(e){if(e.ok)return e.json();throw Error("Erro ao se conectar com o serviço WideNet.")}function k(e){if(!1===e.ok||200!==e.status)throw new Error("CEP não encontrado na base do WideNet.");return e}function B(e){return{cep:e.code.replace("-",""),state:e.state,city:e.city,neighborhood:e.district,street:e.address,service:"widenet"}}function F(e){var r=new y({message:e.message,service:"widenet"});throw"FetchError"===e.name&&(r.message="Erro ao se conectar com o serviço WideNet."),r}function I(e,r){return v("https://brasilapi.com.br/api/cep/v1/".concat(e),{method:"GET",mode:"cors",headers:{"content-type":"application/json;charset=utf-8"},timeout:r.timeout||3e4}).then(L).then(M).catch(N)}function L(e){if(!1===e.ok||200!==e.status)throw new Error("CEP não encontrado na base do BrasilAPI.");return e.json()}function M(e){return{cep:e.cep,state:e.state,city:e.city,neighborhood:e.neighborhood,street:e.street,service:"brasilapi"}}function N(e){var r=new y({message:e.message,service:"brasilapi"});throw"FetchError"===e.name&&(r.message="Erro ao se conectar com o serviço BrasilAPI."),r}function z(){return"undefined"!=typeof window?{viacep:S,widenet:_,brasilapi:I}:{correios:b,viacep:S,widenet:_,brasilapi:I}}function H(t){return new Promise(function(e,r){return Promise.resolve(t).then(r,e)})}Promise.any=function(e){return H(Promise.all(l(e).map(H)))};var V=Promise,q=8;function G(e){var r=t(e);if("number"===r||"string"===r)return e;throw new m({message:"Erro ao inicializar a instância do CepPromise.",type:"validation_error",errors:[{message:"Você deve chamar o construtor utilizando uma String ou um Number.",service:"cep_validation"}]})}function U(e){return e.toString().replace(/\D+/g,"")}function W(e){return"0".repeat(q-e.length)+e}function X(e){if(e.length<=q)return e;throw new m({message:"CEP deve conter exatamente ".concat(q," caracteres."),type:"validation_error",errors:[{message:"CEP informado possui mais do que ".concat(q," caracteres."),service:"cep_validation"}]})}function D(e){if(void 0!==e.length)throw new m({message:"Todos os serviços de CEP retornaram erro.",type:"service_error",errors:e});throw e}function J(e){var r=e.message,t=e.type,n=e.errors;throw new m({message:r,type:t,errors:n})}return function(e){var o=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return V.resolve(e).then(G).then(function(e){return o.providers=o.providers?o.providers:[],function(e){var r=Object.keys(z());if(!Array.isArray(e))throw new m({message:"Erro ao inicializar a instância do CepPromise.",type:"validation_error",errors:[{message:"O parâmetro providers deve ser uma lista.",service:"providers_validation"}]});var t,n=function(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=d(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){c=!0,i=e},f:function(){try{a||null==t.return||t.return()}finally{if(c)throw i}}}}(e);try{for(n.s();!(t=n.n()).done;){var o=t.value;if(!r.includes(o))throw new m({message:"Erro ao inicializar a instância do CepPromise.",type:"validation_error",errors:[{message:'O provider "'.concat(o,'" é inválido. Os providers disponíveis são: ["').concat(r.join('", "'),'"].'),service:"providers_validation"}]})}}catch(e){n.e(e)}finally{n.f()}}(o.providers),e}).then(U).then(X).then(W).then(function(e){return r=e,t=o,n=z(),0!==t.providers.length?V.any(t.providers.map(function(e){return n[e](r,t)})):V.any(Object.values(n).map(function(e){return e(r,t)}));var r,t,n}).catch(D).catch(J)}});
\No newline at end of file