UNPKG

@disruptive-learning/cfdi-to-pdf

Version:

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

94 lines (93 loc) 3.66 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const catalogs_source_1 = require("#src/catalogs/catalogs_source"); const cfdi_data_1 = __importDefault(require("#src/cfdi_data")); const retenciones_data_1 = __importDefault(require("#src/retenciones_data")); const genericEmisorContent = (data, catalogs, primaryColor, bgGrayColor) => { const emisor = data.emisor(); const additionalEmisorData = []; let razonSocial = ''; let rfc = ''; let numCertificado = ''; let regimenFiscal = ''; let curp; if (data instanceof cfdi_data_1.default) { razonSocial = emisor.getAttribute('Nombre'); rfc = emisor.getAttribute('Rfc'); numCertificado = data.comprobante().getAttribute('NoCertificado'); regimenFiscal = emisor.getAttribute('RegimenFiscal'); } else if (data instanceof retenciones_data_1.default) { const retVersion = data.retenciones().getAttribute('Version'); razonSocial = emisor.getAttribute('NomDenRazSocE'); rfc = emisor.getAttribute(retVersion === '1.0' ? 'RFCEmisor' : 'RfcE'); numCertificado = data.retenciones().getAttribute('NumCert'); regimenFiscal = emisor.getAttribute('RegimenFiscalE'); curp = emisor.getAttribute('CURPE'); } if (regimenFiscal !== '') { additionalEmisorData.push([ { text: [ { text: 'Regimen Fiscal ', color: primaryColor }, { text: (0, catalogs_source_1.getKeyValueOfCatalog)('cfdi40RegimenesFiscales', regimenFiscal, catalogs), }, ], }, ]); } additionalEmisorData.push([ { text: [{ text: 'Número de certificado ', color: primaryColor }, { text: numCertificado }], }, ]); if (curp && curp !== '') { additionalEmisorData.push([ { text: [{ text: 'CURP ', color: primaryColor }, { text: curp }], }, ]); } return { table: { widths: ['49.5%', '*', '49.5%'], body: [ [ { text: 'Datos del emisor', style: ['tableSubtitleHeader'], color: primaryColor }, '', { text: 'Datos adicionales emisor', style: ['tableSubtitleHeader'], color: primaryColor }, ], [ { fillColor: bgGrayColor, table: { widths: ['*'], body: [ [{ text: razonSocial, style: ['subHeader'], color: primaryColor }], [{ text: [{ text: 'RFC ', color: primaryColor }, { text: rfc }] }], ], }, layout: 'tableLayout', border: [false, false, false, true], }, '', { fillColor: bgGrayColor, table: { widths: ['*'], body: additionalEmisorData, }, layout: 'tableLayout', border: [false, false, false, true], }, ], ], }, layout: 'tableLayout', }; }; exports.default = genericEmisorContent;