// Metro module 3881 (f3882). import ActionSheetStore from "../../action_sheet/native/ActionSheetStore"; import { WebBrowserType } from "../../../Constants"; import Logger from "../../debug/Logger"; import { LINKING_SCHEMAS_VALUES } from "./LinkingSchemas"; import { LINKING_WHITELIST_VALUES } from "./LinkingWhitelist"; import Module3888 from "../../../_bundle/Module3888"; import { presentFailedToast } from "../../toast/native/ToastUtils"; import { intl, t } from "../../../intl/index.native"; import { getBrowserManagerSelectedBrowser, browserManagerOpenUrl } from "./BrowserManager"; import { isIOS } from "../../../utils/PlatformUtils"; import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators"; import Url from "../../../_bundle/Url_1469"; import parseURL from "../../../utils/native/parseURL"; import handleSupportedURL from "./handleSupportedURL"; function $mk114414($env) { return function tryHandleUniversalLink(a0) { let env31324 = { $parent: $env }; env31324[0] = a0; return new Promise((resolve) => { const r2 = env31324.$parent; let env31918 = { $parent: r2 }; env31918[0] = resolve; (0, r2[1])(r2[2][5]).tryOpenUrlAsUniversalLink(env31324[0]).then(() => { env31918.$parent[7].info("Universal link opened successfully."); (0, env31918[0])(true); }).catch(() => { env31918.$parent[7].info("URL is not a handled universal link."); (0, env31918[0])(false); }); }); }; } function $mk114415($env) { return function tryHandleCustomScheme(a0) { let r63; const r1 = $env; let env31325 = { $parent: $env }; let r2 = a0; env31325[0] = a0; for (const item of LINKING_SCHEMAS_VALUES) { const { regex, protocol } = item; const r35 = regex.exec(r2); const r37 = r35 == null ? void 0 : r35[1]; if (r37 != null) { const r41 = protocol + r37; r2 = r41; env31325[0] = r41; } } const r48 = r2.indexOf("://") !== -1 ? r2.split("://")[0] : null; if (r48 !== "http" && r48 !== "https") { c2204_7.info("tryHandleCustomScheme", r2); r63 = new Promise((resolve) => { const r2 = env31325.$parent; let env31919 = { $parent: r2 }; env31919[0] = resolve; (0, r2[1])(r2[2][5]).tryOpenScheme(env31325[0]).then(() => { env31919.$parent[7].info("Custom scheme opened successfully."); (0, env31919[0])(true); }).catch(() => { env31919.$parent[7].info("Custom scheme failed to open."); (0, env31919[0])(false); }); }); } else { r63 = new Promise($mk117842(r1)); } return r63; }; } function $mk114416($env) { return function tryHandleWhitelistedURL(a0) { const r0 = $env; let env31326 = { $parent: $env }; env31326[0] = a0; const _loop = function _loop(c31920_0) { return env31326[1].exec(env31326[0]) !== null ? { v: new Promise((c32113_0) => { env31326.$parent[4].canOpenURL(c31920_0).then((result) => { const r3 = env31326.$parent; if (result) { (0, r3[1])(r3[2][7]).performURLNavigation(env31326[0]); c32113_0(true); } else { r3[7].info("Whitelisted URL, but cannot be opened (app likely not installed)."); c32113_0(false); } }).catch((a0) => { env31326.$parent[7].info("Whitelisted URL encountered an error.", { error: a0 }); c32113_0(false); }); }) } : 0; }; for (const item of LINKING_WHITELIST_VALUES) { env31326[1] = item.regex; const r31 = _loop(item.protocol); if (r31 === 0) { continue; } if (!r31) { continue; } return r31.v; } return new Promise($mk117845(r0)); }; } function $mk117842($env) { return (a0) => { c2204_7.info("URL is not a custom scheme."); a0(false); }; } function $mk117845($env) { return (a0) => { c2204_7.info("URL is not whitelisted."); a0(false); }; } let c2204_7; let env2204 = {}; const sanitizeURLPart = function sanitizeURLPart(a0) { return a0 != null ? a0.replace(/[^\x00-\x7F]+/g, (a0) => encodeURIComponent(a0)) : a0; }; c2204_7 = new Logger("handleURL"); export default async function handleURL(c24875_0, c24875_1, c24875_2) { let forceExternalBrowser; let c24875_3, c24875_4, c24875_5; let c24875_6 = 0; const r13 = env2204; try { let env29236; c24875_4 = r13; const r19 = env29236 = { $parent: r13 }; c24875_3 = r19; env29236[2] = void 0; env29236[3] = void 0; env29236[0] = c24875_0; env29236[1] = c24875_1; let r40 = c24875_2; if (r40 === void 0) { r40 = {}; } L15: { L12: { const allowExternal = r40.allowExternal; if (allowExternal !== void 0) { env29236[2] = allowExternal; forceExternalBrowser = r40.forceExternalBrowser; if (forceExternalBrowser !== void 0) { break L12; } } else { env29236[2] = true; forceExternalBrowser = r40.forceExternalBrowser; if (forceExternalBrowser !== void 0) { break L12; } } env29236[3] = false; env29236[5] = void 0; env29236[6] = void 0; env29236[7] = void 0; env29236[8] = void 0; env29236[9] = void 0; env29236[4] = function openInBrowser() { if (Module3888.sanitizeUrl(env29236[0]) != null) { let SAFARI = WebBrowserType.SAFARI; if (!(!env29236[0].startsWith("https:") && !env29236[0].startsWith("http:"))) { let r40 = getBrowserManagerSelectedBrowser(); let r41 = env29236[1]; if (r41 == null) { r41 = r40; } const r42 = env29236[3] && r41 === WebBrowserType.IN_APP; SAFARI = r41; if (r42) { if (r40 === WebBrowserType.IN_APP) { r40 = isIOS() ? WebBrowserType.SAFARI : WebBrowserType.CHROME; } SAFARI = r40; } } if (WebBrowserType.IN_APP === SAFARI) { browserManagerOpenUrl(env29236[0], WebBrowserType.IN_APP).catch(() => { presentFailedToast(`${intl.string(t.HryVrx)} ${env29236[0]}`); }); if (isIOS() && ActionSheetStore.isOpen()) { ActionSheetActionCreators.hideAllActionSheets(); } } else if (WebBrowserType.CHROME === SAFARI) { browserManagerOpenUrl(env29236[0], WebBrowserType.CHROME).catch(() => { presentFailedToast(`${intl.string(t.HryVrx)} ${env29236[0]}`); }); } else { WebBrowserType.SAFARI; browserManagerOpenUrl(env29236[0], WebBrowserType.SAFARI); } } else { presentFailedToast(intl.string(t.XiqzAp)); } }; break L15; } env29236[3] = forceExternalBrowser; env29236[5] = void 0; env29236[6] = void 0; env29236[7] = void 0; env29236[8] = void 0; env29236[9] = void 0; env29236[4] = function openInBrowser() { if (Module3888.sanitizeUrl(env29236[0]) != null) { let SAFARI = WebBrowserType.SAFARI; if (!(!env29236[0].startsWith("https:") && !env29236[0].startsWith("http:"))) { let r40 = getBrowserManagerSelectedBrowser(); let r41 = env29236[1]; if (r41 == null) { r41 = r40; } const r42 = env29236[3] && r41 === WebBrowserType.IN_APP; SAFARI = r41; if (r42) { if (r40 === WebBrowserType.IN_APP) { r40 = isIOS() ? WebBrowserType.SAFARI : WebBrowserType.CHROME; } SAFARI = r40; } } if (WebBrowserType.IN_APP === SAFARI) { browserManagerOpenUrl(env29236[0], WebBrowserType.IN_APP).catch(() => { presentFailedToast(`${intl.string(t.HryVrx)} ${env29236[0]}`); }); if (isIOS() && ActionSheetStore.isOpen()) { ActionSheetActionCreators.hideAllActionSheets(); } } else if (WebBrowserType.CHROME === SAFARI) { browserManagerOpenUrl(env29236[0], WebBrowserType.CHROME).catch(() => { presentFailedToast(`${intl.string(t.HryVrx)} ${env29236[0]}`); }); } else { WebBrowserType.SAFARI; browserManagerOpenUrl(env29236[0], WebBrowserType.SAFARI); } } else { presentFailedToast(intl.string(t.XiqzAp)); } }; } await void 0; if (env29236[3]) { (0, env29236[4])(); } else { if (!/^[a-zA-Z0-9+-.]+:/.test(env29236[0])) { env29236[0] = "https://" + env29236[0]; } if (/^https?:/i.test(env29236[0])) { c24875_6 = 1; env29236[5] = Url.parse(env29236[0]); const r103 = env29236[5]; r103.pathname = sanitizeURLPart(env29236[5].pathname); env29236[5].search = sanitizeURLPart(env29236[5].search); env29236[5].hash = sanitizeURLPart(env29236[5].hash); env29236[0] = Url.format(env29236[5]); c24875_6 = 0; } env29236[6] = parseURL(env29236[0]).payload; if (!handleSupportedURL({ payload: env29236[6], safe: true })) { if (env29236[2]) { const r126 = env29236[0]; env29236[7] = await $mk114414(env2204)(r126); if (!env29236[7]) { const r151 = env29236[0]; env29236[8] = await $mk114415(env2204)(r151); if (!env29236[8]) { const r176 = env29236[0]; env29236[9] = await $mk114416(env2204)(r176); if (!env29236[9]) { (0, env29236[4])(); } } } } } } } catch ($e) { const r36 = $e; let r8 = r36; c24875_5 = r36; if (c24875_6 !== 0) { while (true) { try { c24875_6 = 0; } catch (r206) { r8 = r206; c24875_5 = r206; if (c24875_6 === 0) { break; } continue; } return void 0; } } throw r8; } };