UNPKG

@critters/next

Version:

Secure bug reporting library for Next.js applications

32 lines (31 loc) 1.43 kB
import React from "react"; import { ErrorBoundaryProps } from "./types"; /** * Create a wrapper for React components to catch and report errors */ export declare function withErrorBoundary<P extends object>(Component: React.ComponentType<P>, options?: { fallback?: React.ReactNode; onError?: (error: Error, errorInfo: React.ErrorInfo) => void; captureProps?: boolean; captureState?: boolean; }): (props: P) => React.JSX.Element; /** * Error boundary component for wrapping components */ export declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, { hasError: boolean; }> { constructor(props: ErrorBoundaryProps); static getDerivedStateFromError(): { hasError: boolean; }; componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void; render(): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined; } /** * Hook for manual error reporting */ export declare function useErrorReporting(): { reportError: (error: Error | unknown, metadata?: Record<string, any>) => Promise<import("./types").ReportResult>; catch: (error: Error | unknown, metadata?: Record<string, any>) => Promise<import("./types").ReportResult>; };