UNPKG

file-converter-nodejs

Version:

A powerful Node.js package for converting files between various formats, splitting and merging files, and automating complex file operations. Backed by LibreOffice and Python, this tool makes file processing seamless for developers.

114 lines (113 loc) 2.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getConversionSettings = exports.conversionsConfig = void 0; exports.conversionsConfig = { pdf: { pptx: { filter: '"Impress MS PowerPoint 2007 XML"', infilter: 'impress_pdf_import', }, png: { processors: [ { type: 'pdf-split' }, { type: 'convert-each', filter: 'draw_png_Export' }, ], }, jpg: { processors: [ { type: 'pdf-split' }, { type: 'convert-each', filter: 'draw_jpg_Export' }, ], }, html: { filter: 'impress_html_Export:EmbedImages', }, docx: { processors: [ { type: 'pdf-split' }, { type: 'convert-each', infilter: 'writer_pdf_import' }, { type: 'merge-docx' }, { type: 'clean-up' }, ], }, }, pptx: { pdf: { filter: 'writer_pdf_Export', }, html: { filter: 'impress_html_Export:EmbedImages', }, png: { processors: [ { type: 'pptx-split' }, { type: 'convert-each', filter: 'draw_png_Export' }, ], }, jpg: { processors: [ { type: 'pptx-split' }, { type: 'convert-each', filter: 'draw_jpg_Export' }, ], }, }, png: { pdf: { filter: 'writer_pdf_Export', }, jpg: { filter: 'draw_jpg_Export', }, svg: { filter: 'draw_svg_Export', }, }, jpg: { pdf: { filter: 'writer_pdf_Export', }, png: { filter: 'draw_png_Export', }, svg: { filter: 'draw_svg_Export', }, }, svg: { pdf: { filter: 'writer_pdf_Export', }, png: { filter: 'draw_png_Export', }, jpg: { filter: 'draw_jpg_Export', }, }, xlsx: { pdf: { filter: 'calc_pdf_Export', }, csv: {}, html: {}, }, csv: { xlsx: {}, pdf: { filter: 'calc_pdf_Export', }, html: {}, }, }; const isValidFormat = (format) => Object.keys(exports.conversionsConfig).includes(format) || Object.values(exports.conversionsConfig).some((value) => Object.keys(value).includes(format)); const getConversionSettings = (from, to) => { if (!isValidFormat(from)) { throw new Error(`Invalid format: ${from}`); } if (!isValidFormat(to)) { throw new Error(`Invalid format: ${to}`); } return exports.conversionsConfig[from][to]; }; exports.getConversionSettings = getConversionSettings;