mock-convert
Version:
convert interface data to mock data
42 lines (36 loc) • 1.11 kB
JavaScript
const program = require('commander');
const pkg = require('../package');
const defaultConfig = require('../config');
const path = require('path');
const generater = require('../src');
program
.version(pkg.version, '版本号')
.option('-d --debug', '调试')
.option('-c --config [config]', 'Json文件路径').parse(process.argv);
function mergeOpts(defaultOpts, userOpts) {
if (userOpts && defaultOpts) {
const opts = [];
const keys = new Set();
for (let i = 0, len = userOpts.length; i < len; i++) {
keys.add(userOpts[i].identifier);
opts.push(userOpts[i]);
}
return opts.concat(defaultOpts.filter((parse) => {
return !keys.has(parse.identifier);
}));
}
return userOpts || defaultOpts;
}
function getConfig() {
let cfg = defaultConfig;
if (program.config) {
const config = require(path.resolve(program.config));
const opts = mergeOpts(defaultConfig.parseOpt, config.parseOpt);
cfg = Object.assign({}, defaultConfig, config);
cfg.parseOpt = opts;
}
return cfg;
}
const cfg = getConfig();
generater(cfg);