mirror of
https://github.com/Snigdha-OS/documentation.git
synced 2025-09-08 19:34:56 +02:00
26 lines
593 B
JavaScript
26 lines
593 B
JavaScript
import { matchPath, Router } from "react-router";
|
|
|
|
function matchRoutes(routes, pathname, /*not public API*/ branch = []) {
|
|
routes.some(route => {
|
|
const match = route.path
|
|
? matchPath(pathname, route)
|
|
: branch.length
|
|
? branch[branch.length - 1].match // use parent match
|
|
: Router.computeRootMatch(pathname); // use default "root" match
|
|
|
|
if (match) {
|
|
branch.push({ route, match });
|
|
|
|
if (route.routes) {
|
|
matchRoutes(route.routes, pathname, branch);
|
|
}
|
|
}
|
|
|
|
return match;
|
|
});
|
|
|
|
return branch;
|
|
}
|
|
|
|
export default matchRoutes;
|