UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

74 lines (73 loc) 1.79 kB
import React from "react"; import { jsx } from "react/jsx-runtime"; class Try extends React.Component { state = { error: void 0, componentStack: void 0 }; static getDerivedStateFromError(error) { return { error }; } componentDidCatch(error, errorInfo) { this.setState({ componentStack: errorInfo.componentStack || void 0 }); if (process.env.NODE_ENV === "development") { const routeInfo = this.props.routeInfo; console.error(`[One] Error in route${routeInfo?.routeName ? ` "${routeInfo.routeName}"` : ""}:`, error, "\nComponent Stack:", errorInfo.componentStack); } if (typeof window !== "undefined" && typeof CustomEvent !== "undefined") { window.dispatchEvent(new CustomEvent("one-error", { detail: { error: { message: error.message, stack: error.stack, name: error.name }, route: this.props.routeInfo || {}, componentStack: errorInfo.componentStack, timestamp: Date.now(), type: "render" } })); } } retry = () => { return new Promise(resolve => { this.setState({ error: void 0, componentStack: void 0 }, () => { resolve(); }); }); }; render() { const { error, componentStack } = this.state; const { catch: ErrorBoundary, children, routeInfo } = this.props; if (!error) { return children; } const enhancedRouteInfo = { ...routeInfo, errorType: "render", componentStack }; return /* @__PURE__ */jsx(ErrorBoundary, { error, retry: this.retry, route: enhancedRouteInfo }); } } export { Try }; //# sourceMappingURL=Try.mjs.map