Open shortercode opened 2 months ago
cause
should be safe to add. This is a great request! Feel free to open a pull request and I'll review it.
try out my implementation example @jsheaven/tjson https://github.com/jsheaven/tjson
const TypedJSON = new TJSON().registerError()
class CustomError extends Error {
constructor(message: string, public test: string, public num: number) {
super(message)
}
}
const input = new CustomError('error', 'test', NaN)
const tjson = TypedJSON.stringify(input)
//{"content":{"name":"Error","message":"error","stack":"stack","test":"test","num":"NaN"},"type":{"":"js:error","num":"js:number:nan"}}
First off this is a great library, has been a huge help for working with electron-trpc. One thing I noticed recently was that when we pass
Error
objects through thecause
field is removed ( MDN Error: cause ). We use this quite a lot to add extra context. I found #91 which explained why, but that was in the context of stack, code, etc.I've logged a ticket for our app to use the
allowErrorProps
to fix our issue but I wondered if you would consider adding support forcause
out of the box. Additionally adding support for MDN AggregateError would be great as well.