UNPKG

@warriorjs/cli

Version:

WarriorJS command line

71 lines (63 loc) 1.66 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _yargs = require('yargs'); var _yargs2 = _interopRequireDefault(_yargs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Parses the provided args. * * @param {string[]} args The args no parse. * * @returns {Object} The parsed args. */ function parseArgs(args) { return _yargs2.default.usage('Usage: $0 [options]').options({ d: { alias: 'directory', default: '.', describe: 'Run under given directory', type: 'string' }, l: { alias: 'level', coerce: arg => { const parsed = Number.parseInt(arg, 10); if (Number.isNaN(parsed)) { throw new Error('Invalid argument: level must be a number'); } return parsed; }, describe: 'Practice level (epic mode only)', type: 'number' }, s: { alias: 'silent', default: false, describe: 'Suppress play log', type: 'boolean' }, t: { alias: 'time', coerce: arg => { const parsed = Number.parseFloat(arg); if (Number.isNaN(parsed)) { throw new Error('Invalid argument: time must be a number'); } return parsed; }, default: 0.6, describe: 'Delay each turn by seconds', type: 'number' }, y: { alias: 'yes', default: false, describe: 'Assume yes in non-destructive confirmation dialogs', type: 'boolean' } }).version().help().strict().parse(args); } exports.default = parseArgs; module.exports = exports.default;