LarpixClient/electron/node_modules/ensure-error/index.js
2026-05-10 14:02:17 +02:00

32 lines
636 B
JavaScript

'use strict';
const util = require('util');
class NonError extends Error {
constructor(message) {
super(util.inspect(message));
this.name = 'NonError';
Error.captureStackTrace(this, NonError);
}
}
module.exports = input => {
if (!(input instanceof Error)) {
return new NonError(input);
}
const error = input;
if (!error.name) {
error.name = (error.constructor && error.constructor.name) || 'Error';
}
if (!error.message) {
error.message = '<No error message>';
}
if (!error.stack) {
error.stack = (new Error(error.message)).stack.replace(/\n {4}at /, '\n<Original stack missing>$&');
}
return error;
};