| 12345678910111213141516171819202122232425262728 | 
							- /** takes an error object and serializes it to a plan object */
 
- function serializeError (input) {
 
-   if (!(input instanceof Error)) {
 
-     if (typeof input === 'string') {
 
-       const error = new Error(`attempted to serialize a non-error, string String, "${input}"`)
 
-       return serializeError(error)
 
-     }
 
-     const error = new Error(`attempted to serialize a non-error, ${typeof input} ${input?.constructor?.name}`)
 
-     return serializeError(error)
 
-   }
 
-   // different error objects store status code differently
 
-   // AxiosError uses `status`, other services use `statusCode`
 
-   const statusCode = input.statusCode ?? input.status
 
-   // CAUTION: what we serialize here gets add to the size of logs
 
-   return {
 
-     errorType: input.errorType ?? input.constructor.name,
 
-     ...(input.message ? { message: input.message } : {}),
 
-     ...(input.stack ? { stack: input.stack } : {}),
 
-     // think of this as error code
 
-     ...(input.code ? { code: input.code } : {}),
 
-     // think of this as http status code
 
-     ...(statusCode ? { statusCode } : {}),
 
-   }
 
- }
 
- module.exports = {
 
-   serializeError,
 
- }
 
 
  |