Skip to content
ed9506bbaf
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
codeql-action/node_modules/serialize-error/
codeql-action/node_modules/serialize-error/

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
October 25, 2021 08:56
October 25, 2021 08:56
October 25, 2021 08:56
October 25, 2021 08:56

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.<anonymous> …'}

const deserialized = deserializeError(serialized);
//=> [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.