UNPKG

candlestick-chart-generator

Version:

A Node.js library for generating candlestick chart screenshots using financial data

74 lines (65 loc) 2.69 kB
const CandlestickChartGeneratorCanvas = require('../index_canvas'); async function testCanvasCharts() { const generator = new CandlestickChartGeneratorCanvas(); try { console.log('=== Testing Canvas-based Candlestick Chart Generator ===\n'); // Test 1: AAPL Daily Chart console.log('1. Generating AAPL daily chart with Canvas...'); await generator.generateChartScreenshot({ symbol: 'AAPL', interval: '1d', startDate: '2023-01-01', endDate: '2023-12-31', outputPath: 'examples/aapl_daily_canvas.png', width: 1000, height: 500 }); console.log('✅ AAPL daily chart saved to examples/aapl_daily_canvas.png\n'); // Test 2: BTC-USD Hourly Chart console.log('2. Generating BTC-USD hourly chart with Canvas...'); const oneWeekAgo = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000); await generator.generateChartScreenshot({ symbol: 'BTC-USD', interval: '1h', startDate: oneWeekAgo, endDate: new Date(), outputPath: 'examples/btc_hourly_canvas.png', width: 1200, height: 600 }); console.log('✅ BTC-USD hourly chart saved to examples/btc_hourly_canvas.png\n'); // Test 3: EURUSD 1-minute Chart console.log('3. Generating EURUSD 1-minute chart with Canvas...'); const oneDayAgo = new Date(Date.now() - 24 * 60 * 60 * 1000); await generator.generateChartScreenshot({ symbol: 'EURUSD=X', interval: '1m', startDate: oneDayAgo, endDate: new Date(), outputPath: 'examples/eurusd_1m_canvas.png', width: 1200, height: 600 }); console.log('✅ EURUSD 1-minute chart saved to examples/eurusd_1m_canvas.png\n'); // Test 4: Generate chart as base64 data console.log('4. Generating chart as base64 data with Canvas...'); const base64Data = await generator.generateChartBase64({ symbol: 'TSLA', interval: '1d', startDate: '2023-06-01', endDate: '2023-12-31', width: 800, height: 400 }); console.log(`✅ TSLA chart generated as base64 (${base64Data.length} characters)\n`); console.log('🎉 All Canvas chart tests completed successfully!'); } catch (error) { console.error('❌ Error:', error.message); console.error('Stack trace:', error.stack); } finally { // Clean up await generator.close(); } } // Run the tests testCanvasCharts();