11import { StackFrame , StackLineParser , StackLineParserFn } from '@sentry/types' ;
2+ import { createStackParser } from '@sentry/utils' ;
23
34// global reference to slice
45const UNKNOWN_FUNCTION = '?' ;
@@ -60,7 +61,7 @@ const chrome: StackLineParserFn = line => {
6061 return ;
6162} ;
6263
63- export const chromeStackParser : StackLineParser = [ CHROME_PRIORITY , chrome ] ;
64+ export const chromeStackLineParser : StackLineParser = [ CHROME_PRIORITY , chrome ] ;
6465
6566// gecko regex: `(?:bundle|\d+\.js)`: `bundle` is for react native, `\d+\.js` also but specifically for ram bundles because it
6667// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js
@@ -96,7 +97,7 @@ const gecko: StackLineParserFn = line => {
9697 return ;
9798} ;
9899
99- export const geckoStackParser : StackLineParser = [ GECKO_PRIORITY , gecko ] ;
100+ export const geckoStackLineParser : StackLineParser = [ GECKO_PRIORITY , gecko ] ;
100101
101102const winjsRegex =
102103 / ^ \s * a t (?: ( (?: \[ o b j e c t o b j e c t \] ) ? .+ ) ) ? \( ? ( (?: f i l e | m s - a p p x | h t t p s ? | w e b p a c k | b l o b ) : .* ?) : ( \d + ) (?: : ( \d + ) ) ? \) ? \s * $ / i;
@@ -109,7 +110,7 @@ const winjs: StackLineParserFn = line => {
109110 : undefined ;
110111} ;
111112
112- export const winjsStackParser : StackLineParser = [ WINJS_PRIORITY , winjs ] ;
113+ export const winjsStackLineParser : StackLineParser = [ WINJS_PRIORITY , winjs ] ;
113114
114115const opera10Regex = / l i n e ( \d + ) .* s c r i p t (?: i n ) ? ( \S + ) (?: : i n f u n c t i o n ( \S + ) ) ? $ / i;
115116
@@ -118,7 +119,7 @@ const opera10: StackLineParserFn = line => {
118119 return parts ? createFrame ( parts [ 2 ] , parts [ 3 ] || UNKNOWN_FUNCTION , + parts [ 1 ] ) : undefined ;
119120} ;
120121
121- export const opera10StackParser : StackLineParser = [ OPERA10_PRIORITY , opera10 ] ;
122+ export const opera10StackLineParser : StackLineParser = [ OPERA10_PRIORITY , opera10 ] ;
122123
123124const opera11Regex =
124125 / l i n e ( \d + ) , c o l u m n ( \d + ) \s * (?: i n (?: < a n o n y m o u s f u n c t i o n : ( [ ^ > ] + ) > | ( [ ^ ) ] + ) ) \( .* \) ) ? i n ( .* ) : \s * $ / i;
@@ -128,9 +129,11 @@ const opera11: StackLineParserFn = line => {
128129 return parts ? createFrame ( parts [ 5 ] , parts [ 3 ] || parts [ 4 ] || UNKNOWN_FUNCTION , + parts [ 1 ] , + parts [ 2 ] ) : undefined ;
129130} ;
130131
131- export const opera11StackParser : StackLineParser = [ OPERA11_PRIORITY , opera11 ] ;
132+ export const opera11StackLineParser : StackLineParser = [ OPERA11_PRIORITY , opera11 ] ;
132133
133- export const defaultStackParsers = [ chromeStackParser , geckoStackParser , winjsStackParser ] ;
134+ export const defaultStackLineParsers = [ chromeStackLineParser , geckoStackLineParser , winjsStackLineParser ] ;
135+
136+ export const defaultStackParser = createStackParser ( ...defaultStackLineParsers ) ;
134137
135138/**
136139 * Safari web extensions, starting version unknown, can produce "frames-only" stacktraces.
0 commit comments