UNPKG

@sentry/remix

Version:
42 lines 1.82 kB
import type { ErrorBoundaryProps } from '@sentry/react'; import { Transaction, TransactionContext } from '@sentry/types'; import * as React from 'react'; declare type Params<Key extends string = string> = { readonly [key in Key]: string | undefined; }; interface RouteMatch<ParamKey extends string = string> { params: Params<ParamKey>; pathname: string; id: string; handle: unknown; } declare type UseEffect = (cb: () => void, deps: unknown[]) => void; declare type UseLocation = () => { pathname: string; search?: string; hash?: string; state?: unknown; key?: unknown; }; declare type UseMatches = () => RouteMatch[] | null; /** * Creates a react-router v6 instrumention for Remix applications. * * This implementation is slightly different (and simpler) from the react-router instrumentation * as in Remix, `useMatches` hook is available where in react-router-v6 it's not yet. */ export declare function remixRouterInstrumentation(useEffect: UseEffect, useLocation: UseLocation, useMatches: UseMatches): (customStartTransaction: (context: TransactionContext) => Transaction | undefined, startTransactionOnPageLoad?: boolean, startTransactionOnLocationChange?: boolean) => void; /** * Wraps a remix `root` (see: https://remix.run/docs/en/v1/guides/migrating-react-router-app#creating-the-root-route) * To enable pageload/navigation tracing on every route. * Also wraps the application with `ErrorBoundary`. * * @param OrigApp The Remix root to wrap * @param options The options for ErrorBoundary wrapper. */ export declare function withSentry<P extends Record<string, unknown>, R extends React.FC<P>>(OrigApp: R, options?: { wrapWithErrorBoundary?: boolean; errorBoundaryOptions?: ErrorBoundaryProps; }): R; export {}; //# sourceMappingURL=client.d.ts.map