JavaScript
Need help with serialize-error?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
sindresorhus

Description

Serialize/deserialize an error into a plain object

230 Stars 22 Forks MIT License 37 Commits 5 Opened issues

Services available

Need anything else?

serialize-error Build Status

Serialize/deserialize an error into a plain object

Useful if you for example need to

JSON.stringify()
or
process.send()
the error.

Install

$ npm install serialize-error

Usage

const {serializeError, deserializeError} = require('serialize-error');

const error = new Error('🦄');

console.log(error); //=> [Error: 🦄]

const serialized = serializeError(error)

console.log(serialized); //=> {name: 'Error', message: '🦄', stack: 'Error: 🦄\n at Object. …'}

const deserialized = deserializeError(serialized);

console.log(deserialized); //=> [Error: 🦄]

API

serializeError(value)

Type:

Error | unknown

Serialize an

Error
object into a plain object.

Non-error values are passed through. Custom properties are preserved. Non-enumerable properties are kept non-enumerable (name, message, stack). Enumerable properties are kept enumerable (all properties besides the non-enumerable ones). Circular references are handled.

deserializeError(value)

Type:

{[key: string]: unknown} | unknown

Deserialize a plain object or any value into an

Error
object.

Error
objects are passed through. Non-error values are wrapped in a
NonError
error. Custom properties are preserved. Circular references are handled.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.