Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/router / src / react-router-config / matchRoutes.ts
Size: Mime:
/**
 * @see https://github.com/ReactTraining/react-router/tree/master/packages/react-router
 * ^ changes for import
 */
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
        // use parent match
        ? branch[branch.length - 1].match
          /** @todo typing here */
         // use default "root" match
        : Router.computeRootMatch(pathname)

    if (match) {
      branch.push({ route, match })

      if (route.routes) {
        matchRoutes(route.routes, pathname, branch)
      }
    }

    return match
  })

  return branch
}

export default matchRoutes