const generateDoc = require('./doc')

async function generate(type, options) {
  const generateHandler = {
    doc: generateDoc, // 处理文档生成
  }
  if (Object.prototype.hasOwnProperty.call(generateHandler, type)) {
    await generateHandler[type](options)
  }
}

async function execGenerate(options) {
  // 理论上这里的options永远只会有一个key。之所以用Object.keys加forEach的组合，是为了应对key为任何值的情况，便于扩展
  Object.keys(options).forEach(async (type) => {
    await generate(type, options)
  })
}

module.exports = execGenerate
