react-whitebox
Version:
A component to display your errors.
1 lines • 7.14 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.redbox=t(require("react")):e.redbox=t(e.React)}(this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=r(5),u=n(s),c=r(1),l=n(c),f=r(2),p=n(f),m=r(4),d=n(m),h=function(e){function t(){i(this,t),e.apply(this,arguments)}return o(t,e),t.prototype.render=function(){var e=this.props.error,t=d.default({},l.default,this.props.style),r=t.redbox,n=t.message,i=t.stack,o=t.frame,a=t.file,s=t.linkToFile,c=p.default.parse(e).map(function(e,t){var r=e.fileName+":"+e.lineNumber+":"+e.columnNumber;return u.default.createElement("div",{style:o,key:t},u.default.createElement("div",null,e.functionName),u.default.createElement("div",{style:a},u.default.createElement("a",{href:r,style:s},r)))});return u.default.createElement("div",{style:r},u.default.createElement("div",{style:n},e.name,": ",e.message),u.default.createElement("div",{style:i},c))},a(t,null,[{key:"propTypes",value:{error:s.PropTypes.instanceOf(Error).isRequired},enumerable:!0},{key:"displayName",value:"RedBox",enumerable:!0}]),t}(s.Component);t.default=h,e.exports=t.default},function(e,t){"use strict";t.__esModule=!0,t.default={redbox:{boxSizing:"border-box",fontFamily:"sans-serif",position:"fixed",padding:10,top:0,left:0,bottom:0,right:0,width:"100%",background:"white",color:"#20202F",zIndex:9999,textAlign:"left",fontSize:"16px",lineHeight:1.2},message:{fontWeight:"bold"},stack:{fontFamily:"monospace",marginTop:"2em"},frame:{marginTop:"1em"},file:{fontSize:"0.8em",color:"#A5A5A5"},linkToFile:{textDecoration:"none",color:"#A5A5A5"}},e.exports=t.default},function(e,t,r){var n,i,o;!function(a,s){"use strict";i=[r(3)],n=s,o="function"==typeof n?n.apply(t,i):n,!(void 0!==o&&(e.exports=o))}(this,function(e){"use strict";var t=/(^|@)\S+\:\d+/,r=/\s+at .*(\S+\:\d+|\(native\))/;return{parse:function(e){if("undefined"!=typeof e.stacktrace||"undefined"!=typeof e["opera#sourceloc"])return this.parseOpera(e);if(e.stack&&e.stack.match(r))return this.parseV8OrIE(e);if(e.stack&&e.stack.match(t))return this.parseFFOrSafari(e);throw new Error("Cannot parse given Error object")},extractLocation:function(e){if(-1===e.indexOf(":"))return[e];var t=e.replace(/[\(\)\s]/g,"").split(":"),r=t.pop(),n=t[t.length-1];if(!isNaN(parseFloat(n))&&isFinite(n)){var i=t.pop();return[t.join(":"),i,r]}return[t.join(":"),r,void 0]},parseV8OrIE:function(t){return t.stack.split("\n").filter(function(e){return!!e.match(r)},this).map(function(t){var r=t.replace(/^\s+/,"").split(/\s+/).slice(1),n=this.extractLocation(r.pop()),i=r[0]&&"Anonymous"!==r[0]?r[0]:void 0;return new e(i,void 0,n[0],n[1],n[2],t)},this)},parseFFOrSafari:function(r){return r.stack.split("\n").filter(function(e){return!!e.match(t)},this).map(function(t){var r=t.split("@"),n=this.extractLocation(r.pop()),i=r.shift()||void 0;return new e(i,void 0,n[0],n[1],n[2],t)},this)},parseOpera:function(e){return!e.stacktrace||e.message.indexOf("\n")>-1&&e.message.split("\n").length>e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(t){for(var r=/Line (\d+).*script (?:in )?(\S+)/i,n=t.message.split("\n"),i=[],o=2,a=n.length;a>o;o+=2){var s=r.exec(n[o]);s&&i.push(new e(void 0,void 0,s[2],s[1],void 0,n[o]))}return i},parseOpera10:function(t){for(var r=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i,n=t.stacktrace.split("\n"),i=[],o=0,a=n.length;a>o;o+=2){var s=r.exec(n[o]);s&&i.push(new e(s[3]||void 0,void 0,s[2],s[1],void 0,n[o]))}return i},parseOpera11:function(r){return r.stack.split("\n").filter(function(e){return!!e.match(t)&&!e.match(/^Error created at/)},this).map(function(t){var r,n=t.split("@"),i=this.extractLocation(n.pop()),o=n.shift()||"",a=o.replace(/<anonymous function(: (\w+))?>/,"$2").replace(/\([^\)]*\)/g,"")||void 0;o.match(/\(([^\)]*)\)/)&&(r=o.replace(/^[^\(]+\(([^\)]*)\)$/,"$1"));var s=void 0===r||"[arguments not available]"===r?void 0:r.split(",");return new e(a,s,i[0],i[1],i[2],t)},this)}}})},function(e,t,r){var n,i,o;!function(r,a){"use strict";i=[],n=a,o="function"==typeof n?n.apply(t,i):n,!(void 0!==o&&(e.exports=o))}(this,function(){"use strict";function e(e){return!isNaN(parseFloat(e))&&isFinite(e)}function t(e,t,r,n,i,o){void 0!==e&&this.setFunctionName(e),void 0!==t&&this.setArgs(t),void 0!==r&&this.setFileName(r),void 0!==n&&this.setLineNumber(n),void 0!==i&&this.setColumnNumber(i),void 0!==o&&this.setSource(o)}return t.prototype={getFunctionName:function(){return this.functionName},setFunctionName:function(e){this.functionName=String(e)},getArgs:function(){return this.args},setArgs:function(e){if("[object Array]"!==Object.prototype.toString.call(e))throw new TypeError("Args must be an Array");this.args=e},getFileName:function(){return this.fileName},setFileName:function(e){this.fileName=String(e)},getLineNumber:function(){return this.lineNumber},setLineNumber:function(t){if(!e(t))throw new TypeError("Line Number must be a Number");this.lineNumber=Number(t)},getColumnNumber:function(){return this.columnNumber},setColumnNumber:function(t){if(!e(t))throw new TypeError("Column Number must be a Number");this.columnNumber=Number(t)},getSource:function(){return this.source},setSource:function(e){this.source=String(e)},toString:function(){var t=this.getFunctionName()||"{anonymous}",r="("+(this.getArgs()||[]).join(",")+")",n=this.getFileName()?"@"+this.getFileName():"",i=e(this.getLineNumber())?":"+this.getLineNumber():"",o=e(this.getColumnNumber())?":"+this.getColumnNumber():"";return t+r+n+i+o}},t})},function(e,t){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var n=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=Object.assign||function(e,t){for(var o,a,s=r(e),u=1;u<arguments.length;u++){o=Object(arguments[u]);for(var c in o)n.call(o,c)&&(s[c]=o[c]);if(Object.getOwnPropertySymbols){a=Object.getOwnPropertySymbols(o);for(var l=0;l<a.length;l++)i.call(o,a[l])&&(s[a[l]]=o[a[l]])}}return s}},function(t,r){t.exports=e}])});