@wavesenterprise/generator-cli
Version:
Waves Enterprise transactions generator CLI
71 lines (70 loc) • 2.63 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs = __importStar(require("fs"));
const chalk = require('chalk');
// const clear = require('clear');
const figlet = require('figlet');
const path = require('path');
const program = require('commander');
const generator_1 = require("./generator");
const configParser_1 = require("./configParser");
// clear();
console.log(chalk.green(figlet.textSync('tx generator', { horizontalLayout: 'full' })));
program
.version('0.2.0')
.description("Waves enterprise transactions generator")
.option('-c, --configPath <type>', 'Config file path')
.option('-o, --output <type>', 'Output directory', 'output')
.option('-broadcast, --broadcast', 'Broadcast', false)
.option('-concurrency, --concurrency <type>', 'Concurrency', null)
.parse(process.argv);
const options = program.opts();
const { configPath, broadcast, concurrency } = options;
if (configPath) {
if (fs.existsSync(configPath)) {
const rawData = fs.readFileSync(configPath);
let config = null;
try {
config = configParser_1.parseConfig(rawData.toString(), options);
}
catch (e) {
console.log('Parse config error:', e.message);
process.exit();
}
if (config) {
const generator = new generator_1.Generator(config);
if (broadcast) {
generator.broadcast({ concurrency: parseInt(concurrency) });
}
else {
generator.start();
}
}
}
else {
console.log(`Cannot read config file: "${configPath}". Check -c option`);
}
}
if (!process.argv.slice(2).length) {
program.outputHelp();
}