UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

71 lines (70 loc) 2.4 kB
"use strict"; "use client"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var React = _interopRequireWildcard(require("react")); var _Alert = _interopRequireDefault(require("./Alert")); let ErrorBoundary = /*#__PURE__*/function (_React$Component) { function ErrorBoundary() { var _this; (0, _classCallCheck2.default)(this, ErrorBoundary); _this = (0, _callSuper2.default)(this, ErrorBoundary, arguments); _this.state = { error: undefined, info: { componentStack: '' } }; return _this; } (0, _inherits2.default)(ErrorBoundary, _React$Component); return (0, _createClass2.default)(ErrorBoundary, [{ key: "componentDidCatch", value: function componentDidCatch(error, info) { this.setState({ error, info }); } }, { key: "render", value: function render() { const { message, description, id, children } = this.props; const { error, info } = this.state; const componentStack = (info === null || info === void 0 ? void 0 : info.componentStack) || null; const errorMessage = typeof message === 'undefined' ? (error || '').toString() : message; const errorDescription = typeof description === 'undefined' ? componentStack : description; if (error) { return /*#__PURE__*/React.createElement(_Alert.default, { id: id, type: "error", message: errorMessage, description: /*#__PURE__*/React.createElement("pre", { style: { fontSize: '0.9em', overflowX: 'auto' } }, errorDescription) }); } return children; } }]); }(React.Component); var _default = exports.default = ErrorBoundary;