UNPKG

react-native-gigya-sdk

Version:
35 lines (27 loc) 776 B
import type { GigyaSdkStateType } from '../types' import getState from '../core/getState' export const initialState: GigyaSdkStateType = { UID: '', lang: 'en', apiKey: '', storageKey: 'GigyaSdkState', } 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) } }) }