UNPKG

@sentry/remix

Version:
45 lines 1.95 kB
import type { Client } from '@sentry/core'; import type { browserTracingIntegration as originalBrowserTracingIntegration } from '@sentry/react'; import * as React from 'react'; export type Params<Key extends string = string> = { readonly [key in Key]: string | undefined; }; export interface RouteMatch<ParamKey extends string = string> { params: Params<ParamKey>; pathname: string; id: string; handle: unknown; } export type UseEffect = (cb: () => void, deps: unknown[]) => void; export type UseLocation = () => { pathname: string; search?: string; hash?: string; state?: unknown; key?: unknown; }; export type UseMatches = () => RouteMatch[] | null; export type RemixBrowserTracingIntegrationOptions = Partial<Parameters<typeof originalBrowserTracingIntegration>[0]> & { useEffect?: UseEffect; useLocation?: UseLocation; useMatches?: UseMatches; }; export declare function startPageloadSpan(client: Client): void; /** * Wraps a remix `root` (see: https://remix.run/docs/en/main/start/quickstart#the-root-route) * To enable pageload/navigation tracing on every route. * * @param OrigApp The Remix root to wrap * @param useEffect The `useEffect` hook from `react` * @param useLocation The `useLocation` hook from `@remix-run/react` * @param useMatches The `useMatches` hook from `@remix-run/react` * @param instrumentNavigation Whether to instrument navigation spans. Defaults to `true`. */ export declare function withSentry<P extends Record<string, unknown>, R extends React.ComponentType<P>>(OrigApp: R, useEffect?: UseEffect, useLocation?: UseLocation, useMatches?: UseMatches, instrumentNavigation?: boolean): R; export declare function setGlobals({ useEffect, useLocation, useMatches, instrumentNavigation, }: { useEffect?: UseEffect; useLocation?: UseLocation; useMatches?: UseMatches; instrumentNavigation?: boolean; }): void; //# sourceMappingURL=performance.d.ts.map