import { useMatch } from './useMatch' import type { AnyRouter, RegisteredRouter, UseRouteContextBaseOptions, UseRouteContextOptions, UseRouteContextResult, } from '@tanstack/router-core' export type UseRouteContextRoute = < TRouter extends AnyRouter = RegisteredRouter, TSelected = unknown, >( opts?: UseRouteContextBaseOptions, ) => UseRouteContextResult export function useRouteContext< TRouter extends AnyRouter = RegisteredRouter, const TFrom extends string | undefined = undefined, TStrict extends boolean = true, TSelected = unknown, >( opts: UseRouteContextOptions, ): UseRouteContextResult { return useMatch({ ...(opts as any), select: (match) => opts.select ? opts.select(match.context) : match.context, }) as UseRouteContextResult }