25 lines
No EOL
511 B
JavaScript
Executable file
25 lines
No EOL
511 B
JavaScript
Executable file
"use strict";
|
|
|
|
function errorToJson(error) {
|
|
let jsonError = {
|
|
message: error.message,
|
|
stack: error.stack,
|
|
name: error.name
|
|
};
|
|
// Add all custom codeFrame properties
|
|
Object.keys(error).forEach(key => {
|
|
jsonError[key] = error[key];
|
|
});
|
|
return jsonError;
|
|
}
|
|
|
|
function jsonToError(json) {
|
|
let error = new Error(json.message);
|
|
Object.keys(json).forEach(key => {
|
|
error[key] = json[key];
|
|
});
|
|
return error;
|
|
}
|
|
|
|
exports.errorToJson = errorToJson;
|
|
exports.jsonToError = jsonToError; |