react-native-gigya-sdk
Version:
SAP CDC/Gigya SDK for your React Native applications
40 lines (32 loc) • 1.12 kB
text/typescript
import { NativeModules } from 'react-native'
const { GigyaSdk } = NativeModules
import type { GigyaSdkStateType } from '../types'
import getState from './getState'
import { setState } from '../internals/state'
interface ConfigType {
lang?: GigyaSdkStateType['lang']
apiKey?: GigyaSdkStateType['apiKey']
storage?: GigyaSdkStateType['storage']
dataCenter?: GigyaSdkStateType['dataCenter']
storageKey?: GigyaSdkStateType['storageKey']
linkAccountVersion?: GigyaSdkStateType['linkAccountVersion']
}
export default function (config: ConfigType): Promise<boolean> {
return new Promise(async (resolve, reject) => {
try {
await setState(config)
const updatedState = await getState()
const updatedConfig: ConfigType = {
lang: updatedState.lang,
apiKey: updatedState.apiKey,
storage: updatedState.storage!,
dataCenter: updatedState.dataCenter,
storageKey: updatedState.storageKey,
linkAccountVersion: updatedState.linkAccountVersion,
}
resolve(GigyaSdk.initialize(updatedConfig))
} catch (e) {
reject(e)
}
})
}