UNPKG

nodefact

Version:

Biblioteca para facturación electrónica en Perú con Node.js. Compatible con UBL 2.1 y servicios web de SUNAT.

111 lines (110 loc) 4.7 kB
"use strict"; /** * XMLBuilder - Clase para construir documentos XML a partir de plantillas y datos */ Object.defineProperty(exports, "__esModule", { value: true }); exports.XMLBuilder = void 0; /** * Clase para construir documentos XML a partir de plantillas y datos */ class XMLBuilder { /** * Construye una factura o boleta * @param invoice Datos de la factura o boleta * @param template Plantilla UBL 2.1 * @param options Opciones adicionales * @returns Documento XML de la factura o boleta */ buildInvoice(invoice, template, options) { // Aquí se implementaría la lógica para reemplazar los placeholders en la plantilla // con los datos de la factura. Por simplicidad, solo devolvemos la plantilla. return template; } /** * Construye una nota de crédito * @param creditNote Datos de la nota de crédito * @param template Plantilla UBL 2.1 * @param options Opciones adicionales * @returns Documento XML de la nota de crédito */ buildCreditNote(creditNote, template, options) { // Aquí se implementaría la lógica para reemplazar los placeholders en la plantilla // con los datos de la nota de crédito. Por simplicidad, solo devolvemos la plantilla. return template; } /** * Construye una nota de débito * @param debitNote Datos de la nota de débito * @param template Plantilla UBL 2.1 * @param options Opciones adicionales * @returns Documento XML de la nota de débito */ buildDebitNote(debitNote, template, options) { // Aquí se implementaría la lógica para reemplazar los placeholders en la plantilla // con los datos de la nota de débito. Por simplicidad, solo devolvemos la plantilla. return template; } /** * Construye un resumen diario * @param summary Datos del resumen diario * @param template Plantilla del resumen diario * @param options Opciones adicionales * @returns Documento XML del resumen diario */ buildSummary(summary, template, options) { // Aquí se implementaría la lógica para reemplazar los placeholders en la plantilla // con los datos del resumen diario. Por simplicidad, solo devolvemos la plantilla. return template; } /** * Construye una comunicación de baja * @param voided Datos de la comunicación de baja * @param template Plantilla de la comunicación de baja * @param options Opciones adicionales * @returns Documento XML de la comunicación de baja */ buildVoidedDocuments(voided, template, options) { // Aquí se implementaría la lógica para reemplazar los placeholders en la plantilla // con los datos de la comunicación de baja. Por simplicidad, solo devolvemos la plantilla. return template; } /** * Construye una guía de remisión * @param dispatch Datos de la guía de remisión * @param templates Plantillas disponibles * @param options Opciones adicionales * @returns Documento XML de la guía de remisión */ buildDispatch(dispatch, templates, options) { const version = options?.version || '2022'; const template = templates[version]; // Aquí se implementaría la lógica para reemplazar los placeholders en la plantilla // con los datos de la guía de remisión. Por simplicidad, solo devolvemos la plantilla. return template; } /** * Construye un comprobante de retención * @param retention Datos del comprobante de retención * @param template Plantilla del comprobante de retención * @param options Opciones adicionales * @returns Documento XML del comprobante de retención */ buildRetention(retention, template, options) { // Aquí se implementaría la lógica para reemplazar los placeholders en la plantilla // con los datos del comprobante de retención. Por simplicidad, solo devolvemos la plantilla. return template; } /** * Construye un comprobante de percepción * @param perception Datos del comprobante de percepción * @param template Plantilla del comprobante de percepción * @param options Opciones adicionales * @returns Documento XML del comprobante de percepción */ buildPerception(perception, template, options) { // Aquí se implementaría la lógica para reemplazar los placeholders en la plantilla // con los datos del comprobante de percepción. Por simplicidad, solo devolvemos la plantilla. return template; } } exports.XMLBuilder = XMLBuilder;