UNPKG

omniscript-converters

Version:

Format converters for OmniScript Format (OSF) - Convert to/from DOCX, PPTX, XLSX, PDF

96 lines (92 loc) 3.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.testConverters = testConverters; const fs_1 = require("fs"); const omniscript_parser_1 = require("omniscript-parser"); const index_1 = require("./index"); async function testConverters() { // Load a sample OSF file const sampleOSF = ` @meta { title: "Test Document"; author: "Test Author"; date: "2025-01-01"; theme: "corporate"; } @doc { # Introduction This is a **test document** with *various* formatting elements. ## Key Features - Rich text support - Multiple output formats - Formula calculations } @slide { title: "Sample Slide"; bullets { "First bullet point"; "Second bullet point"; "Third bullet point"; } } @sheet { name: "Sales Data"; cols: [Region, Q1, Q2, Growth]; data { (1,1)="North"; (1,2)=100; (1,3)=120; (2,1)="South"; (2,2)=150; (2,3)=180; } formula (1,4): "=(C1-B1)/B1*100"; formula (2,4): "=(C2-B2)/B2*100"; } `; console.log('Parsing OSF document...'); const document = (0, omniscript_parser_1.parse)(sampleOSF); const options = { theme: 'corporate', includeMetadata: true, pageSize: 'A4', orientation: 'portrait' }; try { // Test PDF Converter console.log('Testing PDF converter...'); const pdfConverter = new index_1.PDFConverter(); const pdfResult = await pdfConverter.convert(document, options); (0, fs_1.writeFileSync)('./test-output.pdf', pdfResult.buffer); console.log('✅ PDF conversion successful'); // Test DOCX Converter console.log('Testing DOCX converter...'); const docxConverter = new index_1.DOCXConverter(); const docxResult = await docxConverter.convert(document, options); (0, fs_1.writeFileSync)('./test-output.docx', docxResult.buffer); console.log('✅ DOCX conversion successful'); // Test PPTX Converter console.log('Testing PPTX converter...'); const pptxConverter = new index_1.PPTXConverter(); const pptxResult = await pptxConverter.convert(document, options); (0, fs_1.writeFileSync)('./test-output.pptx', pptxResult.buffer); console.log('✅ PPTX conversion successful'); // Test XLSX Converter console.log('Testing XLSX converter...'); const xlsxConverter = new index_1.XLSXConverter(); const xlsxResult = await xlsxConverter.convert(document, options); (0, fs_1.writeFileSync)('./test-output.xlsx', xlsxResult.buffer); console.log('✅ XLSX conversion successful'); console.log('\n🎉 All converters tested successfully!'); console.log('Output files generated:'); console.log('- test-output.pdf'); console.log('- test-output.docx'); console.log('- test-output.pptx'); console.log('- test-output.xlsx'); } catch (error) { console.error('❌ Test failed:', error); process.exit(1); } } // Run tests if this file is executed directly if (require.main === module) { testConverters().catch(console.error); } //# sourceMappingURL=test.js.map