customError: rewrite the module using class syntax

The previous syntax caused a deprecation warning on Node 10.
However, due to the very old version of log4js Etherpad is currently using,
customError objects are going to be displayed as { inspect: [Function: inspect] }.

This needs to be addressed later, updating log4js.

Fixes #3834.
This commit is contained in:
Viljami Kuosmanen 2020-04-06 19:12:15 +02:00 committed by muxator
parent e6251687bf
commit 3edd727a94

View file

@ -1,17 +1,23 @@
/* /**
This helper modules allows us to create different type of errors we can throw * CustomError
*
* This helper modules allows us to create different type of errors we can throw
*
* @class CustomError
* @extends {Error}
*/ */
function customError(message, errorName) class CustomError extends Error {
{ /**
this.name = errorName || "Error"; * Creates an instance of CustomError.
this.message = message; * @param {*} message
* @param {string} [name='Error'] a custom name for the error object
var stackParts = new Error().stack.split("\n"); * @memberof CustomError
stackParts.splice(0,2); */
stackParts.unshift(this.name + ": " + message); constructor(message, name = 'Error') {
super(message);
this.stack = stackParts.join("\n"); this.name = name;
Error.captureStackTrace(this, this.constructor);
}
} }
customError.prototype = Error.prototype;
module.exports = customError; module.exports = CustomError;