UNPKG

@disruptive-learning/cfdi-to-pdf

Version:

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

69 lines (68 loc) 4.07 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_generic_translator_1 = __importDefault(require("#src/templates/abstract_generic_translator")); const plataformas_tecnologicas10_complement_1 = __importDefault(require("#src/templates/complements/plataformas_tecnologicas10_complement")); const generic_emisor_content_1 = __importDefault(require("#src/templates/sections/generic_emisor_content")); const generic_footer_1 = __importDefault(require("#src/templates/sections/generic_footer")); const generic_receptor_content_1 = __importDefault(require("#src/templates/sections/generic_receptor_content")); const generic_retencion_periodo_content_1 = __importDefault(require("#src/templates/sections/generic_retencion_periodo_content")); const generic_retencion_totales_content_1 = __importDefault(require("#src/templates/sections/generic_retencion_totales_content")); const generic_stamp_content_1 = __importDefault(require("#src/templates/sections/generic_stamp_content")); const generic_top_content_1 = __importDefault(require("#src/templates/sections/generic_top_content")); class GenericRetencionesTranslator extends abstract_generic_translator_1.default { translate(data, documentOptions, catalogs, primaryColor, bgGrayColor) { const retencionesContent = [ (0, generic_top_content_1.default)(data, catalogs, primaryColor), this.genericSpace(2), (0, generic_emisor_content_1.default)(data, catalogs, primaryColor, bgGrayColor), this.genericSpace(2), (0, generic_receptor_content_1.default)(data, catalogs, primaryColor, bgGrayColor), this.genericSpace(2), ]; const isVersionOne = data.retenciones().getAttribute('Version') === '1.0'; retencionesContent.push((0, generic_retencion_periodo_content_1.default)(data.periodo(), isVersionOne, catalogs, primaryColor, bgGrayColor), this.genericSpace(2), ...(0, generic_retencion_totales_content_1.default)(data.totales(), isVersionOne, catalogs, primaryColor, bgGrayColor), this.genericSpace(2)); const plataformasTecnologicas = data .retenciones() .searchNode('retenciones:Complemento', 'plataformasTecnologicas:ServiciosPlataformasTecnologicas'); if (plataformasTecnologicas) { const plataformasTable = (0, plataformas_tecnologicas10_complement_1.default)(plataformasTecnologicas, primaryColor, bgGrayColor); if (plataformasTable) { retencionesContent.push({ table: { widths: ['10%', '10%', '10%', '10%', '10%', '10%', '10%', '10%', '10%', '10%'], body: plataformasTable, }, layout: 'tableLayout', }, this.genericSpace(2)); } } // AdditionalFields const additionalFields = data.additionalFields(); if (additionalFields) { for (const element of additionalFields) { retencionesContent.push({ table: { widths: ['*'], body: [ [{ text: element.title, style: ['tableSubtitleHeader'], color: primaryColor }], [element.value], ], }, layout: 'tableLayout', }, this.genericSpace()); } } retencionesContent.push((0, generic_stamp_content_1.default)(data.timbreFiscalDigital(), data.tfdSourceString(), data.qrUrl(), primaryColor)); return { ...documentOptions, content: retencionesContent, footer: (currentPage, pageCount, _) => { return (0, generic_footer_1.default)(currentPage, pageCount, data); }, }; } } exports.default = GenericRetencionesTranslator;