|  | 'use strict'; | 
|  | /** | 
|  | * @module Errors | 
|  | */ | 
|  | /** | 
|  | * Factory functions to create throwable error objects | 
|  | */ | 
|  |  | 
|  | /** | 
|  | * Creates an error object to be thrown when no files to be tested could be found using specified pattern. | 
|  | * | 
|  | * @public | 
|  | * @param {string} message - Error message to be displayed. | 
|  | * @param {string} pattern - User-specified argument value. | 
|  | * @returns {Error} instance detailing the error condition | 
|  | */ | 
|  | function createNoFilesMatchPatternError(message, pattern) { | 
|  | var err = new Error(message); | 
|  | err.code = 'ERR_MOCHA_NO_FILES_MATCH_PATTERN'; | 
|  | err.pattern = pattern; | 
|  | return err; | 
|  | } | 
|  |  | 
|  | /** | 
|  | * Creates an error object to be thrown when the reporter specified in the options was not found. | 
|  | * | 
|  | * @public | 
|  | * @param {string} message - Error message to be displayed. | 
|  | * @param {string} reporter - User-specified reporter value. | 
|  | * @returns {Error} instance detailing the error condition | 
|  | */ | 
|  | function createInvalidReporterError(message, reporter) { | 
|  | var err = new TypeError(message); | 
|  | err.code = 'ERR_MOCHA_INVALID_REPORTER'; | 
|  | err.reporter = reporter; | 
|  | return err; | 
|  | } | 
|  |  | 
|  | /** | 
|  | * Creates an error object to be thrown when the interface specified in the options was not found. | 
|  | * | 
|  | * @public | 
|  | * @param {string} message - Error message to be displayed. | 
|  | * @param {string} ui - User-specified interface value. | 
|  | * @returns {Error} instance detailing the error condition | 
|  | */ | 
|  | function createInvalidInterfaceError(message, ui) { | 
|  | var err = new Error(message); | 
|  | err.code = 'ERR_MOCHA_INVALID_INTERFACE'; | 
|  | err.interface = ui; | 
|  | return err; | 
|  | } | 
|  |  | 
|  | /** | 
|  | * Creates an error object to be thrown when a behavior, option, or parameter is unsupported. | 
|  | * | 
|  | * @public | 
|  | * @param {string} message - Error message to be displayed. | 
|  | * @returns {Error} instance detailing the error condition | 
|  | */ | 
|  | function createUnsupportedError(message) { | 
|  | var err = new Error(message); | 
|  | err.code = 'ERR_MOCHA_UNSUPPORTED'; | 
|  | return err; | 
|  | } | 
|  |  | 
|  | /** | 
|  | * Creates an error object to be thrown when an argument is missing. | 
|  | * | 
|  | * @public | 
|  | * @param {string} message - Error message to be displayed. | 
|  | * @param {string} argument - Argument name. | 
|  | * @param {string} expected - Expected argument datatype. | 
|  | * @returns {Error} instance detailing the error condition | 
|  | */ | 
|  | function createMissingArgumentError(message, argument, expected) { | 
|  | return createInvalidArgumentTypeError(message, argument, expected); | 
|  | } | 
|  |  | 
|  | /** | 
|  | * Creates an error object to be thrown when an argument did not use the supported type | 
|  | * | 
|  | * @public | 
|  | * @param {string} message - Error message to be displayed. | 
|  | * @param {string} argument - Argument name. | 
|  | * @param {string} expected - Expected argument datatype. | 
|  | * @returns {Error} instance detailing the error condition | 
|  | */ | 
|  | function createInvalidArgumentTypeError(message, argument, expected) { | 
|  | var err = new TypeError(message); | 
|  | err.code = 'ERR_MOCHA_INVALID_ARG_TYPE'; | 
|  | err.argument = argument; | 
|  | err.expected = expected; | 
|  | err.actual = typeof argument; | 
|  | return err; | 
|  | } | 
|  |  | 
|  | /** | 
|  | * Creates an error object to be thrown when an argument did not use the supported value | 
|  | * | 
|  | * @public | 
|  | * @param {string} message - Error message to be displayed. | 
|  | * @param {string} argument - Argument name. | 
|  | * @param {string} value - Argument value. | 
|  | * @param {string} [reason] - Why value is invalid. | 
|  | * @returns {Error} instance detailing the error condition | 
|  | */ | 
|  | function createInvalidArgumentValueError(message, argument, value, reason) { | 
|  | var err = new TypeError(message); | 
|  | err.code = 'ERR_MOCHA_INVALID_ARG_VALUE'; | 
|  | err.argument = argument; | 
|  | err.value = value; | 
|  | err.reason = typeof reason !== 'undefined' ? reason : 'is invalid'; | 
|  | return err; | 
|  | } | 
|  |  | 
|  | /** | 
|  | * Creates an error object to be thrown when an exception was caught, but the `Error` is falsy or undefined. | 
|  | * | 
|  | * @public | 
|  | * @param {string} message - Error message to be displayed. | 
|  | * @returns {Error} instance detailing the error condition | 
|  | */ | 
|  | function createInvalidExceptionError(message, value) { | 
|  | var err = new Error(message); | 
|  | err.code = 'ERR_MOCHA_INVALID_EXCEPTION'; | 
|  | err.valueType = typeof value; | 
|  | err.value = value; | 
|  | return err; | 
|  | } | 
|  |  | 
|  | module.exports = { | 
|  | createInvalidArgumentTypeError: createInvalidArgumentTypeError, | 
|  | createInvalidArgumentValueError: createInvalidArgumentValueError, | 
|  | createInvalidExceptionError: createInvalidExceptionError, | 
|  | createInvalidInterfaceError: createInvalidInterfaceError, | 
|  | createInvalidReporterError: createInvalidReporterError, | 
|  | createMissingArgumentError: createMissingArgumentError, | 
|  | createNoFilesMatchPatternError: createNoFilesMatchPatternError, | 
|  | createUnsupportedError: createUnsupportedError | 
|  | }; |