UNPKG

react-native-gigya-sdk

Version:
33 lines (25 loc) 894 B
import { GigyaSdkDataCenters, GigyaSdkLinkAccountVersions, GigyaSdkStateType } from '../types' import getState from '../core/getState' export const initialState: GigyaSdkStateType = { UID: '', lang: 'en', apiKey: '', storageKey: 'GigyaSdkState', dataCenter: GigyaSdkDataCenters.EU1, linkAccountVersion: GigyaSdkLinkAccountVersions.V1, } export let state: GigyaSdkStateType = initialState export function setState(data: Partial<GigyaSdkStateType>): Promise<GigyaSdkStateType> { return new Promise(async (resolve, reject) => { try { const oldState = await getState() const newState = { ...oldState, ...data } const setItem = data.storage?.setItem || oldState.storage?.setItem await Promise.resolve(setItem?.(newState.storageKey, JSON.stringify(newState))) state = newState resolve(state) } catch (e) { reject(e) } }) }