{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nexport var resolveHref = function resolveHref(href) {\n  var _href$pathname;\n  if (typeof href === \"string\") {\n    return resolveHref({\n      pathname: href != null ? href : \"\"\n    });\n  }\n  var path = (_href$pathname = href.pathname) != null ? _href$pathname : \"\";\n  if (!(href != null && href.params)) {\n    return path;\n  }\n  var _createQualifiedPathn = createQualifiedPathname(path, _objectSpread({}, href.params)),\n    pathname = _createQualifiedPathn.pathname,\n    params = _createQualifiedPathn.params;\n  var paramsString = createQueryParams(params);\n  return pathname + (paramsString ? `?${paramsString}` : \"\");\n};\nfunction createQualifiedPathname(pathname, params) {\n  for (var _ref of Object.entries(params)) {\n    var _ref2 = _slicedToArray(_ref, 2);\n    var key = _ref2[0];\n    var _ref2$ = _ref2[1];\n    var value = _ref2$ === void 0 ? \"\" : _ref2$;\n    var dynamicKey = `[${key}]`;\n    var deepDynamicKey = `[...${key}]`;\n    if (pathname.includes(dynamicKey)) {\n      pathname = pathname.replace(dynamicKey, encodeParam(value));\n    } else if (pathname.includes(deepDynamicKey)) {\n      pathname = pathname.replace(deepDynamicKey, encodeParam(value));\n    } else {\n      continue;\n    }\n    delete params[key];\n  }\n  return {\n    pathname: pathname,\n    params: params\n  };\n}\nfunction encodeParam(param) {\n  if (Array.isArray(param)) {\n    return param.map(function (p) {\n      return encodeParam(p);\n    }).join(\"/\");\n  }\n  return encodeURIComponent(param.toString());\n}\nfunction createQueryParams(params) {\n  return Object.entries(params).filter(function (_ref3) {\n    var _ref4 = _slicedToArray(_ref3, 2),\n      value = _ref4[1];\n    return value != null;\n  }).map(function (_ref5) {\n    var _ref6 = _slicedToArray(_ref5, 2),\n      key = _ref6[0],\n      value = _ref6[1];\n    return `${key}=${encodeURIComponent(value.toString())}`;\n  }).join(\"&\");\n}","map":{"version":3,"names":["resolveHref","href","_href$pathname","pathname","path","params","_createQualifiedPathn","createQualifiedPathname","_objectSpread","paramsString","createQueryParams","_ref","Object","entries","_ref2","_slicedToArray","key","_ref2$","value","dynamicKey","deepDynamicKey","includes","replace","encodeParam","param","Array","isArray","map","p","join","encodeURIComponent","toString","filter","_ref3","_ref4","_ref5","_ref6"],"sources":["/Users/Daniel.Antelo/Workspaces/expo-template-reactrouter-nativebase/node_modules/expo-router/src/link/href.ts"],"sourcesContent":["export type Href = string | HrefObject;\n\nexport interface HrefObject {\n  /** Path representing the selected route `/[id]`. */\n  pathname?: string;\n  /** Query parameters for the path. */\n  params?: Record<string, any>;\n}\n\n/** Resolve an href object into a fully qualified, relative href. */\nexport const resolveHref = (href: Href): string => {\n  if (typeof href === \"string\") {\n    return resolveHref({ pathname: href ?? \"\" });\n  }\n  const path = href.pathname ?? \"\";\n  if (!href?.params) {\n    return path;\n  }\n  const { pathname, params } = createQualifiedPathname(path, {\n    ...href.params,\n  });\n  const paramsString = createQueryParams(params);\n  return pathname + (paramsString ? `?${paramsString}` : \"\");\n};\n\nfunction createQualifiedPathname(\n  pathname: string,\n  params: Record<string, any>\n): Omit<Required<HrefObject>, \"query\"> {\n  for (const [key, value = \"\"] of Object.entries(params)) {\n    const dynamicKey = `[${key}]`;\n    const deepDynamicKey = `[...${key}]`;\n    if (pathname.includes(dynamicKey)) {\n      pathname = pathname.replace(dynamicKey, encodeParam(value));\n    } else if (pathname.includes(deepDynamicKey)) {\n      pathname = pathname.replace(deepDynamicKey, encodeParam(value));\n    } else {\n      continue;\n    }\n\n    delete params[key];\n  }\n  return { pathname, params };\n}\n\nfunction encodeParam(param: any): string {\n  if (Array.isArray(param)) {\n    return param.map((p) => encodeParam(p)).join(\"/\");\n  }\n\n  return encodeURIComponent(param.toString());\n}\n\nfunction createQueryParams(params: Record<string, any>): string {\n  return (\n    Object.entries(params)\n      // Allow nullish params\n      .filter(([, value]) => value != null)\n      .map(([key, value]) => `${key}=${encodeURIComponent(value.toString())}`)\n      .join(\"&\")\n  );\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}