UNPKG

react-native-gigya-sdk

Version:
53 lines (49 loc) 1.52 kB
import { NativeModules } from 'react-native'; const { GigyaSdk } = NativeModules; import logout from './logout'; import getState from './getState'; import isGigyaError from './isGigyaError'; import { setState } from '../internals/state'; import handleSdkCall from '../internals/handleSdkCall'; import clearErrorState from '../internals/clearErrorState'; import saveAuthenticationAttempt from '../internals/saveAuthenticationAttempt'; export default function (provider, params) { return new Promise(async (resolve, reject) => { if (params !== null && params !== void 0 && params.loginMode && !params.regToken) { reject(new Error("regToken is required when using loginMode. Use GigyaSdk.linkToSocialProvider() instead if you're trying to resolve an account conflict.")); } try { const state = await getState(); const { lang, ...rest } = params || { lang: state.lang }; await logout(); const response = await handleSdkCall(GigyaSdk.socialLogin(provider, JSON.stringify({ lang, ...(rest && rest) }))); await setState({ UID: response.UID }); try { await clearErrorState(); } catch (err) {} resolve(response); } catch (e) { if (await isGigyaError(e)) { try { await saveAuthenticationAttempt(provider, e); } catch (err) { return reject(err); } } reject(e); } }); } //# sourceMappingURL=socialLogin.js.map