UNPKG

react-native-lightspeedsdk

Version:
122 lines (103 loc) 4.17 kB
const NativeSurveyCoordinator = require('react-native').NativeModules.LSSurveyCoordinator; import Survey from './models/Survey'; import LocationSurvey from './models/LocationSurvey'; import SurveyInfo from './models/SurveyInfo'; import SurveyStart from './models/SurveyStart'; import SurveyActivity from './models/SurveyActivity'; import type {SurveyStatus, SurveyType} from './enums'; module.exports = { getSurveys(): Promise<?Array<Survey>> { return new Promise((resolve, reject) => { NativeSurveyCoordinator.getSurveys().then((surveyMaps)=> { let transformAchievements = function (surveyMap) { return new Survey(surveyMap); } let surveys = surveyMaps.map(transformAchievements); resolve(surveys); }).catch(error => reject(error)); }); }, getSurveysUsingCoordinates(latitude: number, longitude): Promise<?Array<Survey>> { return new Promise((resolve, reject) => { NativeSurveyCoordinator.getSurveysUsingCoordinates(latitude, longitude).then((surveyMaps)=> { let transformAchievements = function (surveyMap) { return new Survey(surveyMap); } let surveys = surveyMaps.map(transformAchievements); resolve(surveys); }).catch(error => reject(error)); }); }, validatedSurveyStart(surveyId: number, latitude: number, longitude: number, geoLocationId: number): Promise<?SurveyStart> { return new Promise((resolve, reject) => { NativeSurveyCoordinator.validatedSurveyStart(surveyId, latitude, longitude, geoLocationId).then((map)=> { if (map) { resolve(new SurveyStart(map)); } else { resolve(null); } }).catch(error => reject(error)); }); }, locationSurveyStart(surveyId: number, latitude: number, longitude: number): Promise<?SurveyStart> { return new Promise((resolve, reject) => { NativeSurveyCoordinator.locationSurveyStart(surveyId, latitude, longitude).then((map)=> { if (map) { resolve(new SurveyStart(map)); } else { resolve(null); } }).catch(error => reject(error)); }); }, surveyStart(surveyId: number): Promise<?SurveyStart> { return new Promise((resolve, reject) => { NativeSurveyCoordinator.surveyStart(surveyId).then((map)=> { if (map) { resolve(new SurveyStart(map)); } else { resolve(null); } }).catch(error => reject(error)); }); }, surveyComplete(surveyStartTrackId: number, surveyStatus: SurveyStatus): Promise<?Object> { return NativeSurveyCoordinator.surveyComplete(surveyStartTrackId, surveyStatus); }, reserveSurvey(survey: Survey): Promise<?ReserveSurvey> { return NativeSurveyCoordinator.reserveSurvey(survey); }, getLocationSurveys(latitude: number, longitude:number, surveyType:SurveyType, boundingBox:number, maxResults:number): Promise<?Array<LocationSurvey>> { return new Promise((resolve, reject) => { NativeSurveyCoordinator.getLocationSurveys(latitude, longitude, surveyType, boundingBox, maxResults).then((surveyMaps)=> { let transformSurveys = function (surveyMap) { return new LocationSurvey(surveyMap); } let surveys = surveyMaps.map(transformSurveys); resolve(surveys); }).catch(error => reject(error)); }); }, getSurveyInfo(surveyId: number): Promise<?SurveyInfo> { return new Promise((resolve, reject) => { NativeSurveyCoordinator.getSurveyInfo(surveyId).then((map)=> { if (map) { resolve(new SurveyInfo(map)); } else { resolve(null); } }).catch(error => reject(error)); }); }, getSurveyActivity(): Promise<?Array<SurveyActivity>> { return new Promise((resolve, reject) => { NativeSurveyCoordinator.getSurveyActivity().then((maps)=> { let transformer = function (activityMap) { return new SurveyActivity(activityMap); } let surveyActivities= maps.map(transformer); resolve(surveyActivities); }).catch(error => reject(error)); }); }, };