UNPKG

mock-convert

Version:

convert interface data to mock data

49 lines (47 loc) 1.52 kB
const fetchData = require('./service'); const parseData = require('./parse'); const persistData = require('./persist'); const debug = require('debug')('mockGen'); module.exports = function generator(config) { const { projectJsonUrl, parseOpt, outOpt, translateOpt, basePath } = config; debug('config: %O', config); debug('fetch data, url: %s', projectJsonUrl); if (!projectJsonUrl) { throw new Error('set url in config file first'); } if (Array.isArray(projectJsonUrl)) { const parseDatas = []; for (let i = 0; i < projectJsonUrl.length; i++) { fetchData(projectJsonUrl[i], (err, jsonData) => { if (!err) { parseData(jsonData, basePath, parseOpt, (err0, data) => { if (!err0) { parseDatas.push(data); if (parseDatas.length === projectJsonUrl.length) { persistData(parseDatas, outOpt, translateOpt); } } else { debug('parse data failed, err: %O', err0); } }); } else { debug('fetch failed, err: %O', err); } }); } } else { fetchData(projectJsonUrl, (err, jsonData) => { if (!err) { parseData(jsonData, basePath, parseOpt, (err0, data) => { if (!err0) { persistData(data, outOpt, translateOpt); } else { debug('parse data failed, err: %O', err0); } }); } else { debug('fetch failed, err: %O', err); } }); } };