Spaces:
Running
Running
/** | |
* @module command-line-usage | |
*/ | |
/** | |
* Generates a usage guide suitable for a command-line app. | |
* @param {Section|Section[]} - One or more section objects ({@link module:command-line-usage~content} or {@link module:command-line-usage~optionList}). | |
* @returns {string} | |
* @alias module:command-line-usage | |
*/ | |
function commandLineUsage (sections) { | |
const arrayify = require('array-back') | |
sections = arrayify(sections) | |
if (sections.length) { | |
const OptionList = require('./lib/section/option-list') | |
const ContentSection = require('./lib/section/content') | |
const output = sections.map(section => { | |
if (section.optionList) { | |
return new OptionList(section) | |
} else { | |
return new ContentSection(section) | |
} | |
}) | |
return '\n' + output.join('\n') | |
} else { | |
return '' | |
} | |
} | |
module.exports = commandLineUsage | |