UNPKG

@rollbar/react

Version:

Effortlessly track and debug errors in your React applications with Rollbar. This package includes advanced error tracking features and a set of React-specific enhancements to help you identify and fix issues more quickly.

97 lines (84 loc) 2.61 kB
import { Component, Context as ReactContext, ErrorInfo, ReactNode, ComponentType, } from 'react'; import Rollbar, { Callback, Configuration } from 'rollbar'; export const LEVEL_DEBUG = 'debug'; export const LEVEL_INFO = 'info'; export const LEVEL_WARN = 'warn'; export const LEVEL_ERROR = 'error'; export const LEVEL_CRITICAL = 'critical'; export type LEVEL = | typeof LEVEL_DEBUG | typeof LEVEL_INFO | typeof LEVEL_WARN | typeof LEVEL_ERROR | typeof LEVEL_CRITICAL; type Extra = Record<string | number, unknown>; export interface ErrorBoundaryProps { children: ReactNode; fallbackUI?: ComponentType<{ error: Error | null; resetError: () => void }>; errorMessage?: string | (() => string); extra?: Extra | ((error: Error, errorInfo: ErrorInfo) => Extra); level?: LEVEL | (() => LEVEL); callback?: Callback; } interface ErrorBoundaryState { hasError: boolean; error: Error | null; } export class ErrorBoundary extends Component< ErrorBoundaryProps, ErrorBoundaryState > { resetError: () => void; } export class RollbarContext extends Component<{ children: ReactNode; context?: string; }> {} export interface ProviderProps { Rollbar?: new (options: Configuration) => Rollbar; children: ReactNode; config?: Configuration | (() => Configuration); instance?: Rollbar; } interface ProviderState { rollbar: Rollbar; options: Configuration; } export class Provider extends Component<ProviderProps, ProviderState> {} declare const RollbarInstance: unique symbol; declare const BaseOptions: unique symbol; declare const RollbarCtor: unique symbol; interface ContextInterface { [RollbarInstance]: Rollbar; [BaseOptions]: Configuration; [RollbarCtor]: new (options: Configuration) => Rollbar; } export const Context: ReactContext<ContextInterface>; export function getRollbarFromContext( context: ReactContext<ContextInterface>, ): Rollbar; export function useRollbar(): Rollbar; export function useRollbarConfiguration(config: Rollbar.Configuration): void; export function useRollbarContext(ctx?: string, isLayout?: boolean): void; export function useRollbarPerson(person: object): void; export function useRollbarCaptureEvent(metadata: object, level?: LEVEL): void; export function isValidLevel(level: LEVEL): boolean; export function historyContext( rollbar: Rollbar, args: { formatter: (location: string, action: string) => string; filter: (location: string, action: string) => boolean; }, ): ( v4Location: { action: string; filter: (location: string, action: string) => boolean; }, v4action: string, ) => void;