error-serializer
Advanced tools
Comparing version 4.0.0 to 4.1.0
export const callEvent=function(value,eventCallback){ | ||
export const callEvent=function(eventCallback,...args){ | ||
if(eventCallback===undefined){ | ||
@@ -9,5 +9,5 @@ return; | ||
try{ | ||
eventCallback(value); | ||
eventCallback(...args); | ||
}catch{} | ||
}; | ||
//# sourceMappingURL=event.js.map |
@@ -26,6 +26,7 @@ import isPlainObj from"is-plain-obj"; | ||
callEvent(value,beforeParse); | ||
callEvent(beforeParse,value); | ||
const error=parseErrorObject(value,classes); | ||
callEvent(value,afterParse); | ||
return normalizeException(error); | ||
const errorA=normalizeException(error); | ||
callEvent(afterParse,value,errorA); | ||
return errorA; | ||
}; | ||
@@ -32,0 +33,0 @@ |
@@ -19,5 +19,8 @@ import isErrorInstance from"is-error-instance"; | ||
const errorObject=serializeError(value,events); | ||
const valueA=serializeRecurse(errorObject,events,parentsA); | ||
return safeJsonValue(valueA,{shallow:false}).value; | ||
const error=normalizeException(value); | ||
const errorObject=serializeError(error,events); | ||
const errorObjectA=serializeRecurse(errorObject,events,parentsA); | ||
const errorObjectB=safeJsonValue(errorObjectA,{shallow:false}).value; | ||
callEvent(events.afterSerialize,error,errorObjectB); | ||
return errorObjectB; | ||
}; | ||
@@ -31,15 +34,12 @@ | ||
const errorObject=serializeError(value,events); | ||
return safeJsonValue(errorObject,{shallow:true}).value; | ||
const error=normalizeException(value); | ||
const errorObject=serializeError(error,events); | ||
const errorObjectA=safeJsonValue(errorObject,{shallow:true}).value; | ||
callEvent(events.afterSerialize,error,errorObjectA); | ||
return errorObjectA; | ||
}; | ||
const serializeError=function(error,{beforeSerialize,afterSerialize}){ | ||
const errorA=normalizeException(error); | ||
callEvent(errorA,beforeSerialize); | ||
const errorObject=Object.fromEntries([ | ||
...getProps(errorA), | ||
...setConstructorArgs(errorA)]); | ||
callEvent(errorA,afterSerialize); | ||
return errorObject; | ||
const serializeError=function(error,{beforeSerialize}){ | ||
callEvent(beforeSerialize,error); | ||
return Object.fromEntries([...getProps(error),...setConstructorArgs(error)]); | ||
}; | ||
@@ -46,0 +46,0 @@ |
@@ -65,14 +65,13 @@ /** | ||
* ```js | ||
* const error = new Error('test') | ||
* error.date = new Date() | ||
* const errors = [error] | ||
* const errors = [new Error('test')] | ||
* errors[0].date = new Date() | ||
* | ||
* const errorObjects = serialize(errors, { | ||
* // Serialize `Date` instances as strings | ||
* beforeSerialize(errorArg) { | ||
* errorArg.date = errorArg.date.toString() | ||
* beforeSerialize(error) { | ||
* error.date = error.date.toString() | ||
* }, | ||
* // Restore `error.date` after serializing it | ||
* afterSerialize(errorArg) { | ||
* errorArg.date = new Date(errorArg.date) | ||
* afterSerialize(error, errorObject) { | ||
* error.date = new Date(error.date) | ||
* }, | ||
@@ -84,8 +83,8 @@ * }) | ||
* // Parse date strings as `Date` instances | ||
* beforeParse(errorObjectArg) { | ||
* errorObjectArg.date = new Date(errorObjectArg.date) | ||
* beforeParse(errorObject) { | ||
* errorObject.date = new Date(errorObject.date) | ||
* }, | ||
* // Restore `errorObject.date` after parsing | ||
* afterParse(errorObjectArg) { | ||
* errorObjectArg.date = errorObjectArg.date.toString() | ||
* afterParse(errorObject, error) { | ||
* errorObject.date = errorObject.date.toString() | ||
* }, | ||
@@ -103,14 +102,13 @@ * }) | ||
* ```js | ||
* const error = new Error('test') | ||
* error.date = new Date() | ||
* const errors = [error] | ||
* const errors = [new Error('test')] | ||
* errors[0].date = new Date() | ||
* | ||
* const errorObjects = serialize(errors, { | ||
* // Serialize `Date` instances as strings | ||
* beforeSerialize(errorArg) { | ||
* errorArg.date = errorArg.date.toString() | ||
* beforeSerialize(error) { | ||
* error.date = error.date.toString() | ||
* }, | ||
* // Restore `error.date` after serializing it | ||
* afterSerialize(errorArg) { | ||
* errorArg.date = new Date(errorArg.date) | ||
* afterSerialize(error, errorObject) { | ||
* error.date = new Date(error.date) | ||
* }, | ||
@@ -122,8 +120,8 @@ * }) | ||
* // Parse date strings as `Date` instances | ||
* beforeParse(errorObjectArg) { | ||
* errorObjectArg.date = new Date(errorObjectArg.date) | ||
* beforeParse(errorObject) { | ||
* errorObject.date = new Date(errorObject.date) | ||
* }, | ||
* // Restore `errorObject.date` after parsing | ||
* afterParse(errorObjectArg) { | ||
* errorObjectArg.date = errorObjectArg.date.toString() | ||
* afterParse(errorObject, error) { | ||
* errorObject.date = errorObject.date.toString() | ||
* }, | ||
@@ -134,3 +132,6 @@ * }) | ||
*/ | ||
readonly afterSerialize?: (errorInstance: Error) => void | ||
readonly afterSerialize?: ( | ||
errorInstance: Error, | ||
errorObject: ErrorObject, | ||
) => void | ||
} | ||
@@ -248,14 +249,13 @@ | ||
* ```js | ||
* const error = new Error('test') | ||
* error.date = new Date() | ||
* const errors = [error] | ||
* const errors = [new Error('test')] | ||
* errors[0].date = new Date() | ||
* | ||
* const errorObjects = serialize(errors, { | ||
* // Serialize `Date` instances as strings | ||
* beforeSerialize(errorArg) { | ||
* errorArg.date = errorArg.date.toString() | ||
* beforeSerialize(error) { | ||
* error.date = error.date.toString() | ||
* }, | ||
* // Restore `error.date` after serializing it | ||
* afterSerialize(errorArg) { | ||
* errorArg.date = new Date(errorArg.date) | ||
* afterSerialize(error, errorObject) { | ||
* error.date = new Date(error.date) | ||
* }, | ||
@@ -267,8 +267,8 @@ * }) | ||
* // Parse date strings as `Date` instances | ||
* beforeParse(errorObjectArg) { | ||
* errorObjectArg.date = new Date(errorObjectArg.date) | ||
* beforeParse(errorObject) { | ||
* errorObject.date = new Date(errorObject.date) | ||
* }, | ||
* // Restore `errorObject.date` after parsing | ||
* afterParse(errorObjectArg) { | ||
* errorObjectArg.date = errorObjectArg.date.toString() | ||
* afterParse(errorObject, error) { | ||
* errorObject.date = errorObject.date.toString() | ||
* }, | ||
@@ -286,14 +286,13 @@ * }) | ||
* ```js | ||
* const error = new Error('test') | ||
* error.date = new Date() | ||
* const errors = [error] | ||
* const errors = [new Error('test')] | ||
* errors[0].date = new Date() | ||
* | ||
* const errorObjects = serialize(errors, { | ||
* // Serialize `Date` instances as strings | ||
* beforeSerialize(errorArg) { | ||
* errorArg.date = errorArg.date.toString() | ||
* beforeSerialize(error) { | ||
* error.date = error.date.toString() | ||
* }, | ||
* // Restore `error.date` after serializing it | ||
* afterSerialize(errorArg) { | ||
* errorArg.date = new Date(errorArg.date) | ||
* afterSerialize(error, errorObject) { | ||
* error.date = new Date(error.date) | ||
* }, | ||
@@ -305,8 +304,8 @@ * }) | ||
* // Parse date strings as `Date` instances | ||
* beforeParse(errorObjectArg) { | ||
* errorObjectArg.date = new Date(errorObjectArg.date) | ||
* beforeParse(errorObject) { | ||
* errorObject.date = new Date(errorObject.date) | ||
* }, | ||
* // Restore `errorObject.date` after parsing | ||
* afterParse(errorObjectArg) { | ||
* errorObjectArg.date = errorObjectArg.date.toString() | ||
* afterParse(errorObject, error) { | ||
* errorObject.date = errorObject.date.toString() | ||
* }, | ||
@@ -317,3 +316,6 @@ * }) | ||
*/ | ||
readonly afterParse?: (errorObject: MinimalErrorObject) => void | ||
readonly afterParse?: ( | ||
errorObject: MinimalErrorObject, | ||
errorInstance: Error, | ||
) => void | ||
} | ||
@@ -320,0 +322,0 @@ |
{ | ||
"name": "error-serializer", | ||
"version": "4.0.0", | ||
"version": "4.1.0", | ||
"type": "module", | ||
@@ -5,0 +5,0 @@ "exports": { |
@@ -101,5 +101,5 @@ [](https://www.npmjs.com/package/error-serializer) | ||
#### afterSerialize(errorInstance) | ||
#### afterSerialize(errorInstance, errorObject) | ||
_Type_: `(errorInstance) => void` | ||
_Type_: `(errorInstance, errorObject) => void` | ||
@@ -171,5 +171,5 @@ Called [after serializing](#events) each `errorInstance`. | ||
#### afterParse(errorObject) | ||
#### afterParse(errorObject, errorInstance) | ||
_Type_: `(errorObject) => void` | ||
_Type_: `(errorObject, errorInstance) => void` | ||
@@ -253,14 +253,13 @@ Called [after parsing](#events) each `errorObject`. | ||
```js | ||
const error = new Error('test') | ||
error.date = new Date() | ||
const errors = [error] | ||
const errors = [new Error('test')] | ||
errors[0].date = new Date() | ||
const errorObjects = serialize(errors, { | ||
// Serialize `Date` instances as strings | ||
beforeSerialize(errorArg) { | ||
errorArg.date = errorArg.date.toString() | ||
beforeSerialize(error) { | ||
error.date = error.date.toString() | ||
}, | ||
// Restore `error.date` after serializing it | ||
afterSerialize(errorArg) { | ||
errorArg.date = new Date(errorArg.date) | ||
afterSerialize(error, errorObject) { | ||
error.date = new Date(error.date) | ||
}, | ||
@@ -272,8 +271,8 @@ }) | ||
// Parse date strings as `Date` instances | ||
beforeParse(errorObjectArg) { | ||
errorObjectArg.date = new Date(errorObjectArg.date) | ||
beforeParse(errorObject) { | ||
errorObject.date = new Date(errorObject.date) | ||
}, | ||
// Restore `errorObject.date` after parsing | ||
afterParse(errorObjectArg) { | ||
errorObjectArg.date = errorObjectArg.date.toString() | ||
afterParse(errorObject, error) { | ||
errorObject.date = errorObject.date.toString() | ||
}, | ||
@@ -280,0 +279,0 @@ }) |
34006
641
400