{"version":3,"file":"load_url_in_browser.mjs","sources":["../../src/components/load_url_in_browser.ts"],"sourcesContent":["import { Linking } from \"react-native\"\n\nexport type LoadUrlInBrowserProps = {\n  onLoadUrlInBrowser?: (url: string) => void\n  onLoadUrlInBrowserError?: (url: string, error: Error) => void\n}\n\nfunction asError(error: unknown): Error {\n  if (error instanceof Error) {\n    return error\n  } else if (typeof error === \"string\") {\n    new Error(error)\n  }\n\n  return new Error(((error || {}) as { valueOf(): string }).valueOf())\n}\n\nfunction defaultOnLoadUrlInBrowser(url: string) {\n  Linking.openURL(url)\n}\n\nfunction defaultOnLoadUrlInBrowserError(url: string, error: Error) {\n  console.log(`Error loading ${url}: ${error}`)\n}\n\nexport function loadUrlInBrowser(url: string, callbacks: LoadUrlInBrowserProps) {\n  const onLoadUrlInBrowser = callbacks.onLoadUrlInBrowser || defaultOnLoadUrlInBrowser\n  const onLoadUrlInBrowserError =\n    callbacks.onLoadUrlInBrowserError || defaultOnLoadUrlInBrowserError\n\n  try {\n    onLoadUrlInBrowser(url)\n  } catch (error) {\n    onLoadUrlInBrowserError(url, asError(error))\n  }\n}\n"],"names":["asError","error","defaultOnLoadUrlInBrowser","url","Linking","defaultOnLoadUrlInBrowserError","loadUrlInBrowser","callbacks","onLoadUrlInBrowser","onLoadUrlInBrowserError"],"mappings":";AAOA,SAASA,EAAQC,GAAuB;AACtC,SAAIA,aAAiB,QACZA,IAKF,IAAI,OAAQA,KAAS,CAAA,GAA8B,SAAS;AACrE;AAEA,SAASC,EAA0BC,GAAa;AAC9C,EAAAC,EAAQ,QAAQD,CAAG;AACrB;AAEA,SAASE,EAA+BF,GAAaF,GAAc;AACjE,UAAQ,IAAI,iBAAiBE,CAAG,KAAKF,CAAK,EAAE;AAC9C;AAEO,SAASK,EAAiBH,GAAaI,GAAkC;AAC9E,QAAMC,IAAqBD,EAAU,sBAAsBL,GACrDO,IACJF,EAAU,2BAA2BF;AAEvC,MAAI;AACF,IAAAG,EAAmBL,CAAG;AAAA,EACxB,SAASF,GAAO;AACd,IAAAQ,EAAwBN,GAAKH,EAAQC,CAAK,CAAC;AAAA,EAC7C;AACF;"}