cy-serialize-error
v0.0.1
Published
序列化错误对象
Downloads
89
Readme
cy-serialize-error
🔒 超安全 Error 序列化工具,适合日志记录、调试和上报
cy-serialize-error 可以将 Error、普通对象、Map、Set、Array、TypedArray、ArrayBuffer、Date、RegExp 等 JavaScript 数据结构安全地序列化成可读的 JSON 对象,支持:
- 循环引用检测
- 最大递归深度限制
- Map / Set 序列化
- 基本类型原样返回
- 自定义序列化器
安装
npm install cy-serialize-error -D使用
import { safeSerializeError } from 'cy-serialize-error';
// 基本 Error
const err = new Error('测试错误');
console.log(safeSerializeError(err));
/*
{
name: 'Error',
message: '测试错误',
stack: 'Error: 测试错误\n at ...'
}
*/
// 支持 cause
const cause = new Error('原因');
const mainError = new Error('主错误');
(mainError as any).cause = cause;
console.log(safeSerializeError(mainError));
/*
{
name: 'Error',
message: '主错误',
cause: { name: 'Error', message: '原因', stack: '...' },
stack: '...'
}
*/
// 循环引用
const obj: any = {};
obj.self = obj;
console.log(safeSerializeError(obj));
/*
{ self: '[Circular]' }
*/
// 序列化 Map 和 Set
const map = new Map([
['a', 1],
['b', { nested: 2 }]
]);
const set = new Set([1, { x: 2 }]);
console.log(safeSerializeError(map));
console.log(safeSerializeError(set));