wikibase-edit
Version:
Edit Wikibase from NodeJS
28 lines • 883 B
JavaScript
export function newError(message, statusCode, context) {
const err = new Error(message);
if (typeof statusCode !== 'number') {
if (context == null) {
context = statusCode;
statusCode = 400;
}
else {
throw newError('invalid error status code', 500, { message, statusCode, context });
}
}
err.statusCode = statusCode;
if (context) {
context = convertSetsIntoArrays(context);
err.context = context;
err.stack += `\n[context] ${JSON.stringify(context)}`;
}
return err;
}
function convertSetsIntoArrays(context) {
const convertedContext = {};
for (const key in context) {
const value = context[key];
convertedContext[key] = value instanceof Set ? Array.from(value) : value;
}
return convertedContext;
}
//# sourceMappingURL=error.js.map