format: prettify entire project
This commit is contained in:
220
node_modules/http-errors/index.js
generated
vendored
220
node_modules/http-errors/index.js
generated
vendored
@ -5,38 +5,44 @@
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
'use strict'
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
* @private
|
||||
*/
|
||||
|
||||
var deprecate = require('depd')('http-errors')
|
||||
var setPrototypeOf = require('setprototypeof')
|
||||
var statuses = require('statuses')
|
||||
var inherits = require('inherits')
|
||||
var toIdentifier = require('toidentifier')
|
||||
var deprecate = require('depd')('http-errors');
|
||||
var setPrototypeOf = require('setprototypeof');
|
||||
var statuses = require('statuses');
|
||||
var inherits = require('inherits');
|
||||
var toIdentifier = require('toidentifier');
|
||||
|
||||
/**
|
||||
* Module exports.
|
||||
* @public
|
||||
*/
|
||||
|
||||
module.exports = createError
|
||||
module.exports.HttpError = createHttpErrorConstructor()
|
||||
module.exports.isHttpError = createIsHttpErrorFunction(module.exports.HttpError)
|
||||
module.exports = createError;
|
||||
module.exports.HttpError = createHttpErrorConstructor();
|
||||
module.exports.isHttpError = createIsHttpErrorFunction(
|
||||
module.exports.HttpError
|
||||
);
|
||||
|
||||
// Populate exports for all constructors
|
||||
populateConstructorExports(module.exports, statuses.codes, module.exports.HttpError)
|
||||
populateConstructorExports(
|
||||
module.exports,
|
||||
statuses.codes,
|
||||
module.exports.HttpError
|
||||
);
|
||||
|
||||
/**
|
||||
* Get the code class of a status code.
|
||||
* @private
|
||||
*/
|
||||
|
||||
function codeClass (status) {
|
||||
return Number(String(status).charAt(0) + '00')
|
||||
function codeClass(status) {
|
||||
return Number(String(status).charAt(0) + '00');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -46,62 +52,65 @@ function codeClass (status) {
|
||||
* @public
|
||||
*/
|
||||
|
||||
function createError () {
|
||||
function createError() {
|
||||
// so much arity going on ~_~
|
||||
var err
|
||||
var msg
|
||||
var status = 500
|
||||
var props = {}
|
||||
var err;
|
||||
var msg;
|
||||
var status = 500;
|
||||
var props = {};
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
var arg = arguments[i]
|
||||
var type = typeof arg
|
||||
var arg = arguments[i];
|
||||
var type = typeof arg;
|
||||
if (type === 'object' && arg instanceof Error) {
|
||||
err = arg
|
||||
status = err.status || err.statusCode || status
|
||||
err = arg;
|
||||
status = err.status || err.statusCode || status;
|
||||
} else if (type === 'number' && i === 0) {
|
||||
status = arg
|
||||
status = arg;
|
||||
} else if (type === 'string') {
|
||||
msg = arg
|
||||
msg = arg;
|
||||
} else if (type === 'object') {
|
||||
props = arg
|
||||
props = arg;
|
||||
} else {
|
||||
throw new TypeError('argument #' + (i + 1) + ' unsupported type ' + type)
|
||||
throw new TypeError('argument #' + (i + 1) + ' unsupported type ' + type);
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof status === 'number' && (status < 400 || status >= 600)) {
|
||||
deprecate('non-error status code; use only 4xx or 5xx status codes')
|
||||
deprecate('non-error status code; use only 4xx or 5xx status codes');
|
||||
}
|
||||
|
||||
if (typeof status !== 'number' ||
|
||||
(!statuses.message[status] && (status < 400 || status >= 600))) {
|
||||
status = 500
|
||||
if (
|
||||
typeof status !== 'number' ||
|
||||
(!statuses.message[status] && (status < 400 || status >= 600))
|
||||
) {
|
||||
status = 500;
|
||||
}
|
||||
|
||||
// constructor
|
||||
var HttpError = createError[status] || createError[codeClass(status)]
|
||||
var HttpError = createError[status] || createError[codeClass(status)];
|
||||
|
||||
if (!err) {
|
||||
// create error
|
||||
err = HttpError
|
||||
? new HttpError(msg)
|
||||
: new Error(msg || statuses.message[status])
|
||||
Error.captureStackTrace(err, createError)
|
||||
err =
|
||||
HttpError ?
|
||||
new HttpError(msg)
|
||||
: new Error(msg || statuses.message[status]);
|
||||
Error.captureStackTrace(err, createError);
|
||||
}
|
||||
|
||||
if (!HttpError || !(err instanceof HttpError) || err.status !== status) {
|
||||
// add properties to generic error
|
||||
err.expose = status < 500
|
||||
err.status = err.statusCode = status
|
||||
err.expose = status < 500;
|
||||
err.status = err.statusCode = status;
|
||||
}
|
||||
|
||||
for (var key in props) {
|
||||
if (key !== 'status' && key !== 'statusCode') {
|
||||
err[key] = props[key]
|
||||
err[key] = props[key];
|
||||
}
|
||||
}
|
||||
|
||||
return err
|
||||
return err;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -109,14 +118,14 @@ function createError () {
|
||||
* @private
|
||||
*/
|
||||
|
||||
function createHttpErrorConstructor () {
|
||||
function HttpError () {
|
||||
throw new TypeError('cannot construct abstract class')
|
||||
function createHttpErrorConstructor() {
|
||||
function HttpError() {
|
||||
throw new TypeError('cannot construct abstract class');
|
||||
}
|
||||
|
||||
inherits(HttpError, Error)
|
||||
inherits(HttpError, Error);
|
||||
|
||||
return HttpError
|
||||
return HttpError;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -124,47 +133,47 @@ function createHttpErrorConstructor () {
|
||||
* @private
|
||||
*/
|
||||
|
||||
function createClientErrorConstructor (HttpError, name, code) {
|
||||
var className = toClassName(name)
|
||||
function createClientErrorConstructor(HttpError, name, code) {
|
||||
var className = toClassName(name);
|
||||
|
||||
function ClientError (message) {
|
||||
function ClientError(message) {
|
||||
// create the error object
|
||||
var msg = message != null ? message : statuses.message[code]
|
||||
var err = new Error(msg)
|
||||
var msg = message != null ? message : statuses.message[code];
|
||||
var err = new Error(msg);
|
||||
|
||||
// capture a stack trace to the construction point
|
||||
Error.captureStackTrace(err, ClientError)
|
||||
Error.captureStackTrace(err, ClientError);
|
||||
|
||||
// adjust the [[Prototype]]
|
||||
setPrototypeOf(err, ClientError.prototype)
|
||||
setPrototypeOf(err, ClientError.prototype);
|
||||
|
||||
// redefine the error message
|
||||
Object.defineProperty(err, 'message', {
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
value: msg,
|
||||
writable: true
|
||||
})
|
||||
writable: true,
|
||||
});
|
||||
|
||||
// redefine the error name
|
||||
Object.defineProperty(err, 'name', {
|
||||
enumerable: false,
|
||||
configurable: true,
|
||||
value: className,
|
||||
writable: true
|
||||
})
|
||||
writable: true,
|
||||
});
|
||||
|
||||
return err
|
||||
return err;
|
||||
}
|
||||
|
||||
inherits(ClientError, HttpError)
|
||||
nameFunc(ClientError, className)
|
||||
inherits(ClientError, HttpError);
|
||||
nameFunc(ClientError, className);
|
||||
|
||||
ClientError.prototype.status = code
|
||||
ClientError.prototype.statusCode = code
|
||||
ClientError.prototype.expose = true
|
||||
ClientError.prototype.status = code;
|
||||
ClientError.prototype.statusCode = code;
|
||||
ClientError.prototype.expose = true;
|
||||
|
||||
return ClientError
|
||||
return ClientError;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -172,20 +181,23 @@ function createClientErrorConstructor (HttpError, name, code) {
|
||||
* @private
|
||||
*/
|
||||
|
||||
function createIsHttpErrorFunction (HttpError) {
|
||||
return function isHttpError (val) {
|
||||
function createIsHttpErrorFunction(HttpError) {
|
||||
return function isHttpError(val) {
|
||||
if (!val || typeof val !== 'object') {
|
||||
return false
|
||||
return false;
|
||||
}
|
||||
|
||||
if (val instanceof HttpError) {
|
||||
return true
|
||||
return true;
|
||||
}
|
||||
|
||||
return val instanceof Error &&
|
||||
return (
|
||||
val instanceof Error &&
|
||||
typeof val.expose === 'boolean' &&
|
||||
typeof val.statusCode === 'number' && val.status === val.statusCode
|
||||
}
|
||||
typeof val.statusCode === 'number' &&
|
||||
val.status === val.statusCode
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
@ -193,47 +205,47 @@ function createIsHttpErrorFunction (HttpError) {
|
||||
* @private
|
||||
*/
|
||||
|
||||
function createServerErrorConstructor (HttpError, name, code) {
|
||||
var className = toClassName(name)
|
||||
function createServerErrorConstructor(HttpError, name, code) {
|
||||
var className = toClassName(name);
|
||||
|
||||
function ServerError (message) {
|
||||
function ServerError(message) {
|
||||
// create the error object
|
||||
var msg = message != null ? message : statuses.message[code]
|
||||
var err = new Error(msg)
|
||||
var msg = message != null ? message : statuses.message[code];
|
||||
var err = new Error(msg);
|
||||
|
||||
// capture a stack trace to the construction point
|
||||
Error.captureStackTrace(err, ServerError)
|
||||
Error.captureStackTrace(err, ServerError);
|
||||
|
||||
// adjust the [[Prototype]]
|
||||
setPrototypeOf(err, ServerError.prototype)
|
||||
setPrototypeOf(err, ServerError.prototype);
|
||||
|
||||
// redefine the error message
|
||||
Object.defineProperty(err, 'message', {
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
value: msg,
|
||||
writable: true
|
||||
})
|
||||
writable: true,
|
||||
});
|
||||
|
||||
// redefine the error name
|
||||
Object.defineProperty(err, 'name', {
|
||||
enumerable: false,
|
||||
configurable: true,
|
||||
value: className,
|
||||
writable: true
|
||||
})
|
||||
writable: true,
|
||||
});
|
||||
|
||||
return err
|
||||
return err;
|
||||
}
|
||||
|
||||
inherits(ServerError, HttpError)
|
||||
nameFunc(ServerError, className)
|
||||
inherits(ServerError, HttpError);
|
||||
nameFunc(ServerError, className);
|
||||
|
||||
ServerError.prototype.status = code
|
||||
ServerError.prototype.statusCode = code
|
||||
ServerError.prototype.expose = false
|
||||
ServerError.prototype.status = code;
|
||||
ServerError.prototype.statusCode = code;
|
||||
ServerError.prototype.expose = false;
|
||||
|
||||
return ServerError
|
||||
return ServerError;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -241,12 +253,12 @@ function createServerErrorConstructor (HttpError, name, code) {
|
||||
* @private
|
||||
*/
|
||||
|
||||
function nameFunc (func, name) {
|
||||
var desc = Object.getOwnPropertyDescriptor(func, 'name')
|
||||
function nameFunc(func, name) {
|
||||
var desc = Object.getOwnPropertyDescriptor(func, 'name');
|
||||
|
||||
if (desc && desc.configurable) {
|
||||
desc.value = name
|
||||
Object.defineProperty(func, 'name', desc)
|
||||
desc.value = name;
|
||||
Object.defineProperty(func, 'name', desc);
|
||||
}
|
||||
}
|
||||
|
||||
@ -255,26 +267,26 @@ function nameFunc (func, name) {
|
||||
* @private
|
||||
*/
|
||||
|
||||
function populateConstructorExports (exports, codes, HttpError) {
|
||||
codes.forEach(function forEachCode (code) {
|
||||
var CodeError
|
||||
var name = toIdentifier(statuses.message[code])
|
||||
function populateConstructorExports(exports, codes, HttpError) {
|
||||
codes.forEach(function forEachCode(code) {
|
||||
var CodeError;
|
||||
var name = toIdentifier(statuses.message[code]);
|
||||
|
||||
switch (codeClass(code)) {
|
||||
case 400:
|
||||
CodeError = createClientErrorConstructor(HttpError, name, code)
|
||||
break
|
||||
CodeError = createClientErrorConstructor(HttpError, name, code);
|
||||
break;
|
||||
case 500:
|
||||
CodeError = createServerErrorConstructor(HttpError, name, code)
|
||||
break
|
||||
CodeError = createServerErrorConstructor(HttpError, name, code);
|
||||
break;
|
||||
}
|
||||
|
||||
if (CodeError) {
|
||||
// export the constructor
|
||||
exports[code] = CodeError
|
||||
exports[name] = CodeError
|
||||
exports[code] = CodeError;
|
||||
exports[name] = CodeError;
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@ -282,8 +294,6 @@ function populateConstructorExports (exports, codes, HttpError) {
|
||||
* @private
|
||||
*/
|
||||
|
||||
function toClassName (name) {
|
||||
return name.substr(-5) !== 'Error'
|
||||
? name + 'Error'
|
||||
: name
|
||||
function toClassName(name) {
|
||||
return name.substr(-5) !== 'Error' ? name + 'Error' : name;
|
||||
}
|
||||
|
Reference in New Issue
Block a user