react-native-gigya-sdk
Version:
SAP CDC/Gigya SDK for your React Native applications
32 lines (31 loc) • 1.44 kB
JavaScript
import getState from '../core/getState';
import { setState } from './state';
// TODO: Use on smsLogin error.
export default function (type, error) {
return new Promise(async (resolve, reject) => {
try {
var _error$payload, _state$regToken, _state$regToken2;
const state = await getState();
const incomingRegToken = error === null || error === void 0 ? void 0 : (_error$payload = error.payload) === null || _error$payload === void 0 ? void 0 : _error$payload.regToken;
const existingRegToken = (_state$regToken = state.regToken) === null || _state$regToken === void 0 ? void 0 : _state$regToken.value;
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();
await setState({
error: error !== null && error !== void 0 ? error : state.error,
authenticationAttempt: {
type
},
regToken: {
value,
expirationDate,
isStillValid
}
});
resolve();
} catch (e) {
reject(e);
}
});
}
//# sourceMappingURL=saveAuthenticationAttempt.js.map