From eb53b6113602c70c7b0dd9c33626b48ab0ebba61 Mon Sep 17 00:00:00 2001 From: Hailey Date: Thu, 11 Jul 2024 19:34:29 -0700 Subject: [PATCH] return a promise for getReferrerInfo --- .../src/Referrer/index.web.ts | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/modules/expo-bluesky-swiss-army/src/Referrer/index.web.ts b/modules/expo-bluesky-swiss-army/src/Referrer/index.web.ts index 76f03e7c87..99fa884c63 100644 --- a/modules/expo-bluesky-swiss-army/src/Referrer/index.web.ts +++ b/modules/expo-bluesky-swiss-army/src/Referrer/index.web.ts @@ -8,27 +8,29 @@ export function getGooglePlayReferrerInfoAsync(): Promise { - if ( - Platform.OS === 'web' && - // for ssr - typeof document !== 'undefined' && - document != null && - document.referrer - ) { - try { - const url = new URL(document.referrer) - if (url.hostname !== 'bsky.app') { - return { - referrer: url.href, - hostname: url.hostname, + // Returning a promise to match the functionality on native + return new Promise(resolve => { + if ( + Platform.OS === 'web' && + // for ssr + typeof document !== 'undefined' && + document != null && + document.referrer + ) { + try { + const url = new URL(document.referrer) + if (url.hostname !== 'bsky.app') { + resolve({ + referrer: url.href, + hostname: url.hostname, + }) } + } catch { + // If something happens to the URL parsing, we don't want to actually cause any problems for the user. Just + // log the error so we might catch it + console.error('Failed to parse referrer URL') } - } catch { - // If something happens to the URL parsing, we don't want to actually cause any problems for the user. Just - // log the error so we might catch it - console.error('Failed to parse referrer URL') } - } - - return null + resolve(null) + }) }