Chart-ECharts

 view release on metacpan or  search on metacpan

share/render.cjs  view on Meta::CPAN

#!/usr/bin/env node

'use strict';

const { createCanvas } = require('canvas');
const echarts = require('echarts');

const { writeFile } = require('node:fs');
const { parseArgs } = require('node:util');

const args = parseArgs({
    options: {
        format: {
            type: "string",
            default: 'svg',
        },
        width: {
            type: 'string',
            default: '400'
        },
        height: {
            type: 'string',
            default: '300'
        },
        option: {
            type: 'string',
            default: '{}'
        },
        output: {
            type: 'string'
        }
    }
});

const format = args.values.format;
const option = args.values.option;
const width = args.values.width;
const height = args.values.height;
const output = args.values.output;

if (format !== 'svg' && format !== 'png') {
    console.error('Unknown output format');
    process.exit(1);
}

if (!output) {
    console.error('Missing output file');
    process.exit(1);
}

const default_option = {
    animation: false,
    tooltip: {},
    series: {}
};

let chart_option = JSON.parse(option);

let canvas = null;
let theme = null;
let opts = {};

if (format == 'svg') {
    opts = {
        renderer: 'svg',
        ssr: true,
        width: width,
        height: height
    };



( run in 0.920 second using v1.01-cache-2.11-cpan-39bf76dae61 )