flightcontrolhq / superjson

Safely serialize JavaScript expressions to a superset of JSON, which includes Dates, BigInts, and more.
https://www.flightcontrol.dev?ref=superjson
MIT License
4.02k stars 88 forks source link

Add AggregateError supprt #297

Open shortercode opened 3 days ago

shortercode commented 3 days ago

Relates to #294. Implements support for the relatively new but widely supported AggregateError type. This is a subclass of Error which supports passing an array of child errors. As an example this is useful if you need to make a series of network requests to load a page, you can return a single error which captures all the related failures.

I figured this would be more controversial than the #296 change so separated the 2. This duplicates some of the changes but only to provide complete implementation for this MR. I thought it best to introduce it as a separate transformer for backwards compatibility.

Adds type check for AggregateError