diff --git a/src/types/fetch/_match.ts b/src/types/fetch/_match.ts index 4c097a1955..68d57f5ff6 100644 --- a/src/types/fetch/_match.ts +++ b/src/types/fetch/_match.ts @@ -58,29 +58,21 @@ type CalcMatchScore< type _MatchedRoutes< Route extends string, - MatchedResultUnion extends MatchResult = MatchResult< - keyof InternalApi - >, -> = MatchedResultUnion["key"] extends infer MatchedKeys // spread union type - ? MatchedKeys extends string - ? Route extends MatchedKeys - ? MatchResult // exact match - : MatchedKeys extends `${infer Root}/**${string}` - ? MatchedKeys extends `${string}/**` - ? Route extends `${Root}/${string}` - ? MatchResult - : never // catchAll match - : MatchResult< - MatchedKeys, - false, - CalcMatchScore - > // glob match - : MatchResult< - MatchedKeys, - false, - CalcMatchScore - > // partial match - : never + MatchedKeys extends string = keyof InternalApi, +> = MatchedKeys extends any + ? Route extends MatchedKeys + ? MatchResult // exact match + : MatchedKeys extends `${infer Root}/**${string}` + ? MatchedKeys extends `${string}/**` + ? Route extends `${Root}/${string}` + ? MatchResult + : never // catchAll match + : MatchResult> // glob match + : MatchResult< + MatchedKeys, + false, + CalcMatchScore + > // partial match : never; export type MatchedRoutes< @@ -88,9 +80,9 @@ export type MatchedRoutes< MatchedKeysResult extends MatchResult = MatchResult< keyof InternalApi >, - Matches extends MatchResult = _MatchedRoutes< + Matches extends MatchResult = _MatchedRoutes< Route, - MatchedKeysResult + MatchedKeysResult["key"] >, > = Route extends "/" ? keyof InternalApi // root middleware