@nxtedition/error
Advanced tools
+14
-4
@@ -71,3 +71,6 @@ import objectHash from 'object-hash' | ||
| Array.isArray(errors) | ||
| ? new AggregateError(errors.map(parseError), message) | ||
| ? // Filter falsy results, matching the top-level array branch above: a | ||
| // falsy entry would otherwise become a literal `null` inside the | ||
| // constructed AggregateError's `errors`. | ||
| new AggregateError(errors.map(parseError).filter(Boolean), message) | ||
| : new Error(message || 'unknown error'), | ||
@@ -124,3 +127,6 @@ { | ||
| let data = error.data || error.body | ||
| // Use `??`, NOT `||`: a primitive `data` of 0/false/'' is a valid value and | ||
| // must not fall through to `error.body` (the line-214 `== null` gate below | ||
| // is otherwise never reached for it). Completes the fix in 7ce9ddbe. | ||
| let data = error.data ?? error.body | ||
| if (typeof data === 'string') { | ||
@@ -209,3 +215,7 @@ try { | ||
| headers: fp.isEmpty(headers) ? undefined : headers, | ||
| data: fp.isEmpty(data) ? undefined : data, | ||
| // Gate on `== null`, NOT fp.isEmpty: `fp.isEmpty(<any number>)` is | ||
| // always true, so a primitive `data` (e.g. 0, 500, false, or a | ||
| // numeric JSON string) was silently dropped here — same foot-gun | ||
| // documented above for the code/exit/signal/status fields. | ||
| data: data == null ? undefined : data, | ||
| cause: fp.isEmpty(cause) ? undefined : cause, | ||
@@ -273,3 +283,3 @@ errors: fp.isEmpty(errors) ? undefined : errors, | ||
| title: error.title ?? error.name, | ||
| id: error.id ?? options?.id ?? objectHash({ msg, level, code, data: error.data }), | ||
| id: error.id ?? options?.id ?? objectHash({ msg, level, code, data }), | ||
| level, | ||
@@ -276,0 +286,0 @@ code, |
+3
-4
| { | ||
| "name": "@nxtedition/error", | ||
| "version": "1.1.36", | ||
| "version": "1.1.37", | ||
| "type": "module", | ||
@@ -22,4 +22,3 @@ "main": "lib/index.js", | ||
| "dependencies": { | ||
| "@nxtedition/logger": "^2.1.31", | ||
| "lodash": "^4.17.23", | ||
| "lodash": "^4.18.1", | ||
| "object-hash": "^3.0.0" | ||
@@ -31,3 +30,3 @@ }, | ||
| }, | ||
| "gitHead": "a11a8114c8e32202454577b2c2ed935a702927f1" | ||
| "gitHead": "351ba4b2a0cb6cef253a613e7f5027768d05fec4" | ||
| } |
11703
6.43%2
-33.33%335
3.08%- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated