50 lines · 1.2 KB · JavaScript
RawDownload
'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;};