UNPKG

1.1 kBJavaScriptView Raw
1import invariant from 'invariant';
2import { NativeEventEmitter, NativeModules } from 'react-native';
3const PedometerEventEmitter = new NativeEventEmitter(NativeModules.ExponentPedometer);
4let _listenerCount = 0;
5export function watchStepCount(callback) {
6 if (_listenerCount === 0) {
7 NativeModules.ExponentPedometer.watchStepCount();
8 }
9 _listenerCount++;
10 const listener = PedometerEventEmitter.addListener('Exponent.pedometerUpdate', callback);
11 return {
12 remove() {
13 listener.remove();
14 _listenerCount--;
15 if (_listenerCount === 0) {
16 NativeModules.ExponentPedometer.stopWatchingStepCount();
17 }
18 },
19 };
20}
21export async function getStepCountAsync(start, end) {
22 invariant(start <= end, 'Pedometer: The start date must precede the end date.');
23 return await NativeModules.ExponentPedometer.getStepCountAsync(start.getTime(), end.getTime());
24}
25export async function isAvailableAsync() {
26 return await NativeModules.ExponentPedometer.isAvailableAsync();
27}
28//# sourceMappingURL=Pedometer.js.map
\No newline at end of file