1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-11-24 08:12:24 +02:00
joplin/packages/lib/geolocation-node.js
2020-11-05 16:58:23 +00:00

26 lines
704 B
JavaScript

const shim = require('./shim').default;
class GeolocationNode {
static async currentPosition(options = null) {
if (!options) options = {};
let response = await shim.fetch('https://freegeoip.app/json/');
if (!response.ok) throw new Error(`Could not get geolocation: ${await response.text()}`);
response = await response.json();
if (!('latitude' in response) || !('longitude' in response)) throw new Error(`Invalid geolocation response: ${response ? JSON.stringify(response) : '<null>'}`);
return {
timestamp: new Date().getTime(),
coords: {
longitude: response.longitude,
altitude: 0,
latitude: response.latitude,
},
};
}
}
module.exports = { GeolocationNode };