diff options
Diffstat (limited to 'deps/npm/node_modules/libnpx/node_modules/yargs/lib/argsert.js')
-rw-r--r-- | deps/npm/node_modules/libnpx/node_modules/yargs/lib/argsert.js | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/argsert.js b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/argsert.js index d3e72fce57..ed1d598713 100644 --- a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/argsert.js +++ b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/argsert.js @@ -1,20 +1,21 @@ +'use strict' const command = require('./command')() const YError = require('./yerror') const positionName = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth'] -module.exports = function (expected, callerArguments, length) { +module.exports = function argsert (expected, callerArguments, length) { // TODO: should this eventually raise an exception. try { // preface the argument description with "cmd", so // that we can run it through yargs' command parser. - var position = 0 - var parsed = {demanded: [], optional: []} + let position = 0 + let parsed = {demanded: [], optional: []} if (typeof expected === 'object') { length = callerArguments callerArguments = expected } else { - parsed = command.parseCommand('cmd ' + expected) + parsed = command.parseCommand(`cmd ${expected}`) } const args = [].slice.call(callerArguments) @@ -22,33 +23,27 @@ module.exports = function (expected, callerArguments, length) { length = length || args.length if (length < parsed.demanded.length) { - throw new YError('Not enough arguments provided. Expected ' + parsed.demanded.length + - ' but received ' + args.length + '.') + throw new YError(`Not enough arguments provided. Expected ${parsed.demanded.length} but received ${args.length}.`) } const totalCommands = parsed.demanded.length + parsed.optional.length if (length > totalCommands) { - throw new YError('Too many arguments provided. Expected max ' + totalCommands + - ' but received ' + length + '.') + throw new YError(`Too many arguments provided. Expected max ${totalCommands} but received ${length}.`) } - parsed.demanded.forEach(function (demanded) { + parsed.demanded.forEach((demanded) => { const arg = args.shift() const observedType = guessType(arg) - const matchingTypes = demanded.cmd.filter(function (type) { - return type === observedType || type === '*' - }) + const matchingTypes = demanded.cmd.filter(type => type === observedType || type === '*') if (matchingTypes.length === 0) argumentTypeError(observedType, demanded.cmd, position, false) position += 1 }) - parsed.optional.forEach(function (optional) { + parsed.optional.forEach((optional) => { if (args.length === 0) return const arg = args.shift() const observedType = guessType(arg) - const matchingTypes = optional.cmd.filter(function (type) { - return type === observedType || type === '*' - }) + const matchingTypes = optional.cmd.filter(type => type === observedType || type === '*') if (matchingTypes.length === 0) argumentTypeError(observedType, optional.cmd, position, true) position += 1 }) @@ -67,6 +62,5 @@ function guessType (arg) { } function argumentTypeError (observedType, allowedTypes, position, optional) { - throw new YError('Invalid ' + (positionName[position] || 'manyith') + ' argument.' + - ' Expected ' + allowedTypes.join(' or ') + ' but received ' + observedType + '.') + throw new YError(`Invalid ${positionName[position] || 'manyith'} argument. Expected ${allowedTypes.join(' or ')} but received ${observedType}.`) } |