serialize-error

WebJar for serialize-error

Лицензия

Лицензия

MIT
Группа

Группа

org.webjars.npm
Идентификатор

Идентификатор

serialize-error
Последняя версия

Последняя версия

8.1.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

serialize-error
WebJar for serialize-error
Ссылка на сайт

Ссылка на сайт

https://www.webjars.org
Система контроля версий

Система контроля версий

https://github.com/sindresorhus/serialize-error

Скачать serialize-error

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/org.webjars.npm/serialize-error/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>serialize-error</artifactId>
    <version>8.1.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/serialize-error/
implementation 'org.webjars.npm:serialize-error:8.1.0'
// https://jarcasting.com/artifacts/org.webjars.npm/serialize-error/
implementation ("org.webjars.npm:serialize-error:8.1.0")
'org.webjars.npm:serialize-error:jar:8.1.0'
<dependency org="org.webjars.npm" name="serialize-error" rev="8.1.0">
  <artifact name="serialize-error" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='serialize-error', version='8.1.0')
)
libraryDependencies += "org.webjars.npm" % "serialize-error" % "8.1.0"
[org.webjars.npm/serialize-error "8.1.0"]

Зависимости

compile (1)

Идентификатор библиотеки Тип Версия
org.webjars.npm : type-fest jar [0.20.2,0.21)

Модули Проекта

Данный проект не имеет модулей.

serialize-error

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);

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

API

serializeError(value, options?)

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). Buffer properties are replaced with [object Buffer]. Circular references are handled. If the input object has a .toJSON() method, then it's called instead of serializing the object's properties. It's up to .toJSON() implementation to handle circular references and enumerability of the properties.

.toJSON examples:

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

class ErrorWithDate extends Error {
	constructor() {
		super();
		this.date = new Date();
	}
}

const error = new ErrorWithDate();

serializeError(error);
// => {date: '1970-01-01T00:00:00.000Z', name, message, stack}
const {serializeError} = require('serialize-error');

class ErrorWithToJSON extends Error {
	constructor() {
		super('🦄');
		this.date = new Date();
	}

	toJSON() {
		return serializeError(this);
	}
}

const error = new ErrorWithToJSON();

console.log(serializeError(error));
// => {date: '1970-01-01T00:00:00.000Z', message: '🦄', name, stack}

deserializeError(value, options?)

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.

options

Type: object

maxDepth

Type: number
Default: Number.POSITIVE_INFINITY

The maximum depth of properties to preserve when serializing/deserializing.

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

const error = new Error('🦄');
error.one = {two: {three: {}}};

console.log(serializeError(error, {maxDepth: 1}));
//=> {name: 'Error', message: '…', one: {}}

console.log(serializeError(error, {maxDepth: 2}));
//=> {name: 'Error', message: '…', one: { two: {}}}

Версии библиотеки

Версия
8.1.0
7.0.1
2.1.0
2.0.0