UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

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