UNPKG

luhn-generator

Version:

A generator of numbers that passes the validation of Luhn algorithm or Luhn formula, also known as the 'modulus 10' or 'mod 10' algorithm

142 lines (132 loc) 4.56 kB
'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 };