Skip to content

Instantly share code, notes, and snippets.

@jessicard
Last active September 28, 2015 21:59
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save jessicard/10924962 to your computer and use it in GitHub Desktop.
Sourcemaps Example
!function(a){var b=window.Bugsnag;window.Bugsnag=a(window,document,navigator,b)}(function(a,b,c,d){function e(a,b){try{return"function"!=typeof a?a:(a.bugsnag||(a.bugsnag=function(c){if(b&&b.eventHandler&&(u=c),!w)return a.apply(this,arguments);try{return a.apply(this,arguments)}catch(d){throw k("autoNotify",!0)&&(v.notifyException(d),r()),d}},a.bugsnag.bugsnag=a.bugsnag),a.bugsnag)}catch(c){return a}}function f(b){var c=a.console;void 0!==c&&void 0!==c.log&&c.log("[Bugsnag] "+b)}function g(a,b){var c=[];for(var d in a)if(a.hasOwnProperty(d)&&null!=d&&null!=a[d]){var e=b?b+"["+d+"]":d,f=a[d];c.push("object"==typeof f?g(f,e):encodeURIComponent(e)+"="+encodeURIComponent(f))}return c.join("&")}function h(a,b){if(null==b)return a;a=a||{};for(var c in b)if(b.hasOwnProperty(c))try{a[c]=b[c].constructor===Object?h(a[c],b[c]):b[c]}catch(d){a[c]=b[c]}return a}function i(a,b){var c=new Image;c.src=a+"?"+g(b)+"&ct=img&cb="+(new Date).getTime()}function j(a){for(var b={},c=/^data\-([\w\-]+)$/,d=a.attributes,e=0;e<d.length;e++){var f=d[e];if(c.test(f.nodeName)){var g=f.nodeName.match(c)[1];b[g]=f.nodeValue}}return b}function k(a,b){y=y||j(F);var c=void 0!==v[a]?v[a]:y[a.toLowerCase()];return"false"===c&&(c=!1),void 0!==c?c:b}function l(a){return null!=a&&a.match(z)?!0:(f("Invalid API key '"+a+"'"),!1)}function m(b,d){var e=k("apiKey");if(l(e)){var f=k("releaseStage"),g=k("notifyReleaseStages");if(g){for(var j=!1,m=0;m<g.length;m++)if(f===g[m]){j=!0;break}if(!j)return}u&&(d=d||{},d["Last Event"]=p(u));var n=h(k("metaData"),d),o=v.beforeNotify;if("function"==typeof o){var q=o(b,n);if(q===!1)return}var r=a.location;i(k("endpoint")||C,{notifierVersion:D,apiKey:e,projectRoot:k("projectRoot")||r.protocol+"//"+r.host,context:k("context")||r.pathname,userId:k("userId"),metaData:n,releaseStage:f,url:a.location.href,userAgent:c.userAgent,language:c.language||c.userLanguage,name:b.name,message:b.message,stacktrace:b.stacktrace,file:b.file,lineNumber:b.lineNumber,columnNumber:b.columnNumber})}}function n(){var a,b=10,c="[anonymous]";try{throw new Error("")}catch(d){a=o(d)}if(!a){var e=[];try{for(var g=arguments.callee.caller.caller;g&&e.length<b;){var h=A.test(g.toString())?RegExp.$1||c:c;e.push(h),g=g.caller}}catch(i){f(i)}a=e.join("\n")}return"<generated>\n"+a}function o(a){return a.stack||a.backtrace||a.stacktrace}function p(a){var b={millisecondsAgo:new Date-a.timeStamp,type:a.type,which:a.which,target:q(a.target)};return b}function q(a){if(a){var b=a.attributes;if(b){for(var c="<"+a.nodeName.toLowerCase(),d=0;d<b.length;d++)b[d].value&&"null"!=b[d].value.toString()&&(c+=" "+b[d].name+'="'+b[d].value+'"');return c+">"}return a.nodeName}}function r(){x+=1,a.setTimeout(function(){x-=1})}function s(a,b,c){var d=a[b],e=c(d);a[b]=e}function t(){H=!1}var u,v={},w=!0,x=0;v.noConflict=function(){return a.Bugsnag=d,v},v.notifyException=function(a,b,c){"string"!=typeof b&&(c=b),m({name:b||a.name,message:a.message||a.description,stacktrace:o(a)||n(),file:a.fileName||a.sourceURL,lineNumber:a.lineNumber||a.line,columnNumber:a.columnNumber?a.columnNumber+1:void 0},c)},v.notify=function(a,b,c){m({name:a,message:b,stacktrace:n()},c)};var y,z=/^[0-9a-f]{32}$/i,A=/function\s*([\w\-$]+)?\s*\(/i,B="https://notify.bugsnag.com/",C=B+"js",D="2.1.0",E=b.getElementsByTagName("script"),F=E[E.length-1];if(a.atob){if(a.ErrorEvent)try{0===new a.ErrorEvent("test").colno&&(w=!1)}catch(G){}}else w=!1;var H="complete"!==b.readyState;if(b.addEventListener?(b.addEventListener("DOMContentLoaded",t,!0),a.addEventListener("load",t,!0)):a.attachEvent("onload",t),k("autoNotify",!0)){s(a,"onerror",function(c){return function(d,e,f,g,h){var i=k("autoNotify",!0),j={};if(!g&&a.event&&(g=a.event.errorCharacter),i&&!x){if(H){var l=b.getElementsByTagName("script"),p=b.currentScript||l[l.length-1];p&&(j.script={src:p.src,content:p.innerHTML&&p.innerHTML.substr(0,1024)})}m({name:h&&h.name||"window.onerror",message:d,file:e,lineNumber:f,columnNumber:g,stacktrace:h&&o(h)||n()},j)}c&&c(d,e,f,g,h)}});var I=function(a){return function(b,c){b=e(b);var d=Array.prototype.slice.call(arguments,2);return a(function(){b.apply(this,d)},c)}};s(a,"setTimeout",I),s(a,"setInterval",I),a.requestAnimationFrame&&s(a,"requestAnimationFrame",I);var J=function(a){return function(b,c,d,f){return c&&c.handleEvent&&(c.handleEvent=e(c.handleEvent,{eventHandler:!0})),a.call(this,b,e(c,{eventHandler:!0}),d,f)}};"EventTarget Window Node ApplicationCache AudioTrackList ChannelMergerNode CryptoOperation EventSource FileReader HTMLUnknownElement IDBDatabase IDBRequest IDBTransaction KeyOperation MediaController MessagePort ModalWindow Notification SVGElementInstance Screen TextTrack TextTrackCue TextTrackList WebSocket WebSocketWorker Worker XMLHttpRequest XMLHttpRequestEventTarget XMLHttpRequestUpload".replace(/\w+/g,function(b){var c=a[b]&&a[b].prototype;c&&c.hasOwnProperty&&c.hasOwnProperty("addEventListener")&&(s(c,"addEventListener",J),s(c,"removeEventListener",J))})}return v});
//# sourceMappingURL=//d2wy8f7a9ursnm.cloudfront.net/bugsnag-2.1.0.min.map
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment