feat: Convert ts files to js files for errors directory
This commit is contained in:
33
packages/backend/src/errors/base.js
Normal file
33
packages/backend/src/errors/base.js
Normal file
@@ -0,0 +1,33 @@
|
||||
export default class BaseError extends Error {
|
||||
details = {};
|
||||
|
||||
constructor(error) {
|
||||
let computedError;
|
||||
|
||||
try {
|
||||
computedError = JSON.parse(error);
|
||||
} catch {
|
||||
computedError =
|
||||
typeof error === 'string' || Array.isArray(error) ? { error } : error;
|
||||
}
|
||||
|
||||
let computedMessage;
|
||||
|
||||
try {
|
||||
// challenge to input to see if it is stringified JSON
|
||||
JSON.parse(error);
|
||||
computedMessage = error;
|
||||
} catch {
|
||||
if (typeof error === 'string') {
|
||||
computedMessage = error;
|
||||
} else {
|
||||
computedMessage = JSON.stringify(error, null, 2);
|
||||
}
|
||||
}
|
||||
|
||||
super(computedMessage);
|
||||
|
||||
this.details = computedError;
|
||||
this.name = this.constructor.name;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user