react-static
Version:
A progressive static site generator for React
103 lines (81 loc) • 8.35 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = Root;
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 _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = _interopRequireDefault(require("react"));
var _ = require("..");
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
function Root(_ref) {
var children = _ref.children;
var ResolvedRoot = _react["default"].useMemo(function () {
return _.plugins.Root(function (_ref2) {
var children = _ref2.children;
return children;
});
}, [_.plugins]);
var _React$useState = _react["default"].useState(null),
_React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
error = _React$useState2[0],
setError = _React$useState2[1];
_react["default"].useEffect(function () {
if (module && module.hot) {
var hotReloadHandler = function hotReloadHandler(status) {
if (status === 'idle') {
setError(null);
}
};
module.hot.addStatusHandler(hotReloadHandler);
return function () {
module.hot.removeStatusHandler(hotReloadHandler);
};
}
});
return /*#__PURE__*/_react["default"].createElement(Catch, {
onCatch: setError
}, error ? /*#__PURE__*/_react["default"].createElement("pre", {
style: {
display: 'block',
position: 'absolute',
top: 0,
left: 0,
bottom: 0,
right: 0,
background: '#222',
color: 'white',
margin: 0,
padding: '1rem',
overflow: 'scroll',
fontSize: '14px'
}
}, "An internal error occured!\n\n".concat(process.env.NODE_ENV === 'production' ? 'Please see the console for more details.' : error.stack, "\n ")) : /*#__PURE__*/_react["default"].createElement(ResolvedRoot, null, children));
}
var Catch = /*#__PURE__*/function (_React$Component) {
(0, _inherits2["default"])(Catch, _React$Component);
var _super = _createSuper(Catch);
function Catch() {
(0, _classCallCheck2["default"])(this, Catch);
return _super.apply(this, arguments);
}
(0, _createClass2["default"])(Catch, [{
key: "componentDidCatch",
value: function componentDidCatch(error) {
this.props.onCatch(error);
}
}, {
key: "render",
value: function render() {
return this.props.children;
}
}]);
return Catch;
}(_react["default"].Component);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9icm93c2VyL2NvbXBvbmVudHMvUm9vdC5qcyJdLCJuYW1lcyI6WyJSb290IiwiY2hpbGRyZW4iLCJSZXNvbHZlZFJvb3QiLCJSZWFjdCIsInVzZU1lbW8iLCJwbHVnaW5zIiwidXNlU3RhdGUiLCJlcnJvciIsInNldEVycm9yIiwidXNlRWZmZWN0IiwibW9kdWxlIiwiaG90IiwiaG90UmVsb2FkSGFuZGxlciIsInN0YXR1cyIsImFkZFN0YXR1c0hhbmRsZXIiLCJyZW1vdmVTdGF0dXNIYW5kbGVyIiwiZGlzcGxheSIsInBvc2l0aW9uIiwidG9wIiwibGVmdCIsImJvdHRvbSIsInJpZ2h0IiwiYmFja2dyb3VuZCIsImNvbG9yIiwibWFyZ2luIiwicGFkZGluZyIsIm92ZXJmbG93IiwiZm9udFNpemUiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJzdGFjayIsIkNhdGNoIiwicHJvcHMiLCJvbkNhdGNoIiwiQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7Ozs7O0FBRWUsU0FBU0EsSUFBVCxPQUE0QjtBQUFBLE1BQVpDLFFBQVksUUFBWkEsUUFBWTs7QUFDekMsTUFBTUMsWUFBWSxHQUFHQyxrQkFBTUMsT0FBTixDQUNuQjtBQUFBLFdBQU1DLFVBQVFMLElBQVIsQ0FBYTtBQUFBLFVBQUdDLFFBQUgsU0FBR0EsUUFBSDtBQUFBLGFBQWtCQSxRQUFsQjtBQUFBLEtBQWIsQ0FBTjtBQUFBLEdBRG1CLEVBRW5CLENBQUNJLFNBQUQsQ0FGbUIsQ0FBckI7O0FBRHlDLHdCQU1mRixrQkFBTUcsUUFBTixDQUFlLElBQWYsQ0FOZTtBQUFBO0FBQUEsTUFNbENDLEtBTmtDO0FBQUEsTUFNM0JDLFFBTjJCOztBQVF6Q0wsb0JBQU1NLFNBQU4sQ0FBZ0IsWUFBTTtBQUNwQixRQUFJQyxNQUFNLElBQUlBLE1BQU0sQ0FBQ0MsR0FBckIsRUFBMEI7QUFDeEIsVUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUFBQyxNQUFNLEVBQUk7QUFDakMsWUFBSUEsTUFBTSxLQUFLLE1BQWYsRUFBdUI7QUFDckJMLFVBQUFBLFFBQVEsQ0FBQyxJQUFELENBQVI7QUFDRDtBQUNGLE9BSkQ7O0FBS0FFLE1BQUFBLE1BQU0sQ0FBQ0MsR0FBUCxDQUFXRyxnQkFBWCxDQUE0QkYsZ0JBQTVCO0FBQ0EsYUFBTyxZQUFNO0FBQ1hGLFFBQUFBLE1BQU0sQ0FBQ0MsR0FBUCxDQUFXSSxtQkFBWCxDQUErQkgsZ0JBQS9CO0FBQ0QsT0FGRDtBQUdEO0FBQ0YsR0FaRDs7QUFjQSxzQkFDRSxnQ0FBQyxLQUFEO0FBQU8sSUFBQSxPQUFPLEVBQUVKO0FBQWhCLEtBQ0dELEtBQUssZ0JBQ0o7QUFDRSxJQUFBLEtBQUssRUFBRTtBQUNMUyxNQUFBQSxPQUFPLEVBQUUsT0FESjtBQUVMQyxNQUFBQSxRQUFRLEVBQUUsVUFGTDtBQUdMQyxNQUFBQSxHQUFHLEVBQUUsQ0FIQTtBQUlMQyxNQUFBQSxJQUFJLEVBQUUsQ0FKRDtBQUtMQyxNQUFBQSxNQUFNLEVBQUUsQ0FMSDtBQU1MQyxNQUFBQSxLQUFLLEVBQUUsQ0FORjtBQU9MQyxNQUFBQSxVQUFVLEVBQUUsTUFQUDtBQVFMQyxNQUFBQSxLQUFLLEVBQUUsT0FSRjtBQVNMQyxNQUFBQSxNQUFNLEVBQUUsQ0FUSDtBQVVMQyxNQUFBQSxPQUFPLEVBQUUsTUFWSjtBQVdMQyxNQUFBQSxRQUFRLEVBQUUsUUFYTDtBQVlMQyxNQUFBQSxRQUFRLEVBQUU7QUFaTDtBQURULDZDQW1CTkMsT0FBTyxDQUFDQyxHQUFSLENBQVlDLFFBQVosS0FBeUIsWUFBekIsR0FDSSwwQ0FESixHQUVJdkIsS0FBSyxDQUFDd0IsS0FyQkosa0JBREksZ0JBMkJKLGdDQUFDLFlBQUQsUUFBZTlCLFFBQWYsQ0E1QkosQ0FERjtBQWlDRDs7SUFFSytCLEs7Ozs7Ozs7Ozs7OztzQ0FDY3pCLEssRUFBTztBQUN2QixXQUFLMEIsS0FBTCxDQUFXQyxPQUFYLENBQW1CM0IsS0FBbkI7QUFDRDs7OzZCQUVRO0FBQ1AsYUFBTyxLQUFLMEIsS0FBTCxDQUFXaEMsUUFBbEI7QUFDRDs7O0VBUGlCRSxrQkFBTWdDLFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG4vL1xuaW1wb3J0IHsgcGx1Z2lucyB9IGZyb20gJy4uJ1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSb290KHsgY2hpbGRyZW4gfSkge1xuICBjb25zdCBSZXNvbHZlZFJvb3QgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+IHBsdWdpbnMuUm9vdCgoeyBjaGlsZHJlbiB9KSA9PiBjaGlsZHJlbiksXG4gICAgW3BsdWdpbnNdXG4gIClcblxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobW9kdWxlICYmIG1vZHVsZS5ob3QpIHtcbiAgICAgIGNvbnN0IGhvdFJlbG9hZEhhbmRsZXIgPSBzdGF0dXMgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSAnaWRsZScpIHtcbiAgICAgICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBtb2R1bGUuaG90LmFkZFN0YXR1c0hhbmRsZXIoaG90UmVsb2FkSGFuZGxlcilcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIG1vZHVsZS5ob3QucmVtb3ZlU3RhdHVzSGFuZGxlcihob3RSZWxvYWRIYW5kbGVyKVxuICAgICAgfVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4gKFxuICAgIDxDYXRjaCBvbkNhdGNoPXtzZXRFcnJvcn0+XG4gICAgICB7ZXJyb3IgPyAoXG4gICAgICAgIDxwcmVcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICAgICAgYmFja2dyb3VuZDogJyMyMjInLFxuICAgICAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgICBwYWRkaW5nOiAnMXJlbScsXG4gICAgICAgICAgICBvdmVyZmxvdzogJ3Njcm9sbCcsXG4gICAgICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7YEFuIGludGVybmFsIGVycm9yIG9jY3VyZWQhXG5cbiR7XG4gIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbidcbiAgICA/ICdQbGVhc2Ugc2VlIHRoZSBjb25zb2xlIGZvciBtb3JlIGRldGFpbHMuJ1xuICAgIDogZXJyb3Iuc3RhY2tcbn1cbiAgICAgICAgICBgfVxuICAgICAgICA8L3ByZT5cbiAgICAgICkgOiAoXG4gICAgICAgIDxSZXNvbHZlZFJvb3Q+e2NoaWxkcmVufTwvUmVzb2x2ZWRSb290PlxuICAgICAgKX1cbiAgICA8L0NhdGNoPlxuICApXG59XG5cbmNsYXNzIENhdGNoIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgY29tcG9uZW50RGlkQ2F0Y2goZXJyb3IpIHtcbiAgICB0aGlzLnByb3BzLm9uQ2F0Y2goZXJyb3IpXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW5cbiAgfVxufVxuIl19