amis-rpc-design/node_modules/antd/lib/alert/ErrorBoundary.js
2023-10-07 19:42:30 +08:00

71 lines
2.4 KiB
JavaScript

"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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
var React = _interopRequireWildcard(require("react"));
var _Alert = _interopRequireDefault(require("./Alert"));
let ErrorBoundary = /*#__PURE__*/function (_React$Component) {
(0, _inherits2.default)(ErrorBoundary, _React$Component);
var _super = (0, _createSuper2.default)(ErrorBoundary);
function ErrorBoundary() {
var _this;
(0, _classCallCheck2.default)(this, ErrorBoundary);
_this = _super.apply(this, arguments);
_this.state = {
error: undefined,
info: {
componentStack: ''
}
};
return _this;
}
(0, _createClass2.default)(ErrorBoundary, [{
key: "componentDidCatch",
value: function componentDidCatch(error, info) {
this.setState({
error,
info
});
}
}, {
key: "render",
value: function render() {
const {
message,
description,
children
} = this.props;
const {
error,
info
} = this.state;
const componentStack = info && info.componentStack ? 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, {
type: "error",
message: errorMessage,
description: /*#__PURE__*/React.createElement("pre", {
style: {
fontSize: '0.9em',
overflowX: 'auto'
}
}, errorDescription)
});
}
return children;
}
}]);
return ErrorBoundary;
}(React.Component);
var _default = exports.default = ErrorBoundary;