const { Setting } = require('lib/models/setting.js'); class GeolocationReact { static currentPosition_testResponse() { return { mocked: false, timestamp: (new Date()).getTime(), coords: { speed: 0, heading: 0, accuracy: 20, longitude: -3.4596633911132812, altitude: 0, latitude: 48.73219093634444 } } } static currentPosition(options = null) { if (Setting.value('env') == 'dev') return this.currentPosition_testResponse(); if (!options) options = {}; if (!('enableHighAccuracy' in options)) options.enableHighAccuracy = true; if (!('timeout' in options)) options.timeout = 10000; return new Promise((resolve, reject) => { navigator.geolocation.getCurrentPosition((data) => { resolve(data); }, (error) => { reject(error); }, options); }); } } module.exports = { GeolocationReact };