UNPKG

rastreio

Version:
56 lines (41 loc) 1.71 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = rastreio; var _x2js = require('x2js'); var _x2js2 = _interopRequireDefault(_x2js); var _request = require('./request'); var _xml2 = require('./formato/xml'); var _json2 = require('./formato/json'); var _humanize2 = require('./formato/humanize'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function rastreio() { var objetos = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0]; var opcoes = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; opcoes.resultado = opcoes.resultado.toUpperCase(); var resultado = ['U', 'T', 'ULTIMO', 'TODOS'].indexOf(opcoes.resultado); var formato = ['xml', 'json', 'humanize'].indexOf(opcoes.formato); var fun = { xml: _xml2.xml, json: _json2.json, humanize: _humanize2.humanize }; var pms = new Promise(function (resolve, reject) { if (resultado < 0) { reject(new TypeError('Esperado uma das opções u, t, todos ou ultimo como resultado', 'rastreio')); } if (formato < 0) { reject(new TypeError('Esperado uma das opções xml, json ou humanize', 'rastreio')); } if (!Array.isArray(objetos)) { reject(new TypeError('Esperado um array como primeiro argumento', 'rastreio')); } (0, _request.request)(objetos, opcoes.resultado).then(function (response) { var x2js = new _x2js2.default(); var document = x2js.xml2js(response); return document.Envelope.Body.buscaEventosListaResponse; }).then(fun[opcoes.formato]).then(function (result) { return resolve(result); }).catch(function (err) { reject(err); }); }); return pms; }