{"ast":null,"code":"import React, { useContext } from \"react\";\nimport { getContextKey, matchGroupName } from \"./matchers\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar CurrentRouteContext = React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n  CurrentRouteContext.displayName = \"RouteNode\";\n}\nexport function useRouteNode() {\n  return useContext(CurrentRouteContext);\n}\nexport function useContextKey() {\n  var node = useRouteNode();\n  if (node == null) {\n    throw new Error(\"No filename found. This is likely a bug in expo-router.\");\n  }\n  return getContextKey(node.contextKey);\n}\nexport function Route(_ref) {\n  var children = _ref.children,\n    node = _ref.node;\n  return _jsx(CurrentRouteContext.Provider, {\n    value: node,\n    children: children\n  });\n}\nexport function sortRoutesWithInitial(initialRouteName) {\n  return function (a, b) {\n    if (initialRouteName) {\n      if (a.route === initialRouteName) {\n        return -1;\n      }\n      if (b.route === initialRouteName) {\n        return 1;\n      }\n    }\n    return sortRoutes(a, b);\n  };\n}\nexport function sortRoutes(a, b) {\n  if (a.dynamic && !b.dynamic) {\n    return 1;\n  }\n  if (!a.dynamic && b.dynamic) {\n    return -1;\n  }\n  if (a.dynamic && b.dynamic) {\n    if (a.dynamic.length !== b.dynamic.length) {\n      return b.dynamic.length - a.dynamic.length;\n    }\n    for (var i = 0; i < a.dynamic.length; i++) {\n      var aDynamic = a.dynamic[i];\n      var bDynamic = b.dynamic[i];\n      if (aDynamic.deep && !bDynamic.deep) {\n        return 1;\n      }\n      if (!aDynamic.deep && bDynamic.deep) {\n        return -1;\n      }\n    }\n    return 0;\n  }\n  var aIndex = a.route === \"index\" || matchGroupName(a.route) != null;\n  var bIndex = b.route === \"index\" || matchGroupName(b.route) != null;\n  if (aIndex && !bIndex) {\n    return -1;\n  }\n  if (!aIndex && bIndex) {\n    return 1;\n  }\n  return a.route.length - b.route.length;\n}","map":{"version":3,"names":["React","useContext","getContextKey","matchGroupName","jsx","_jsx","CurrentRouteContext","createContext","process","env","NODE_ENV","displayName","useRouteNode","useContextKey","node","Error","contextKey","Route","_ref","children","Provider","value","sortRoutesWithInitial","initialRouteName","a","b","route","sortRoutes","dynamic","length","i","aDynamic","bDynamic","deep","aIndex","bIndex"],"sources":["/Users/Daniel.Antelo/Workspaces/expo-template-reactrouter-nativebase/node_modules/expo-router/src/Route.tsx"],"sourcesContent":["import React, { ReactNode, useContext } from \"react\";\n\nimport type { ErrorBoundaryProps } from \"./exports\";\nimport { getContextKey, matchGroupName } from \"./matchers\";\n\nexport type DynamicConvention = { name: string; deep: boolean };\n\nexport type LoadedRoute = {\n  ErrorBoundary?: React.ComponentType<ErrorBoundaryProps>;\n  default?: React.ComponentType<any>;\n  unstable_settings?: Record<string, any>;\n  getNavOptions?: (args: any) => any;\n  generateStaticParams?: (props: {\n    params?: Record<string, string | string[]>;\n  }) => Record<string, string | string[]>[];\n};\n\nexport type RouteNode = {\n  /** Load a route into memory. Returns the exports from a route. */\n  loadRoute: () => Partial<LoadedRoute>;\n  /** Loaded initial route name. */\n  initialRouteName?: string;\n  /** nested routes */\n  children: RouteNode[];\n  /** Is the route a dynamic path */\n  dynamic: null | DynamicConvention[];\n  /** `index`, `error-boundary`, etc. */\n  route: string;\n  /** Context Module ID, used for matching children. */\n  contextKey: string;\n  /** Added in-memory */\n  generated?: boolean;\n  /** Internal screens like the directory or the auto 404 should be marked as internal. */\n  internal?: boolean;\n};\n\nconst CurrentRouteContext = React.createContext<RouteNode | null>(null);\n\nif (process.env.NODE_ENV !== \"production\") {\n  CurrentRouteContext.displayName = \"RouteNode\";\n}\n\n/** Return the RouteNode at the current contextual boundary. */\nexport function useRouteNode(): RouteNode | null {\n  return useContext(CurrentRouteContext);\n}\n\nexport function useContextKey(): string {\n  const node = useRouteNode();\n  if (node == null) {\n    throw new Error(\"No filename found. This is likely a bug in expo-router.\");\n  }\n  return getContextKey(node.contextKey);\n}\n\n/** Provides the matching routes and filename to the children. */\nexport function Route({\n  children,\n  node,\n}: {\n  children: ReactNode;\n  node: RouteNode;\n}) {\n  return (\n    <CurrentRouteContext.Provider value={node}>\n      {children}\n    </CurrentRouteContext.Provider>\n  );\n}\n\nexport function sortRoutesWithInitial(initialRouteName?: string) {\n  return (a: RouteNode, b: RouteNode): number => {\n    if (initialRouteName) {\n      if (a.route === initialRouteName) {\n        return -1;\n      }\n      if (b.route === initialRouteName) {\n        return 1;\n      }\n    }\n    return sortRoutes(a, b);\n  };\n}\n\nexport function sortRoutes(a: RouteNode, b: RouteNode): number {\n  if (a.dynamic && !b.dynamic) {\n    return 1;\n  }\n  if (!a.dynamic && b.dynamic) {\n    return -1;\n  }\n  if (a.dynamic && b.dynamic) {\n    if (a.dynamic.length !== b.dynamic.length) {\n      return b.dynamic.length - a.dynamic.length;\n    }\n    for (let i = 0; i < a.dynamic.length; i++) {\n      const aDynamic = a.dynamic[i];\n      const bDynamic = b.dynamic[i];\n      if (aDynamic.deep && !bDynamic.deep) {\n        return 1;\n      }\n      if (!aDynamic.deep && bDynamic.deep) {\n        return -1;\n      }\n    }\n    return 0;\n  }\n\n  const aIndex = a.route === \"index\" || matchGroupName(a.route) != null;\n  const bIndex = b.route === \"index\" || matchGroupName(b.route) != null;\n\n  if (aIndex && !bIndex) {\n    return -1;\n  }\n  if (!aIndex && bIndex) {\n    return 1;\n  }\n\n  return a.route.length - b.route.length;\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}