@mostajs/gps
v0.1.0
Published
Primitive GPS device pour @mostajs — navigator.geolocation (one-shot + watch), filtre de précision, état de permission, wake-lock écran, détection arrière-plan. Client uniquement, sans maths ni réseau.
Maintainers
Readme
@mostajs/gps
Auteur : Dr Hamid MADANI [email protected]
Primitive GPS device (client uniquement). Responsabilité unique : lire le capteur
de position. Aucune maths géographique (→ @mostajs/geo), aucune publication
réseau (→ @mostajs/geo-tracker).
API
import { getCurrentPosition, watch, queryPermission, createWakeLock, onVisibility, GpsError } from '@mostajs/gps'
// position unique (rejette si imprécise)
const fix = await getCurrentPosition({ highAccuracy: true, minAccuracyM: 50 })
// → { lat, lon, accuracyM, speedMps?, headingDeg?, altitudeM?, at }
// suivi continu (renvoie une fonction d'arrêt)
const stop = watch(
(f) => console.log(f.lat, f.lon),
{ minAccuracyM: 50, maximumAgeMs: 2000 },
(e) => console.warn(e.code, e.message), // 'permission_denied' | 'timeout' | 'unavailable'
)
// état de permission (Permissions API)
await queryPermission() // 'granted' | 'denied' | 'prompt' | 'unknown'
// wake-lock écran (ré-acquis au retour au 1er plan)
const wl = createWakeLock(); await wl.acquire(); /* … */ wl.release()
// avant-plan / arrière-plan (le GPS se fige en arrière-plan)
const off = onVisibility((visible) => { /* … */ })Position dans la pile
@mostajs/gps (capteur) ──┐
├──► @mostajs/geo-tracker ──► PWA
@mostajs/geo (maths) ──┘Hérité de @mostajs/geo client/position.ts, enrichi (erreurs typées, vitesse/cap,
permissions, wake-lock, détection arrière-plan).
