envio-comprobantes-sri
Version:
Envia comprobantes electronicos al SRI (Ecuador). Recibe un objeto JSON. Lo convierte a XML, lo firma, lo envía al servicio web del SRI y devuelve la respuesta.
35 lines (34 loc) • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = require("axios");
const Comprobante_to_XML_1 = require("../Comprobante-to-XML");
const parseWebServiceResponse_1 = require("./parseWebServiceResponse");
class EnvioComprobantesSRIError extends Error {
document_type;
original;
xmlResultSet;
name = "EnvioComprobantesSRIError";
details;
/**
*
* @param {ComprobanteType} document_type Tipo de Comprobante en que la transacción falló.
* @param {Error} original Error original (esta clase es un wrapper del error original, pero simplificado).
* @param {String[]} resultSet Lista de resultados obtenidos hasta que ocurrió el error.
*/
constructor(document_type, original, xmlResultSet) {
super(original.message || "No se pudo completar el envío del comprobante al SRI", { cause: original });
this.document_type = document_type;
this.original = original;
this.xmlResultSet = xmlResultSet;
if (original instanceof parseWebServiceResponse_1.WebServiceSRIError) {
this.details = original.error_list.map(x => (x.message || "") + ". " + (x.additional_info || "")).join("\n");
}
if (original instanceof Comprobante_to_XML_1.DocumentContentError) {
this.details = original.validationErrors.map(x => x.toString()).join("\n");
}
if (original instanceof axios_1.AxiosError) {
this.details = `${original.name}. code: ${original.code}. request-status${original.request?.status || ""}. response-status: ${original.response.status || ""}. ${original.message}. ${original.cause?.message || ""}`;
}
}
}
exports.default = EnvioComprobantesSRIError;