UNPKG

@disruptive-learning/cfdi-to-pdf

Version:

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

44 lines (43 loc) 1.68 kB
import AbstractInvoiceData from '#src/abstract_invoice_data'; export default class CfdiData extends AbstractInvoiceData { _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; } }