MCPcopy Index your code
hub / github.com/Yaffle/EventSource / extractStacktrace

Function extractStacktrace

tests/qunit.js:928–965  ·  view source on GitHub ↗
( e, offset )

Source from the content-addressed store, hash-verified

926// Later Safari and IE10 are supposed to support error.stack as well
927// See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack
928function extractStacktrace( e, offset ) {
929 offset = offset === undefined ? 3 : offset;
930
931 var stack, include, i;
932
933 if ( e.stacktrace ) {
934 // Opera
935 return e.stacktrace.split( "\n" )[ offset + 3 ];
936 } else if ( e.stack ) {
937 // Firefox, Chrome
938 stack = e.stack.split( "\n" );
939 if (/^error$/i.test( stack[0] ) ) {
940 stack.shift();
941 }
942 if ( fileName ) {
943 include = [];
944 for ( i = offset; i < stack.length; i++ ) {
945 if ( stack[ i ].indexOf( fileName ) !== -1 ) {
946 break;
947 }
948 include.push( stack[ i ] );
949 }
950 if ( include.length ) {
951 return include.join( "\n" );
952 }
953 }
954 return stack[ offset ];
955 } else if ( e.sourceURL ) {
956 // Safari, PhantomJS
957 // hopefully one day Safari provides actual stacktraces
958 // exclude useless self-reference for generated Error objects
959 if ( /qunit.js$/.test( e.sourceURL ) ) {
960 return;
961 }
962 // for actual exceptions, this is useful
963 return e.sourceURL + ":" + e.line;
964 }
965}
966function sourceFromStacktrace( offset ) {
967 try {
968 throw new Error();

Callers 2

sourceFromStacktraceFunction · 0.85
qunit.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected