Polyfill features cache
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
import {MMKV} from '@bsky.app/react-native-mmkv'
|
||||||
|
import {setPolyfills} from '@growthbook/growthbook'
|
||||||
import {GrowthBook} from '@growthbook/growthbook-react'
|
import {GrowthBook} from '@growthbook/growthbook-react'
|
||||||
|
|
||||||
import {getNavigationMetadata, type Metadata} from '#/analytics/metadata'
|
import {getNavigationMetadata, type Metadata} from '#/analytics/metadata'
|
||||||
@@ -5,6 +7,20 @@ import * as env from '#/env'
|
|||||||
|
|
||||||
export {Features} from '#/analytics/features/types'
|
export {Features} from '#/analytics/features/types'
|
||||||
|
|
||||||
|
const CACHE = new MMKV({id: 'bsky_features_cache'})
|
||||||
|
|
||||||
|
setPolyfills({
|
||||||
|
localStorage: {
|
||||||
|
getItem: key => {
|
||||||
|
const value = CACHE.getString(key)
|
||||||
|
return value != null ? JSON.parse(value) : null
|
||||||
|
},
|
||||||
|
setItem: async (key, value) => {
|
||||||
|
CACHE.set(key, JSON.stringify(value))
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* We vary the amount of time we wait for GrowthBook to fetch feature
|
* We vary the amount of time we wait for GrowthBook to fetch feature
|
||||||
* gates based on the strategy specified.
|
* gates based on the strategy specified.
|
||||||
|
|||||||
Reference in New Issue
Block a user