UNPKG

@grafana/faro-react

Version:

Faro package that enables easier integration in projects built with React.

35 lines 1.33 kB
import { matchRoutes } from './routerDependencies'; export function getNumberOfUrlSegments(url) { return url.split(/\\?\//).filter((currentSegment) => currentSegment.length > 0 && currentSegment !== ',').length; } export function getRouteFromLocation(routes, location) { if (!routes || routes.length === 0) { return location.pathname; } const matchedRoutes = matchRoutes(routes, location); let pathBuilder = ''; if (matchedRoutes) { for (let x = 0; x < matchedRoutes.length; x++) { const branch = matchedRoutes[x]; const route = branch.route; if (route) { if (route.index) { return branch.pathname; } let path = route.path; if (path) { path = path.startsWith('/') ? path : `/${path}`; pathBuilder += path; if (branch.pathname === location.pathname) { if (getNumberOfUrlSegments(pathBuilder) !== getNumberOfUrlSegments(branch.pathname)) { return path; } return pathBuilder; } } } } } return location.pathname; } //# sourceMappingURL=utils.js.map