UNPKG

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
"use strict"; 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;