Skip to content

Commit 17095c7

Browse files
fix(react-router): correct typing for getRouteApi` (#2438)
* fix(react-router): correct typing for `getRouteApi`` * chore: fix type tests --------- Co-authored-by: chorobin <chrishorobin@hotmail.com>
1 parent 6691b77 commit 17095c7

2 files changed

Lines changed: 11 additions & 15 deletions

File tree

packages/react-router/src/route.ts

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -750,22 +750,18 @@ export type RouteConstraints = {
750750
TRouteTree: AnyRoute
751751
}
752752

753-
export type RouteTypesById<
754-
TRouter extends RegisteredRouter,
755-
TId extends RouteIds<TRouter['routeTree']>,
756-
> = RouteById<TRouter['routeTree'], TId>['types']
757-
758-
export function getRouteApi<
759-
TRouter extends RegisteredRouter,
760-
TId extends RouteIds<TRouter['routeTree']>,
761-
>(id: TId) {
762-
return new RouteApi<TRouter, TId>({ id })
753+
export type RouteTypesById<TRouter extends AnyRouter, TId> = RouteById<
754+
TRouter['routeTree'],
755+
TId
756+
>['types']
757+
758+
export function getRouteApi<TId, TRouter extends AnyRouter = RegisteredRouter>(
759+
id: Constrain<TId, RouteIds<TRouter['routeTree']>>,
760+
) {
761+
return new RouteApi<TId, TRouter>({ id })
763762
}
764763

765-
export class RouteApi<
766-
TRouter extends RegisteredRouter,
767-
TId extends RouteIds<TRouter['routeTree']>,
768-
> {
764+
export class RouteApi<TId, TRouter extends AnyRouter = RegisteredRouter> {
769765
id: TId
770766

771767
/**

packages/react-router/tests/routeApi.test-d.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ type ExtractDefaultFrom<T> =
4343
T extends UseNavigateResult<infer DefaultFrom> ? DefaultFrom : never
4444

4545
describe('getRouteApi', () => {
46-
const invoiceRouteApi = getRouteApi<DefaultRouter, '/invoices/$invoiceId'>(
46+
const invoiceRouteApi = getRouteApi<'/invoices/$invoiceId', DefaultRouter>(
4747
'/invoices/$invoiceId',
4848
)
4949
describe('useNavigate', () => {

0 commit comments

Comments
 (0)