12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import {StatisticsCollector} from "./StatisticsCollector";
- const fs = require('fs').promises;
- async function main() {
- const args = process.argv.slice(2);
- if (args.length != 2) {
- console.error('Usage: [start bock number] [end block number]');
- process.exit(1);
- }
- const startBlock = Number(args[0]);
- const endBlock = Number(args[1]);
- if (isNaN(startBlock) || isNaN(endBlock) || startBlock >= endBlock) {
- console.error('Invalid block range');
- process.exit(1);
- }
- try {
- let fileData = await fs.readFile(__dirname + '/../report-template.md', {
- encoding: "utf8"
- });
- console.log('Getting report info...');
- let staticCollecttor = new StatisticsCollector();
- let statistics = await staticCollecttor.getStatistics(startBlock, endBlock);
- console.log('Writing info in the report...');
- let entries = Object.entries(statistics);
- for (let entry of entries){
- let regex = new RegExp('{' + entry[0] + '}', "g");
- fileData = fileData.replace(regex, entry[1].toString());
- }
- await fs.writeFile('report.md', fileData);
- console.log('Report generated!');
- process.exit(0);
- }catch (e) {
- console.error(e);
- }
- }
- main();
|