react-router.js.map 42 KB
{"version":3,"file":"react-router.js","sources":["../modules/createNameContext.js","../modules/HistoryContext.js","../modules/RouterContext.js","../modules/Router.js","../modules/MemoryRouter.js","../modules/Lifecycle.js","../modules/Prompt.js","../modules/generatePath.js","../modules/Redirect.js","../modules/matchPath.js","../modules/Route.js","../modules/StaticRouter.js","../modules/Switch.js","../modules/withRouter.js","../modules/hooks.js","../modules/index.js"],"sourcesContent":["// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n  const context = createContext();\n  context.displayName = name;\n\n  return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNameContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n  const context = createContext();\n  context.displayName = name;\n\n  return context;\n};\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n  static computeRootMatch(pathname) {\n    return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n  }\n\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      location: props.history.location\n    };\n\n    // This is a bit of a hack. We have to start listening for location\n    // changes here in the constructor in case there are any <Redirect>s\n    // on the initial render. If there are, they will replace/push when\n    // they mount and since cDM fires in children before parents, we may\n    // get a new location before the <Router> is mounted.\n    this._isMounted = false;\n    this._pendingLocation = null;\n\n    if (!props.staticContext) {\n      this.unlisten = props.history.listen(location => {\n        if (this._isMounted) {\n          this.setState({ location });\n        } else {\n          this._pendingLocation = location;\n        }\n      });\n    }\n  }\n\n  componentDidMount() {\n    this._isMounted = true;\n\n    if (this._pendingLocation) {\n      this.setState({ location: this._pendingLocation });\n    }\n  }\n\n  componentWillUnmount() {\n    if (this.unlisten) this.unlisten();\n  }\n\n  render() {\n    return (\n      <RouterContext.Provider\n        value={{\n          history: this.props.history,\n          location: this.state.location,\n          match: Router.computeRootMatch(this.state.location.pathname),\n          staticContext: this.props.staticContext\n        }}\n      >\n        <HistoryContext.Provider\n          children={this.props.children || null}\n          value={this.props.history}\n        />\n      </RouterContext.Provider>\n    );\n  }\n}\n\nif (__DEV__) {\n  Router.propTypes = {\n    children: PropTypes.node,\n    history: PropTypes.object.isRequired,\n    staticContext: PropTypes.object\n  };\n\n  Router.prototype.componentDidUpdate = function(prevProps) {\n    warning(\n      prevProps.history === this.props.history,\n      \"You cannot change <Router history>\"\n    );\n  };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a <Router> that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n  history = createHistory(this.props);\n\n  render() {\n    return <Router history={this.history} children={this.props.children} />;\n  }\n}\n\nif (__DEV__) {\n  MemoryRouter.propTypes = {\n    initialEntries: PropTypes.array,\n    initialIndex: PropTypes.number,\n    getUserConfirmation: PropTypes.func,\n    keyLength: PropTypes.number,\n    children: PropTypes.node\n  };\n\n  MemoryRouter.prototype.componentDidMount = function() {\n    warning(\n      !this.props.history,\n      \"<MemoryRouter> ignores the history prop. To use a custom history, \" +\n        \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n    );\n  };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n  componentDidMount() {\n    if (this.props.onMount) this.props.onMount.call(this, this);\n  }\n\n  componentDidUpdate(prevProps) {\n    if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n  }\n\n  componentWillUnmount() {\n    if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n  }\n\n  render() {\n    return null;\n  }\n}\n\nexport default Lifecycle;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\nfunction Prompt({ message, when = true }) {\n  return (\n    <RouterContext.Consumer>\n      {context => {\n        invariant(context, \"You should not use <Prompt> outside a <Router>\");\n\n        if (!when || context.staticContext) return null;\n\n        const method = context.history.block;\n\n        return (\n          <Lifecycle\n            onMount={self => {\n              self.release = method(message);\n            }}\n            onUpdate={(self, prevProps) => {\n              if (prevProps.message !== message) {\n                self.release();\n                self.release = method(message);\n              }\n            }}\n            onUnmount={self => {\n              self.release();\n            }}\n            message={message}\n          />\n        );\n      }}\n    </RouterContext.Consumer>\n  );\n}\n\nif (__DEV__) {\n  const messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n\n  Prompt.propTypes = {\n    when: PropTypes.bool,\n    message: messageType.isRequired\n  };\n}\n\nexport default Prompt;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n  if (cache[path]) return cache[path];\n\n  const generator = pathToRegexp.compile(path);\n\n  if (cacheCount < cacheLimit) {\n    cache[path] = generator;\n    cacheCount++;\n  }\n\n  return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n  return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n  return (\n    <RouterContext.Consumer>\n      {context => {\n        invariant(context, \"You should not use <Redirect> outside a <Router>\");\n\n        const { history, staticContext } = context;\n\n        const method = push ? history.push : history.replace;\n        const location = createLocation(\n          computedMatch\n            ? typeof to === \"string\"\n              ? generatePath(to, computedMatch.params)\n              : {\n                  ...to,\n                  pathname: generatePath(to.pathname, computedMatch.params)\n                }\n            : to\n        );\n\n        // When rendering in a static context,\n        // set the new location immediately.\n        if (staticContext) {\n          method(location);\n          return null;\n        }\n\n        return (\n          <Lifecycle\n            onMount={() => {\n              method(location);\n            }}\n            onUpdate={(self, prevProps) => {\n              const prevLocation = createLocation(prevProps.to);\n              if (\n                !locationsAreEqual(prevLocation, {\n                  ...location,\n                  key: prevLocation.key\n                })\n              ) {\n                method(location);\n              }\n            }}\n            to={to}\n          />\n        );\n      }}\n    </RouterContext.Consumer>\n  );\n}\n\nif (__DEV__) {\n  Redirect.propTypes = {\n    push: PropTypes.bool,\n    from: PropTypes.string,\n    to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n  };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n  const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n  const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n  if (pathCache[path]) return pathCache[path];\n\n  const keys = [];\n  const regexp = pathToRegexp(path, keys, options);\n  const result = { regexp, keys };\n\n  if (cacheCount < cacheLimit) {\n    pathCache[path] = result;\n    cacheCount++;\n  }\n\n  return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n  if (typeof options === \"string\" || Array.isArray(options)) {\n    options = { path: options };\n  }\n\n  const { path, exact = false, strict = false, sensitive = false } = options;\n\n  const paths = [].concat(path);\n\n  return paths.reduce((matched, path) => {\n    if (!path && path !== \"\") return null;\n    if (matched) return matched;\n\n    const { regexp, keys } = compilePath(path, {\n      end: exact,\n      strict,\n      sensitive\n    });\n    const match = regexp.exec(pathname);\n\n    if (!match) return null;\n\n    const [url, ...values] = match;\n    const isExact = pathname === url;\n\n    if (exact && !isExact) return null;\n\n    return {\n      path, // the path used to match\n      url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n      isExact, // whether or not we matched exactly\n      params: keys.reduce((memo, key, index) => {\n        memo[key.name] = values[index];\n        return memo;\n      }, {})\n    };\n  }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n  return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n  const value = children(props);\n\n  warning(\n    value !== undefined,\n    \"You returned `undefined` from the `children` function of \" +\n      `<Route${path ? ` path=\"${path}\"` : \"\"}>, but you ` +\n      \"should have returned a React element or `null`\"\n  );\n\n  return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n  render() {\n    return (\n      <RouterContext.Consumer>\n        {context => {\n          invariant(context, \"You should not use <Route> outside a <Router>\");\n\n          const location = this.props.location || context.location;\n          const match = this.props.computedMatch\n            ? this.props.computedMatch // <Switch> already computed the match for us\n            : this.props.path\n            ? matchPath(location.pathname, this.props)\n            : context.match;\n\n          const props = { ...context, location, match };\n\n          let { children, component, render } = this.props;\n\n          // Preact uses an empty array as children by\n          // default, so use null if that's the case.\n          if (Array.isArray(children) && children.length === 0) {\n            children = null;\n          }\n\n          return (\n            <RouterContext.Provider value={props}>\n              {props.match\n                ? children\n                  ? typeof children === \"function\"\n                    ? __DEV__\n                      ? evalChildrenDev(children, props, this.props.path)\n                      : children(props)\n                    : children\n                  : component\n                  ? React.createElement(component, props)\n                  : render\n                  ? render(props)\n                  : null\n                : typeof children === \"function\"\n                ? __DEV__\n                  ? evalChildrenDev(children, props, this.props.path)\n                  : children(props)\n                : null}\n            </RouterContext.Provider>\n          );\n        }}\n      </RouterContext.Consumer>\n    );\n  }\n}\n\nif (__DEV__) {\n  Route.propTypes = {\n    children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n    component: (props, propName) => {\n      if (props[propName] && !isValidElementType(props[propName])) {\n        return new Error(\n          `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n        );\n      }\n    },\n    exact: PropTypes.bool,\n    location: PropTypes.object,\n    path: PropTypes.oneOfType([\n      PropTypes.string,\n      PropTypes.arrayOf(PropTypes.string)\n    ]),\n    render: PropTypes.func,\n    sensitive: PropTypes.bool,\n    strict: PropTypes.bool\n  };\n\n  Route.prototype.componentDidMount = function() {\n    warning(\n      !(\n        this.props.children &&\n        !isEmptyChildren(this.props.children) &&\n        this.props.component\n      ),\n      \"You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored\"\n    );\n\n    warning(\n      !(\n        this.props.children &&\n        !isEmptyChildren(this.props.children) &&\n        this.props.render\n      ),\n      \"You should not use <Route render> and <Route children> in the same route; <Route render> will be ignored\"\n    );\n\n    warning(\n      !(this.props.component && this.props.render),\n      \"You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored\"\n    );\n  };\n\n  Route.prototype.componentDidUpdate = function(prevProps) {\n    warning(\n      !(this.props.location && !prevProps.location),\n      '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n    );\n\n    warning(\n      !(!this.props.location && prevProps.location),\n      '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n    );\n  };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n  return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n  if (!basename) return location;\n\n  return {\n    ...location,\n    pathname: addLeadingSlash(basename) + location.pathname\n  };\n}\n\nfunction stripBasename(basename, location) {\n  if (!basename) return location;\n\n  const base = addLeadingSlash(basename);\n\n  if (location.pathname.indexOf(base) !== 0) return location;\n\n  return {\n    ...location,\n    pathname: location.pathname.substr(base.length)\n  };\n}\n\nfunction createURL(location) {\n  return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n  return () => {\n    invariant(false, \"You cannot %s with <StaticRouter>\", methodName);\n  };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" <Router>, so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n  navigateTo(location, action) {\n    const { basename = \"\", context = {} } = this.props;\n    context.action = action;\n    context.location = addBasename(basename, createLocation(location));\n    context.url = createURL(context.location);\n  }\n\n  handlePush = location => this.navigateTo(location, \"PUSH\");\n  handleReplace = location => this.navigateTo(location, \"REPLACE\");\n  handleListen = () => noop;\n  handleBlock = () => noop;\n\n  render() {\n    const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n    const history = {\n      createHref: path => addLeadingSlash(basename + createURL(path)),\n      action: \"POP\",\n      location: stripBasename(basename, createLocation(location)),\n      push: this.handlePush,\n      replace: this.handleReplace,\n      go: staticHandler(\"go\"),\n      goBack: staticHandler(\"goBack\"),\n      goForward: staticHandler(\"goForward\"),\n      listen: this.handleListen,\n      block: this.handleBlock\n    };\n\n    return <Router {...rest} history={history} staticContext={context} />;\n  }\n}\n\nif (__DEV__) {\n  StaticRouter.propTypes = {\n    basename: PropTypes.string,\n    context: PropTypes.object,\n    location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n  };\n\n  StaticRouter.prototype.componentDidMount = function() {\n    warning(\n      !this.props.history,\n      \"<StaticRouter> ignores the history prop. To use a custom history, \" +\n        \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n    );\n  };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first <Route> that matches.\n */\nclass Switch extends React.Component {\n  render() {\n    return (\n      <RouterContext.Consumer>\n        {context => {\n          invariant(context, \"You should not use <Switch> outside a <Router>\");\n\n          const location = this.props.location || context.location;\n\n          let element, match;\n\n          // We use React.Children.forEach instead of React.Children.toArray().find()\n          // here because toArray adds keys to all child elements and we do not want\n          // to trigger an unmount/remount for two <Route>s that render the same\n          // component at different URLs.\n          React.Children.forEach(this.props.children, child => {\n            if (match == null && React.isValidElement(child)) {\n              element = child;\n\n              const path = child.props.path || child.props.from;\n\n              match = path\n                ? matchPath(location.pathname, { ...child.props, path })\n                : context.match;\n            }\n          });\n\n          return match\n            ? React.cloneElement(element, { location, computedMatch: match })\n            : null;\n        }}\n      </RouterContext.Consumer>\n    );\n  }\n}\n\nif (__DEV__) {\n  Switch.propTypes = {\n    children: PropTypes.node,\n    location: PropTypes.object\n  };\n\n  Switch.prototype.componentDidUpdate = function(prevProps) {\n    warning(\n      !(this.props.location && !prevProps.location),\n      '<Switch> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n    );\n\n    warning(\n      !(!this.props.location && prevProps.location),\n      '<Switch> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n    );\n  };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nfunction withRouter(Component) {\n  const displayName = `withRouter(${Component.displayName || Component.name})`;\n  const C = props => {\n    const { wrappedComponentRef, ...remainingProps } = props;\n\n    return (\n      <RouterContext.Consumer>\n        {context => {\n          invariant(\n            context,\n            `You should not use <${displayName} /> outside a <Router>`\n          );\n          return (\n            <Component\n              {...remainingProps}\n              {...context}\n              ref={wrappedComponentRef}\n            />\n          );\n        }}\n      </RouterContext.Consumer>\n    );\n  };\n\n  C.displayName = displayName;\n  C.WrappedComponent = Component;\n\n  if (__DEV__) {\n    C.propTypes = {\n      wrappedComponentRef: PropTypes.oneOfType([\n        PropTypes.string,\n        PropTypes.func,\n        PropTypes.object\n      ])\n    };\n  }\n\n  return hoistStatics(C, Component);\n}\n\nexport default withRouter;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport Context from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n  if (__DEV__) {\n    invariant(\n      typeof useContext === \"function\",\n      \"You must use React >= 16.8 in order to use useHistory()\"\n    );\n  }\n\n  return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n  if (__DEV__) {\n    invariant(\n      typeof useContext === \"function\",\n      \"You must use React >= 16.8 in order to use useLocation()\"\n    );\n  }\n\n  return useContext(Context).location;\n}\n\nexport function useParams() {\n  if (__DEV__) {\n    invariant(\n      typeof useContext === \"function\",\n      \"You must use React >= 16.8 in order to use useParams()\"\n    );\n  }\n\n  const match = useContext(Context).match;\n  return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n  if (__DEV__) {\n    invariant(\n      typeof useContext === \"function\",\n      \"You must use React >= 16.8 in order to use useRouteMatch()\"\n    );\n  }\n\n  const location = useLocation();\n  const match = useContext(Context).match;\n\n  return path ? matchPath(location.pathname, path) : match;\n}\n","if (__DEV__) {\n  if (typeof window !== \"undefined\") {\n    const global = window;\n    const key = \"__react_router_build__\";\n    const buildNames = { cjs: \"CommonJS\", esm: \"ES modules\", umd: \"UMD\" };\n\n    if (global[key] && global[key] !== process.env.BUILD_FORMAT) {\n      const initialBuildName = buildNames[global[key]];\n      const secondaryBuildName = buildNames[process.env.BUILD_FORMAT];\n\n      // TODO: Add link to article that explains in detail how to avoid\n      // loading 2 different builds.\n      throw new Error(\n        `You are loading the ${secondaryBuildName} build of React Router ` +\n          `on a page that is already running the ${initialBuildName} ` +\n          `build, so things won't work right.`\n      );\n    }\n\n    global[key] = process.env.BUILD_FORMAT;\n  }\n}\n\nexport { default as MemoryRouter } from \"./MemoryRouter.js\";\nexport { default as Prompt } from \"./Prompt.js\";\nexport { default as Redirect } from \"./Redirect.js\";\nexport { default as Route } from \"./Route.js\";\nexport { default as Router } from \"./Router.js\";\nexport { default as StaticRouter } from \"./StaticRouter.js\";\nexport { default as Switch } from \"./Switch.js\";\nexport { default as generatePath } from \"./generatePath.js\";\nexport { default as matchPath } from \"./matchPath.js\";\nexport { default as withRouter } from \"./withRouter.js\";\n\nimport { useHistory, useLocation, useParams, useRouteMatch } from \"./hooks.js\";\nexport { useHistory, useLocation, useParams, useRouteMatch };\n\nexport { default as __HistoryContext } from \"./HistoryContext.js\";\nexport { default as __RouterContext } from \"./RouterContext.js\";\n"],"names":["createNamedContext","name","context","createContext","displayName","historyContext","Router","computeRootMatch","pathname","path","url","params","isExact","props","state","location","history","_isMounted","_pendingLocation","staticContext","unlisten","listen","setState","componentDidMount","componentWillUnmount","render","RouterContext","match","HistoryContext","children","React","Component","propTypes","PropTypes","node","object","isRequired","prototype","componentDidUpdate","prevProps","warning","MemoryRouter","createHistory","initialEntries","array","initialIndex","number","getUserConfirmation","func","keyLength","Lifecycle","onMount","call","onUpdate","onUnmount","Prompt","message","when","invariant","method","block","self","release","messageType","oneOfType","string","bool","cache","cacheLimit","cacheCount","compilePath","generator","pathToRegexp","compile","generatePath","pretty","Redirect","computedMatch","to","push","replace","createLocation","prevLocation","locationsAreEqual","key","from","options","cacheKey","end","strict","sensitive","pathCache","keys","regexp","result","matchPath","Array","isArray","exact","paths","concat","reduce","matched","exec","values","memo","index","isEmptyChildren","Children","count","evalChildrenDev","value","undefined","Route","component","length","createElement","propName","isValidElementType","Error","arrayOf","addLeadingSlash","charAt","addBasename","basename","stripBasename","base","indexOf","substr","createURL","createPath","staticHandler","methodName","noop","StaticRouter","handlePush","navigateTo","handleReplace","handleListen","handleBlock","action","rest","createHref","go","goBack","goForward","Switch","element","forEach","child","isValidElement","cloneElement","withRouter","C","wrappedComponentRef","remainingProps","WrappedComponent","hoistStatics","useContext","useHistory","useLocation","Context","useParams","useRouteMatch","window","global","buildNames","cjs","esm","umd","process","initialBuildName","secondaryBuildName"],"mappings":"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"}