Make ref_ always strings (#3583)

* Make ref_ always strings

* Harden types
zio/stable
dan 2024-04-16 21:55:12 +01:00 committed by GitHub
parent 48bd98f9ef
commit 71c427cea8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 18 additions and 6 deletions

View File

@ -15,8 +15,21 @@ import {useSession} from '../../state/session'
import {LogEvents} from './events'
import {Gate} from './gates'
let refSrc: string
let refUrl: string
type StatsigUser = {
userID: string | undefined
// TODO: Remove when enough users have custom.platform:
platform: 'ios' | 'android' | 'web'
custom: {
// This is the place where we can add our own stuff.
// Fields here have to be non-optional to be visible in the UI.
platform: 'ios' | 'android' | 'web'
refSrc: string
refUrl: string
}
}
let refSrc = ''
let refUrl = ''
if (isWeb && typeof window !== 'undefined') {
const params = new URLSearchParams(window.location.search)
refSrc = params.get('ref_src') ?? ''
@ -97,19 +110,18 @@ export function useGate(gateName: Gate): boolean {
return initialValue
}
function toStatsigUser(did: string | undefined) {
function toStatsigUser(did: string | undefined): StatsigUser {
let userID: string | undefined
if (did) {
userID = sha256(did)
}
return {
userID,
platform: Platform.OS,
platform: Platform.OS as 'ios' | 'android' | 'web',
custom: {
refSrc,
refUrl,
// Need to specify here too for gating.
platform: Platform.OS,
platform: Platform.OS as 'ios' | 'android' | 'web',
},
}
}