react-native-gigya-sdk
Version:
SAP CDC/Gigya SDK for your React Native applications
71 lines (55 loc) • 2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _default;
var _reactNative = require("react-native");
var _logout = _interopRequireDefault(require("./logout"));
var _getState = _interopRequireDefault(require("./getState"));
var _isGigyaError = _interopRequireDefault(require("./isGigyaError"));
var _state = require("../internals/state");
var _handleSdkCall = _interopRequireDefault(require("../internals/handleSdkCall"));
var _clearErrorState = _interopRequireDefault(require("../internals/clearErrorState"));
var _saveAuthenticationAttempt = _interopRequireDefault(require("../internals/saveAuthenticationAttempt"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const {
GigyaSdk
} = _reactNative.NativeModules;
function _default(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 (0, _getState.default)();
const {
lang,
...rest
} = params || {
lang: state.lang
};
await (0, _logout.default)();
const response = await (0, _handleSdkCall.default)(GigyaSdk.socialLogin(provider, JSON.stringify({
lang,
...(rest && rest)
})));
await (0, _state.setState)({
UID: response.UID
});
try {
await (0, _clearErrorState.default)();
} catch (err) {}
resolve(response);
} catch (e) {
if (await (0, _isGigyaError.default)(e)) {
try {
await (0, _saveAuthenticationAttempt.default)(provider, e);
} catch (err) {
return reject(err);
}
}
reject(e);
}
});
}
//# sourceMappingURL=socialLogin.js.map