UNPKG

react-native-background-geolocation

Version:

The most sophisticated cross-platform background location-tracking & geofencing module with battery-conscious motion-detection intelligence

53 lines (45 loc) 1.71 kB
import type {TurboModule} from 'react-native'; import {TurboModuleRegistry} from 'react-native'; export interface Spec extends TurboModule { // Core lifecycle ready(config: Object): Promise<Object>; setConfig(config: Object): Promise<Object>; reset(config: Object | null): Promise<Object>; getState(): Promise<Object>; start(): Promise<Object>; stop(): Promise<Object>; startGeofences(): Promise<Object>; startSchedule(): Promise<Object>; stopSchedule(): Promise<Object>; // Geolocation getCurrentPosition(options: Object): Promise<Object>; changePace(isMoving: boolean): Promise<void>; getOdometer(): Promise<number>; setOdometer(value: number): Promise<Object>; // HTTP & DB getLocations(query: Object): Promise<Array<Object>>; getCount(): Promise<number>; destroyLocations(): Promise<void>; sync(): Promise<Array<Object>>; // Device / settings getProviderState(): Promise<Object>; getDeviceInfo(): Promise<Object>; isPowerSaveMode(): Promise<boolean>; isIgnoringBatteryOptimizations(): Promise<boolean>; requestPermission(): Promise<number>; requestTemporaryFullAccuracy(purpose: string): Promise<number>; // Transistor token helpers getTransistorToken( orgname: string, username: string, url: string, ): Promise<Object>; destroyTransistorToken(url: string): Promise<void>; // Logging log(level: string, message: string): Promise<boolean>; getLog(query: Object): Promise<string>; emailLog(email: string, query: Object): Promise<boolean>; uploadLog(url: string, query: Object): Promise<boolean>; destroyLog(): Promise<boolean>; } export default TurboModuleRegistry.getEnforcing<Spec>('RNBackgroundGeolocation');