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