I'm trying to use a custom error with apollo-server and it seems that my custom error has a property (code
) that isn't available from within formatError
.
import ExtendableError from 'es6-error'
export default class MyError extends ExtendableError {
constructor(args) {
let code = Object.keys(args)[0]
let message = Object.values(args)[0]
super(message)
this.code = code
}
}
I have a simple error handler works something like this:
let INVALIDREQUEST = 'invalid request'
let e = new MyError({INVALIDREQUEST})
console.log(e.code) // => "INVALIDREQUEST"
I'm having trouble because when I log error.code
from within formatError
it's not available.
formatError: function (error) {
console.log(error.code) // => undefined
return error
}
How can I propagate custom properties (like code
) of error
from within formatError
?