error-shelter
Version:
frontend error catch and storage utility for JS apps.
1 lines • 905 B
JavaScript
!function(){var a={nameSpace:"errorShelter",availableGlobal:!0};if(!localStorage)return console.warn("errorShelter.js - localStorage not supported.");var b=function(){localStorage.setItem(a.nameSpace,JSON.stringify({errors:[]}))};localStorage.getItem(a.nameSpace)||b();var c=Error,d=function(){var a={};for(var b in window.navigator)a[b]=window.navigator[b];var d=c.apply(window,arguments);return e({arguments:arguments,message:arguments[0],time:g(),browserInfo:{navigator:a,location:location.origin+""+location.pathname},stack:d.stack,options:{}}),d},e=function(b){var c=f();return c&&c.errors?(c.errors.push(b),localStorage.setItem([a.nameSpace],JSON.stringify(c))):void 0},f=function(){return JSON.parse(localStorage[a.nameSpace])},g=function(){return(new Date).getTime()},h={getStorage:f,emptyStorage:b};a.availableGlobal&&window&&(window[a.nameSpace]=h),window.Error=d,window.Error[a.nameSpace]=h}();