UNPKG

index-ticketing

Version:

Automatic error tracking and ticketing system integration

44 lines 1.77 kB
import React, { Component, ErrorInfo, ReactNode } from 'react'; import { ClientErrorHandler } from '../client/error-handler'; interface Props { children: ReactNode; errorHandler: ClientErrorHandler; fallback?: ReactNode | ((error: Error, errorInfo: ErrorInfo) => ReactNode); onError?: (error: Error, errorInfo: ErrorInfo) => void; } interface State { hasError: boolean; error?: Error; errorInfo?: ErrorInfo; } /** * React Error Boundary that integrates with IndexTicketing */ export declare class IndexTicketingErrorBoundary extends Component<Props, State> { constructor(props: Props); static getDerivedStateFromError(error: Error): State; componentDidCatch(error: Error, errorInfo: ErrorInfo): void; render(): React.ReactNode; } /** * Higher-order component that wraps a component with error boundary */ export declare function withIndexTicketingErrorBoundary<P extends object>(WrappedComponent: React.ComponentType<P>, errorHandler: ClientErrorHandler, fallback?: ReactNode | ((error: Error, errorInfo: ErrorInfo) => ReactNode)): { (props: P): React.DetailedReactHTMLElement<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>; displayName: string; }; /** * React hook for manual error reporting */ export declare function useIndexTicketing(errorHandler: ClientErrorHandler): { captureError: (error: Error, extra?: Record<string, any>) => void; addBreadcrumb: (message: string, category?: string, level?: "info" | "warning" | "error" | "debug", data?: Record<string, any>) => void; setUser: (user: { id?: string; email?: string; name?: string; }) => void; setTags: (tags: Record<string, string>) => void; }; export {}; //# sourceMappingURL=react.d.ts.map