UNPKG

react-native-gigya-sdk

Version:
37 lines (36 loc) 2.03 kB
import { setState } from './state'; import getState from '../core/getState'; // TODO: Use on smsLogin error. export default function (type, error) { return new Promise(async (resolve, reject) => { try { var _state$regToken, _error$payload, _state$regToken2, _state$sessionInfo, _error$payload$sessio, _error$payload2; const state = await getState(); const existingRegToken = (_state$regToken = state.regToken) === null || _state$regToken === void 0 ? void 0 : _state$regToken.value; const incomingRegToken = error === null || error === void 0 ? void 0 : (_error$payload = error.payload) === null || _error$payload === void 0 ? void 0 : _error$payload.regToken; const value = incomingRegToken || existingRegToken; const expirationDate = incomingRegToken && incomingRegToken !== existingRegToken ? new Date(new Date().setHours(new Date().getHours() + 1)) : (_state$regToken2 = state.regToken) === null || _state$regToken2 === void 0 ? void 0 : _state$regToken2.expirationDate; const isStillValid = expirationDate && new Date(expirationDate).getTime() >= new Date().getTime(); const existingSessionInfo = (_state$sessionInfo = state.sessionInfo) !== null && _state$sessionInfo !== void 0 ? _state$sessionInfo : {}; const incomingSessionInfo = (_error$payload$sessio = error === null || error === void 0 ? void 0 : (_error$payload2 = error.payload) === null || _error$payload2 === void 0 ? void 0 : _error$payload2.sessionInfo) !== null && _error$payload$sessio !== void 0 ? _error$payload$sessio : {}; await setState({ error: error !== null && error !== void 0 ? error : state.error, authenticationAttempt: { type }, regToken: { value, expirationDate, isStillValid }, sessionInfo: { ...existingSessionInfo, ...incomingSessionInfo } }); resolve(); } catch (e) { reject(e); } }); } //# sourceMappingURL=saveAuthenticationAttempt.js.map