You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-06-24 23:26:50 +02:00
All: Use Lerna to manage monorepo
This commit is contained in:
25
packages/lib/geolocation-node.js
Normal file
25
packages/lib/geolocation-node.js
Normal file
@ -0,0 +1,25 @@
|
||||
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 };
|
Reference in New Issue
Block a user