|
|
- 'use strict';
-
-
- 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;
- };
|