correios-brasil2
Version:
Módulo completo consultar informações sobre o CEP, calcular o preço e os prazos das entregas das encomendas e também realizar o seu rastreio
3 lines (2 loc) • 4.95 kB
JavaScript
import n from"axios";import t from"iconv-lite";import e from"xml-js";function r(n){var t=new RegExp(/[^0-9]|[/ /]/g,""),e=n.trim().replace(t,"");if(8!==e.length)throw Error("Cep: ".concat(n," inválido!"));return e}var o,c=function(){return c=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var o in t=arguments[e])Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o]);return n},c.apply(this,arguments)};function a(n,t,e,r){return new(e||(e=Promise))((function(o,c){function a(n){try{u(r.next(n))}catch(n){c(n)}}function i(n){try{u(r.throw(n))}catch(n){c(n)}}function u(n){var t;n.done?o(n.value):(t=n.value,t instanceof e?t:new e((function(n){n(t)}))).then(a,i)}u((r=r.apply(n,t||[])).next())}))}function i(n,t){var e,r,o,c,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return c={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function i(c){return function(i){return function(c){if(e)throw new TypeError("Generator is already executing.");for(;a;)try{if(e=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(n,a)}catch(n){c=[6,n],r=0}finally{e=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,i])}}}function u(t,e){return a(this,void 0,void 0,(function(){return i(this,(function(r){return[2,new Promise((function(r,o){n(c(c({},e),{url:t})).then((function(n){return r(n)})).catch((function(n){o(n)}))}))]}))}))}!function(n){n.BASECEP="https://viacep.com.br/ws",n.BASECORREIOS="http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx",n.BASERASTREIO="https://www.linkcorreios.com.br",n.WIDENET="https://cep.widenet.host/busca-cep/api/cep",n.PROXYAPP_RASTREAR="https://proxyapp.correios.com.br/v1/sro-rastro",n.PROXYAPP_TOKEN="https://proxyapp.correios.com.br/v1/app-validation"}(o||(o={}));var l=o;function s(n){return new Promise((function(t,e){return u("".concat(l.BASECEP,"/").concat(r(n),"/json"),{method:"GET",headers:{"content-type":"application/json"}}).then((function(n){return t(n)})).catch((function(n){e(n)}))}))}function p(n){var o=n.nCdServico;return Promise.all(o.map((function(o){return function(n,o){var s=this;return delete n.nCdServico,new Promise((function(p,f){return a(s,void 0,void 0,(function(){var a;return i(this,(function(i){return a=c(c({},n),{nCdServico:o,sCepOrigem:r(n.sCepOrigem),sCepDestino:r(n.sCepDestino),nCdEmpresa:null==n.nCdEmpresa?"":n.nCdEmpresa,sDsSenha:null==n.sDsSenha?"":n.sDsSenha,sCdMaoPropria:null==n.sCdMaoPropria?"n":n.sCdMaoPropria,nVlValorDeclarado:null==n.nVlValorDeclarado?0:n.nVlValorDeclarado,sCdAvisoRecebimento:null==n.sCdAvisoRecebimento?"n":n.sCdAvisoRecebimento,StrRetorno:"xml",nIndicaCalculo:null==n.nIndicaCalculo?3:n.nIndicaCalculo}),[2,u("".concat(l.BASECORREIOS,"?").concat(new URLSearchParams(a).toString()),{method:"GET",headers:{"content-type":"text/xml"},responseType:"arraybuffer"}).then((function(n){var r,o,c=(r=function(n,e){return t.decode(Buffer.from(n),e).toString()}(n.data,"iso-8859-1"),JSON.parse(e.xml2json(r,{compact:!0})));return p((o=c.Servicos.cServico,Object.keys(o).reduce((function(n,t){return n[t]=o[t]._text?o[t]._text:o[t]._cdata,n}),{})))})).catch((function(n){f(n)}))]}))}))}))}(n,o)}))).then((function(n){return n}))}var f="YW5kcm9pZDtici5jb20uY29ycmVpb3MucHJlYXRlbmRpbWVudG87RjMyRTI5OTc2NzA5MzU5ODU5RTBCOTdGNkY4QTQ4M0I5Qjk1MzU3OA==",h=null,d=0,m=null;function v(n){return Promise.all(n.map((function(n){return function(n){return new Promise((function(t,e){(function(){if(h&&d>Date.now())return Promise.resolve(h);if(m)return m;return m=new Promise((function(n,t){u(l.PROXYAPP_TOKEN,{method:"POST",headers:{"content-type":"application/json","user-agent":"Dart/2.18 (dart:io)"},data:{requestToken:f}}).then((function(t){m=null;var e=t.data.token,r=e.split(".")[1],o=Buffer.from(r,"base64").toString("ascii"),c=JSON.parse(o);h=e,d=1e3*c.exp-12e4,n(e)})).catch((function(n){h=null,d=0,m=null,t(new Error("Falha ao autenticar requisição"))}))})),m})().then((function(r){u("".concat(l.PROXYAPP_RASTREAR,"/").concat(n),{method:"GET",headers:{"content-type":"application/json","user-agent":"Dart/2.18 (dart:io)","app-check-token":r}}).then((function(n){return t(n.data.objetos[0])})).catch((function(n){e(n)}))})).catch(e)}))}(n)}))).then((function(n){return n}))}export{p as calcularPrecoPrazo,s as consultarCep,v as rastrearEncomendas};
//# sourceMappingURL=index.es.js.map