@critters/next
Version:
Secure bug reporting library for Next.js applications
32 lines (31 loc) • 1.43 kB
TypeScript
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>;
};