File tree Expand file tree Collapse file tree 1 file changed +10
-7
lines changed Expand file tree Collapse file tree 1 file changed +10
-7
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,15 @@ export interface ErrorHandlerOptions {
21
21
extractor ?( error : unknown , defaultExtractor : ( error : unknown ) => unknown ) : unknown ;
22
22
}
23
23
24
+ // https://github.com/angular/angular/blob/master/packages/core/src/util/errors.ts
25
+ function tryToUnwrapZonejsError ( error : unknown ) : unknown | Error {
26
+ // TODO: once Angular14 is the minimum requirement ERROR_ORIGINAL_ERROR and
27
+ // getOriginalError from error.ts can be used directly.
28
+ return error && ( error as { ngOriginalError : Error } ) . ngOriginalError
29
+ ? ( error as { ngOriginalError : Error } ) . ngOriginalError
30
+ : error ;
31
+ }
32
+
24
33
/**
25
34
* Implementation of Angular's ErrorHandler provider that can be used as a drop-in replacement for the stock one.
26
35
*/
@@ -86,13 +95,7 @@ class SentryErrorHandler implements AngularErrorHandler {
86
95
* Default implementation of error extraction that handles default error wrapping, HTTP responses, ErrorEvent and few other known cases.
87
96
*/
88
97
protected _defaultExtractor ( errorCandidate : unknown ) : unknown {
89
- let error = errorCandidate ;
90
-
91
- // Try to unwrap zone.js error.
92
- // https://github.com/angular/angular/blob/master/packages/core/src/util/errors.ts
93
- if ( error && ( error as { ngOriginalError : Error } ) . ngOriginalError ) {
94
- error = ( error as { ngOriginalError : Error } ) . ngOriginalError ;
95
- }
98
+ const error = tryToUnwrapZonejsError ( errorCandidate ) ;
96
99
97
100
// We can handle messages and Error objects directly.
98
101
if ( typeof error === 'string' || error instanceof Error ) {
You can’t perform that action at this time.
0 commit comments