UNPKG

@disruptive-learning/cfdi-to-pdf

Version:

Librería para crear un pdf basado en un XML CFDI o Retenciones

50 lines (49 loc) 1.95 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const abstract_invoice_data_1 = __importDefault(require("#src/abstract_invoice_data")); class CfdiData extends abstract_invoice_data_1.default { _comprobante; _address; constructor(comprobante, qrUrl, tfdSourceString, logo, address, additionalFields) { super(); const emisor = comprobante.searchNode('cfdi:Emisor'); if (!emisor) { throw new Error('El CFDI no contiene nodo emisor'); } const receptor = comprobante.searchNode('cfdi:Receptor'); if (!receptor) { throw new Error('El CFDI no contiene nodo receptor'); } const timbreFiscalDigital = comprobante.searchNode('cfdi:Complemento', 'tfd:TimbreFiscalDigital'); if (!timbreFiscalDigital) { throw new Error('El CFDI no contiene complemento de timbre fiscal digital'); } this._comprobante = comprobante; this._emisor = emisor; this._receptor = receptor; this._timbreFiscalDigital = timbreFiscalDigital; this._qrUrl = qrUrl ?? ''; this._tfdSourceString = tfdSourceString ?? ''; this._logo = logo; this._address = address; this._additionalFields = additionalFields; if (this._qrUrl.trim().length === 0) { this.buildUrlQr(this._comprobante); } if (this._tfdSourceString.trim().length === 0) { this.buildTfdSource(); } this._legendFooter = 'Este documento es una representación impresa de un Comprobante Fiscal Digital a través de Internet versión {version}'; } comprobante() { return this._comprobante; } address() { return this._address; } } exports.default = CfdiData;