UNPKG

react-native-lightspeedsdk

Version:
110 lines (90 loc) 3.27 kB
const NativeUserCoordinator = require('react-native').NativeModules.LSUserCoordinator; import {NativeEventEmitter} from 'react-native'; import Booster from './models/Booster'; import PanelistAchievementHistory from './models/PanelistAchievementHistory'; import PanelistAchievementSummary from './models/PanelistAchievementSummary'; import Opportunities from './models/Opportunities'; import UserProfile from './models/UserProfile'; import UpdateProfileRequest from './models/UpdateProfileRequest'; import HitOrMissInfo from './models/HitOrMissInfo'; const UserEventEmitter = new NativeEventEmitter(NativeUserCoordinator); module.exports = { addProfileUpdateListener(listener: Function){ return UserEventEmitter.addListener(NativeUserCoordinator.UserUpdatedNotification, listener); }, removeProfileUpdateListener(listener: Function) { UserEventEmitter.removeListener(NativeUserCoordinator.UserUpdatedNotification, listener); }, getBoosterInfo(): Promise<?Booster> { return new Promise((resolve, reject) => { NativeUserCoordinator.getBoosterInfo().then((map) => { if (map) { resolve(new Booster(map)); } else { resolve(null); } }).catch(error => reject(error)); }); }, getAchievementHistory(): Promise<?PanelistAchievementHistory> { return new Promise((resolve, reject) => { NativeUserCoordinator.getAchievementHistory().then((map) => { if (map) { resolve(new PanelistAchievementHistory(map)); } else { resolve(null); } }).catch(error => reject(error));; }); }, getAchievementSummary(): Promise<?PanelistAchievementSummary> { return new Promise((resolve, reject) => { NativeUserCoordinator.getAchievementSummary().then((map) => { if (map) { resolve(new PanelistAchievementSummary(map)); } else { resolve(null); } }).catch(error => reject(error));; }); }, getOpportunities(locationEnabled: bool): Promise<?PanelistAchievementSummary> { return new Promise((resolve, reject) => { NativeUserCoordinator.getOpportunities(locationEnabled).then((map) => { if (map) { resolve(new Opportunities(map)); } else { resolve(null); } }).catch(error => reject(error)); }); }, getPanelistProfile(): Promise<?UserProfile> { return new Promise((resolve, reject) => { NativeUserCoordinator.getPanelistProfile().then((map) => { if (map) { resolve(new UserProfile(map)); } else { resolve(null); } }).catch(error => reject(error)); }); }, updatePanelistProfile(request: UpdateProfileRequest): Promise<?Object> { return NativeUserCoordinator.updatePanelistProfile(request); }, perksLogin(totalPoints): Promise<?Object> { return NativeUserCoordinator.perksLogin(totalPoints); }, getHitOrMissInfo(): Promise<?HitOrMissInfo> { return new Promise((resolve, reject) => { NativeUserCoordinator.getHitOrMissInfo().then((map) => { if (map) { resolve(new HitOrMissInfo(map)); } else { resolve(null); } }).catch(error => reject(error)); }); }, };