Spaces:
Runtime error
Runtime error
; | |
var format = require('util').format; | |
var ERR_CODE = 'ARGError'; | |
/*:nodoc:* | |
* argumentError(argument, message) -> TypeError | |
* - argument (Object): action with broken argument | |
* - message (String): error message | |
* | |
* Error format helper. An error from creating or using an argument | |
* (optional or positional). The string value of this exception | |
* is the message, augmented with information | |
* about the argument that caused it. | |
* | |
* #####Example | |
* | |
* var argumentErrorHelper = require('./argument/error'); | |
* if (conflictOptionals.length > 0) { | |
* throw argumentErrorHelper( | |
* action, | |
* format('Conflicting option string(s): %s', conflictOptionals.join(', ')) | |
* ); | |
* } | |
* | |
**/ | |
module.exports = function (argument, message) { | |
var argumentName = null; | |
var errMessage; | |
var err; | |
if (argument.getName) { | |
argumentName = argument.getName(); | |
} else { | |
argumentName = '' + argument; | |
} | |
if (!argumentName) { | |
errMessage = message; | |
} else { | |
errMessage = format('argument "%s": %s', argumentName, message); | |
} | |
err = new TypeError(errMessage); | |
err.code = ERR_CODE; | |
return err; | |
}; | |