react-native-gigya-sdk
Version:
SAP CDC/Gigya SDK for your React Native applications
30 lines (29 loc) • 1.1 kB
JavaScript
import { GigyaSdkDataCenters, GigyaSdkLinkAccountVersions } from '../types';
import getState from '../core/getState';
export const initialState = {
UID: '',
lang: 'en',
apiKey: '',
storageKey: 'GigyaSdkState',
dataCenter: GigyaSdkDataCenters.EU1,
linkAccountVersion: GigyaSdkLinkAccountVersions.V1
};
export let state = initialState;
export function setState(data) {
return new Promise(async (resolve, reject) => {
try {
var _data$storage, _oldState$storage;
const oldState = await getState();
const newState = { ...oldState,
...data
};
const setItem = ((_data$storage = data.storage) === null || _data$storage === void 0 ? void 0 : _data$storage.setItem) || ((_oldState$storage = oldState.storage) === null || _oldState$storage === void 0 ? void 0 : _oldState$storage.setItem);
await Promise.resolve(setItem === null || setItem === void 0 ? void 0 : setItem(newState.storageKey, JSON.stringify(newState)));
state = newState;
resolve(state);
} catch (e) {
reject(e);
}
});
}
//# sourceMappingURL=state.js.map