@symbiote-native/sensors 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +138 -0
- package/build/angular/index.d.ts +16 -0
- package/build/angular/index.js +12 -0
- package/build/angular/services/accelerometer.service/index.d.ts +6 -0
- package/build/angular/services/accelerometer.service/index.js +81 -0
- package/build/angular/services/barometer.service/index.d.ts +6 -0
- package/build/angular/services/barometer.service/index.js +81 -0
- package/build/angular/services/device-motion.service/index.d.ts +6 -0
- package/build/angular/services/device-motion.service/index.js +81 -0
- package/build/angular/services/gyroscope.service/index.d.ts +6 -0
- package/build/angular/services/gyroscope.service/index.js +81 -0
- package/build/angular/services/light-sensor.service/index.d.ts +6 -0
- package/build/angular/services/light-sensor.service/index.js +81 -0
- package/build/angular/services/magnetometer-uncalibrated.service/index.d.ts +6 -0
- package/build/angular/services/magnetometer-uncalibrated.service/index.js +81 -0
- package/build/angular/services/magnetometer.service/index.d.ts +6 -0
- package/build/angular/services/magnetometer.service/index.js +81 -0
- package/build/angular/services/pedometer.service/index.d.ts +6 -0
- package/build/angular/services/pedometer.service/index.js +76 -0
- package/build/core/accelerometer.d.ts +10 -0
- package/build/core/accelerometer.js +6 -0
- package/build/core/barometer.d.ts +9 -0
- package/build/core/barometer.js +6 -0
- package/build/core/device-motion.d.ts +40 -0
- package/build/core/device-motion.js +21 -0
- package/build/core/device-sensor.d.ts +27 -0
- package/build/core/device-sensor.js +61 -0
- package/build/core/gyroscope.d.ts +10 -0
- package/build/core/gyroscope.js +6 -0
- package/build/core/index.d.ts +11 -0
- package/build/core/index.js +10 -0
- package/build/core/light-sensor.d.ts +8 -0
- package/build/core/light-sensor.js +6 -0
- package/build/core/magnetometer-uncalibrated.d.ts +10 -0
- package/build/core/magnetometer-uncalibrated.js +6 -0
- package/build/core/magnetometer.d.ts +10 -0
- package/build/core/magnetometer.js +6 -0
- package/build/core/native/exponent-accelerometer.d.ts +3 -0
- package/build/core/native/exponent-accelerometer.js +3 -0
- package/build/core/native/exponent-barometer.d.ts +3 -0
- package/build/core/native/exponent-barometer.js +3 -0
- package/build/core/native/exponent-device-motion.d.ts +7 -0
- package/build/core/native/exponent-device-motion.js +3 -0
- package/build/core/native/exponent-gyroscope.d.ts +3 -0
- package/build/core/native/exponent-gyroscope.js +3 -0
- package/build/core/native/exponent-light-sensor/index.android.d.ts +3 -0
- package/build/core/native/exponent-light-sensor/index.android.js +3 -0
- package/build/core/native/exponent-light-sensor/index.d.ts +1 -0
- package/build/core/native/exponent-light-sensor/index.ios.d.ts +3 -0
- package/build/core/native/exponent-light-sensor/index.ios.js +6 -0
- package/build/core/native/exponent-light-sensor/index.js +5 -0
- package/build/core/native/exponent-magnetometer-uncalibrated.d.ts +3 -0
- package/build/core/native/exponent-magnetometer-uncalibrated.js +3 -0
- package/build/core/native/exponent-magnetometer.d.ts +3 -0
- package/build/core/native/exponent-magnetometer.js +3 -0
- package/build/core/native/exponent-pedometer.d.ts +10 -0
- package/build/core/native/exponent-pedometer.js +3 -0
- package/build/core/pedometer.d.ts +10 -0
- package/build/core/pedometer.js +44 -0
- package/build/react/hooks/use-accelerometer/index.d.ts +2 -0
- package/build/react/hooks/use-accelerometer/index.js +17 -0
- package/build/react/hooks/use-barometer/index.d.ts +2 -0
- package/build/react/hooks/use-barometer/index.js +17 -0
- package/build/react/hooks/use-device-motion/index.d.ts +2 -0
- package/build/react/hooks/use-device-motion/index.js +17 -0
- package/build/react/hooks/use-gyroscope/index.d.ts +2 -0
- package/build/react/hooks/use-gyroscope/index.js +17 -0
- package/build/react/hooks/use-light-sensor/index.d.ts +2 -0
- package/build/react/hooks/use-light-sensor/index.js +17 -0
- package/build/react/hooks/use-magnetometer/index.d.ts +2 -0
- package/build/react/hooks/use-magnetometer/index.js +17 -0
- package/build/react/hooks/use-magnetometer-uncalibrated/index.d.ts +2 -0
- package/build/react/hooks/use-magnetometer-uncalibrated/index.js +17 -0
- package/build/react/hooks/use-pedometer/index.d.ts +2 -0
- package/build/react/hooks/use-pedometer/index.js +14 -0
- package/build/react/index.d.ts +16 -0
- package/build/react/index.js +14 -0
- package/build/vue/composables/use-accelerometer/index.d.ts +3 -0
- package/build/vue/composables/use-accelerometer/index.js +25 -0
- package/build/vue/composables/use-barometer/index.d.ts +3 -0
- package/build/vue/composables/use-barometer/index.js +25 -0
- package/build/vue/composables/use-device-motion/index.d.ts +3 -0
- package/build/vue/composables/use-device-motion/index.js +25 -0
- package/build/vue/composables/use-gyroscope/index.d.ts +3 -0
- package/build/vue/composables/use-gyroscope/index.js +25 -0
- package/build/vue/composables/use-light-sensor/index.d.ts +3 -0
- package/build/vue/composables/use-light-sensor/index.js +25 -0
- package/build/vue/composables/use-magnetometer/index.d.ts +3 -0
- package/build/vue/composables/use-magnetometer/index.js +25 -0
- package/build/vue/composables/use-magnetometer-uncalibrated/index.d.ts +3 -0
- package/build/vue/composables/use-magnetometer-uncalibrated/index.js +25 -0
- package/build/vue/composables/use-pedometer/index.d.ts +3 -0
- package/build/vue/composables/use-pedometer/index.js +20 -0
- package/build/vue/index.d.ts +16 -0
- package/build/vue/index.js +14 -0
- package/build-ngc/angular/index.d.ts +16 -0
- package/build-ngc/angular/index.js +13 -0
- package/build-ngc/angular/index.js.map +1 -0
- package/build-ngc/angular/services/accelerometer.service/index.d.ts +9 -0
- package/build-ngc/angular/services/accelerometer.service/index.js +40 -0
- package/build-ngc/angular/services/accelerometer.service/index.js.map +1 -0
- package/build-ngc/angular/services/barometer.service/index.d.ts +9 -0
- package/build-ngc/angular/services/barometer.service/index.js +40 -0
- package/build-ngc/angular/services/barometer.service/index.js.map +1 -0
- package/build-ngc/angular/services/device-motion.service/index.d.ts +9 -0
- package/build-ngc/angular/services/device-motion.service/index.js +40 -0
- package/build-ngc/angular/services/device-motion.service/index.js.map +1 -0
- package/build-ngc/angular/services/gyroscope.service/index.d.ts +9 -0
- package/build-ngc/angular/services/gyroscope.service/index.js +40 -0
- package/build-ngc/angular/services/gyroscope.service/index.js.map +1 -0
- package/build-ngc/angular/services/light-sensor.service/index.d.ts +9 -0
- package/build-ngc/angular/services/light-sensor.service/index.js +40 -0
- package/build-ngc/angular/services/light-sensor.service/index.js.map +1 -0
- package/build-ngc/angular/services/magnetometer-uncalibrated.service/index.d.ts +9 -0
- package/build-ngc/angular/services/magnetometer-uncalibrated.service/index.js +40 -0
- package/build-ngc/angular/services/magnetometer-uncalibrated.service/index.js.map +1 -0
- package/build-ngc/angular/services/magnetometer.service/index.d.ts +9 -0
- package/build-ngc/angular/services/magnetometer.service/index.js +40 -0
- package/build-ngc/angular/services/magnetometer.service/index.js.map +1 -0
- package/build-ngc/angular/services/pedometer.service/index.d.ts +9 -0
- package/build-ngc/angular/services/pedometer.service/index.js +35 -0
- package/build-ngc/angular/services/pedometer.service/index.js.map +1 -0
- package/build-ngc/core/accelerometer.d.ts +10 -0
- package/build-ngc/core/accelerometer.js +7 -0
- package/build-ngc/core/accelerometer.js.map +1 -0
- package/build-ngc/core/barometer.d.ts +9 -0
- package/build-ngc/core/barometer.js +7 -0
- package/build-ngc/core/barometer.js.map +1 -0
- package/build-ngc/core/device-motion.d.ts +40 -0
- package/build-ngc/core/device-motion.js +22 -0
- package/build-ngc/core/device-motion.js.map +1 -0
- package/build-ngc/core/device-sensor.d.ts +27 -0
- package/build-ngc/core/device-sensor.js +62 -0
- package/build-ngc/core/device-sensor.js.map +1 -0
- package/build-ngc/core/gyroscope.d.ts +10 -0
- package/build-ngc/core/gyroscope.js +7 -0
- package/build-ngc/core/gyroscope.js.map +1 -0
- package/build-ngc/core/index.d.ts +11 -0
- package/build-ngc/core/index.js +11 -0
- package/build-ngc/core/index.js.map +1 -0
- package/build-ngc/core/light-sensor.d.ts +8 -0
- package/build-ngc/core/light-sensor.js +7 -0
- package/build-ngc/core/light-sensor.js.map +1 -0
- package/build-ngc/core/magnetometer-uncalibrated.d.ts +10 -0
- package/build-ngc/core/magnetometer-uncalibrated.js +7 -0
- package/build-ngc/core/magnetometer-uncalibrated.js.map +1 -0
- package/build-ngc/core/magnetometer.d.ts +10 -0
- package/build-ngc/core/magnetometer.js +7 -0
- package/build-ngc/core/magnetometer.js.map +1 -0
- package/build-ngc/core/native/exponent-accelerometer.d.ts +3 -0
- package/build-ngc/core/native/exponent-accelerometer.js +4 -0
- package/build-ngc/core/native/exponent-accelerometer.js.map +1 -0
- package/build-ngc/core/native/exponent-barometer.d.ts +3 -0
- package/build-ngc/core/native/exponent-barometer.js +4 -0
- package/build-ngc/core/native/exponent-barometer.js.map +1 -0
- package/build-ngc/core/native/exponent-device-motion.d.ts +7 -0
- package/build-ngc/core/native/exponent-device-motion.js +4 -0
- package/build-ngc/core/native/exponent-device-motion.js.map +1 -0
- package/build-ngc/core/native/exponent-gyroscope.d.ts +3 -0
- package/build-ngc/core/native/exponent-gyroscope.js +4 -0
- package/build-ngc/core/native/exponent-gyroscope.js.map +1 -0
- package/build-ngc/core/native/exponent-light-sensor/index.android.d.ts +3 -0
- package/build-ngc/core/native/exponent-light-sensor/index.android.js +4 -0
- package/build-ngc/core/native/exponent-light-sensor/index.android.js.map +1 -0
- package/build-ngc/core/native/exponent-light-sensor/index.d.ts +1 -0
- package/build-ngc/core/native/exponent-light-sensor/index.ios.d.ts +3 -0
- package/build-ngc/core/native/exponent-light-sensor/index.ios.js +7 -0
- package/build-ngc/core/native/exponent-light-sensor/index.ios.js.map +1 -0
- package/build-ngc/core/native/exponent-light-sensor/index.js +6 -0
- package/build-ngc/core/native/exponent-light-sensor/index.js.map +1 -0
- package/build-ngc/core/native/exponent-magnetometer-uncalibrated.d.ts +3 -0
- package/build-ngc/core/native/exponent-magnetometer-uncalibrated.js +4 -0
- package/build-ngc/core/native/exponent-magnetometer-uncalibrated.js.map +1 -0
- package/build-ngc/core/native/exponent-magnetometer.d.ts +3 -0
- package/build-ngc/core/native/exponent-magnetometer.js +4 -0
- package/build-ngc/core/native/exponent-magnetometer.js.map +1 -0
- package/build-ngc/core/native/exponent-pedometer.d.ts +10 -0
- package/build-ngc/core/native/exponent-pedometer.js +4 -0
- package/build-ngc/core/native/exponent-pedometer.js.map +1 -0
- package/build-ngc/core/pedometer.d.ts +10 -0
- package/build-ngc/core/pedometer.js +45 -0
- package/build-ngc/core/pedometer.js.map +1 -0
- package/package.json +106 -0
- package/src/angular/index.ts +26 -0
- package/src/angular/services/accelerometer.service/accelerometer.service.test.ts +118 -0
- package/src/angular/services/accelerometer.service/index.ts +39 -0
- package/src/angular/services/barometer.service/barometer.service.test.ts +122 -0
- package/src/angular/services/barometer.service/index.ts +39 -0
- package/src/angular/services/device-motion.service/device-motion.service.test.ts +125 -0
- package/src/angular/services/device-motion.service/index.ts +39 -0
- package/src/angular/services/gyroscope.service/gyroscope.service.test.ts +118 -0
- package/src/angular/services/gyroscope.service/index.ts +39 -0
- package/src/angular/services/light-sensor.service/index.ts +39 -0
- package/src/angular/services/light-sensor.service/light-sensor.service.test.ts +118 -0
- package/src/angular/services/magnetometer-uncalibrated.service/index.ts +39 -0
- package/src/angular/services/magnetometer-uncalibrated.service/magnetometer-uncalibrated.service.test.ts +123 -0
- package/src/angular/services/magnetometer.service/index.ts +39 -0
- package/src/angular/services/magnetometer.service/magnetometer.service.test.ts +118 -0
- package/src/angular/services/pedometer.service/index.ts +34 -0
- package/src/angular/services/pedometer.service/pedometer.service.test.ts +86 -0
- package/src/core/accelerometer.test.ts +49 -0
- package/src/core/accelerometer.ts +19 -0
- package/src/core/barometer.test.ts +46 -0
- package/src/core/barometer.ts +15 -0
- package/src/core/device-motion.test.ts +60 -0
- package/src/core/device-motion.ts +41 -0
- package/src/core/device-sensor.test.ts +76 -0
- package/src/core/device-sensor.ts +95 -0
- package/src/core/gyroscope.test.ts +46 -0
- package/src/core/gyroscope.ts +16 -0
- package/src/core/index.ts +37 -0
- package/src/core/light-sensor.test.ts +49 -0
- package/src/core/light-sensor.ts +18 -0
- package/src/core/magnetometer-uncalibrated.test.ts +49 -0
- package/src/core/magnetometer-uncalibrated.ts +20 -0
- package/src/core/magnetometer.test.ts +49 -0
- package/src/core/magnetometer.ts +19 -0
- package/src/core/native/exponent-accelerometer.ts +9 -0
- package/src/core/native/exponent-barometer.ts +9 -0
- package/src/core/native/exponent-device-motion.ts +15 -0
- package/src/core/native/exponent-gyroscope.ts +9 -0
- package/src/core/native/exponent-light-sensor/index.android.ts +9 -0
- package/src/core/native/exponent-light-sensor/index.ios.ts +12 -0
- package/src/core/native/exponent-light-sensor/index.ts +5 -0
- package/src/core/native/exponent-magnetometer-uncalibrated.ts +9 -0
- package/src/core/native/exponent-magnetometer.ts +9 -0
- package/src/core/native/exponent-pedometer.ts +17 -0
- package/src/core/pedometer.test.ts +118 -0
- package/src/core/pedometer.ts +62 -0
- package/src/react/hooks/use-accelerometer/index.ts +21 -0
- package/src/react/hooks/use-accelerometer/use-accelerometer.test.tsx +81 -0
- package/src/react/hooks/use-barometer/index.ts +21 -0
- package/src/react/hooks/use-barometer/use-barometer.test.tsx +83 -0
- package/src/react/hooks/use-device-motion/index.ts +21 -0
- package/src/react/hooks/use-device-motion/use-device-motion.test.tsx +88 -0
- package/src/react/hooks/use-gyroscope/index.ts +21 -0
- package/src/react/hooks/use-gyroscope/use-gyroscope.test.tsx +79 -0
- package/src/react/hooks/use-light-sensor/index.ts +21 -0
- package/src/react/hooks/use-light-sensor/use-light-sensor.test.tsx +79 -0
- package/src/react/hooks/use-magnetometer/index.ts +21 -0
- package/src/react/hooks/use-magnetometer/use-magnetometer.test.tsx +81 -0
- package/src/react/hooks/use-magnetometer-uncalibrated/index.ts +23 -0
- package/src/react/hooks/use-magnetometer-uncalibrated/use-magnetometer-uncalibrated.test.tsx +88 -0
- package/src/react/hooks/use-pedometer/index.ts +17 -0
- package/src/react/hooks/use-pedometer/use-pedometer.test.tsx +69 -0
- package/src/react/index.ts +29 -0
- package/src/vue/composables/use-accelerometer/index.ts +34 -0
- package/src/vue/composables/use-accelerometer/use-accelerometer.test.ts +96 -0
- package/src/vue/composables/use-barometer/index.ts +30 -0
- package/src/vue/composables/use-barometer/use-barometer.test.ts +100 -0
- package/src/vue/composables/use-device-motion/index.ts +30 -0
- package/src/vue/composables/use-device-motion/use-device-motion.test.ts +104 -0
- package/src/vue/composables/use-gyroscope/index.ts +30 -0
- package/src/vue/composables/use-gyroscope/use-gyroscope.test.ts +96 -0
- package/src/vue/composables/use-light-sensor/index.ts +30 -0
- package/src/vue/composables/use-light-sensor/use-light-sensor.test.ts +96 -0
- package/src/vue/composables/use-magnetometer/index.ts +30 -0
- package/src/vue/composables/use-magnetometer/use-magnetometer.test.ts +96 -0
- package/src/vue/composables/use-magnetometer-uncalibrated/index.ts +36 -0
- package/src/vue/composables/use-magnetometer-uncalibrated/use-magnetometer-uncalibrated.test.ts +103 -0
- package/src/vue/composables/use-pedometer/index.ts +25 -0
- package/src/vue/composables/use-pedometer/use-pedometer.test.ts +77 -0
- package/src/vue/index.ts +29 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// expo-sensors' own DeviceSensor imports PermissionResponse/PermissionExpiration/PermissionStatus
|
|
2
|
+
// from the `expo` meta-package. We never depend on `expo` itself (it drags in a second
|
|
3
|
+
// Metro/babel pipeline — see the symbiote-expo-native-module skill) so this pulls the same
|
|
4
|
+
// three exports straight from expo-modules-core, which is where `expo` re-exports them from.
|
|
5
|
+
import { Platform, PermissionStatus, } from 'expo-modules-core';
|
|
6
|
+
const DEFAULT_PERMISSION_RESPONSE = {
|
|
7
|
+
granted: true,
|
|
8
|
+
expires: 'never',
|
|
9
|
+
canAskAgain: true,
|
|
10
|
+
status: PermissionStatus.GRANTED,
|
|
11
|
+
};
|
|
12
|
+
export class DeviceSensor {
|
|
13
|
+
nativeModule;
|
|
14
|
+
nativeEventName;
|
|
15
|
+
constructor(nativeModule, nativeEventName) {
|
|
16
|
+
this.nativeModule = nativeModule;
|
|
17
|
+
this.nativeEventName = nativeEventName;
|
|
18
|
+
}
|
|
19
|
+
addListener(listener) {
|
|
20
|
+
return this.nativeModule.addListener(this.nativeEventName, listener);
|
|
21
|
+
}
|
|
22
|
+
hasListeners() {
|
|
23
|
+
return this.getListenerCount() > 0;
|
|
24
|
+
}
|
|
25
|
+
getListenerCount() {
|
|
26
|
+
return this.nativeModule.listenerCount(this.nativeEventName);
|
|
27
|
+
}
|
|
28
|
+
removeAllListeners() {
|
|
29
|
+
this.nativeModule.removeAllListeners(this.nativeEventName);
|
|
30
|
+
}
|
|
31
|
+
// upstream keeps this only for callers still holding a pre-subscription-object reference.
|
|
32
|
+
removeSubscription(subscription) {
|
|
33
|
+
subscription.remove();
|
|
34
|
+
}
|
|
35
|
+
setUpdateInterval(intervalMs) {
|
|
36
|
+
if (!this.nativeModule.setUpdateInterval) {
|
|
37
|
+
console.warn(`@symbiote-native/sensors: setUpdateInterval() is not supported on ${Platform.OS}`);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
this.nativeModule.setUpdateInterval(intervalMs);
|
|
41
|
+
}
|
|
42
|
+
async isAvailableAsync() {
|
|
43
|
+
if (!this.nativeModule.isAvailableAsync) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
return this.nativeModule.isAvailableAsync();
|
|
47
|
+
}
|
|
48
|
+
async getPermissionsAsync() {
|
|
49
|
+
if (!this.nativeModule.getPermissionsAsync) {
|
|
50
|
+
return DEFAULT_PERMISSION_RESPONSE;
|
|
51
|
+
}
|
|
52
|
+
return this.nativeModule.getPermissionsAsync();
|
|
53
|
+
}
|
|
54
|
+
async requestPermissionsAsync() {
|
|
55
|
+
if (!this.nativeModule.requestPermissionsAsync) {
|
|
56
|
+
return DEFAULT_PERMISSION_RESPONSE;
|
|
57
|
+
}
|
|
58
|
+
return this.nativeModule.requestPermissionsAsync();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export { PermissionStatus };
|
|
62
|
+
//# sourceMappingURL=device-sensor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-sensor.js","sourceRoot":"","sources":["../../src/core/device-sensor.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,uFAAuF;AACvF,2FAA2F;AAC3F,6FAA6F;AAC7F,OAAO,EACL,QAAQ,EACR,gBAAgB,GAIjB,MAAM,mBAAmB,CAAC;AAc3B,MAAM,2BAA2B,GAAuB;IACtD,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,gBAAgB,CAAC,OAAO;CACjC,CAAC;AAEF,MAAM,OAAO,YAAY;IACd,YAAY,CAAmC;IAC/C,eAAe,CAAS;IAEjC,YAAY,YAA8C,EAAE,eAAuB;QACjF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,WAAW,CAAC,QAAgC;QAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/D,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,0FAA0F;IAC1F,kBAAkB,CAAC,YAA+B;QAChD,YAAY,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,iBAAiB,CAAC,UAAkB;QAClC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CACV,qEAAqE,QAAQ,CAAC,EAAE,EAAE,CACnF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;YAC3C,OAAO,2BAA2B,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,CAAC;YAC/C,OAAO,2BAA2B,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,CAAC;IACrD,CAAC;CACF;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DeviceSensor } from './device-sensor';
|
|
2
|
+
export type IGyroscopeMeasurement = {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
z: number;
|
|
6
|
+
timestamp: number;
|
|
7
|
+
};
|
|
8
|
+
export declare class GyroscopeSensor extends DeviceSensor<IGyroscopeMeasurement> {
|
|
9
|
+
}
|
|
10
|
+
export declare const Gyroscope: GyroscopeSensor;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DeviceSensor } from './device-sensor';
|
|
2
|
+
import { exponentGyroscope } from './native/exponent-gyroscope';
|
|
3
|
+
export class GyroscopeSensor extends DeviceSensor {
|
|
4
|
+
}
|
|
5
|
+
const GYROSCOPE_DID_UPDATE_EVENT_NAME = 'gyroscopeDidUpdate';
|
|
6
|
+
export const Gyroscope = new GyroscopeSensor(exponentGyroscope, GYROSCOPE_DID_UPDATE_EVENT_NAME);
|
|
7
|
+
//# sourceMappingURL=gyroscope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gyroscope.js","sourceRoot":"","sources":["../../src/core/gyroscope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAUhE,MAAM,OAAO,eAAgB,SAAQ,YAAmC;CAAG;AAE3E,MAAM,+BAA+B,GAAG,oBAAoB,CAAC;AAE7D,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { Accelerometer, AccelerometerSensor, type IAccelerometerMeasurement, } from './accelerometer';
|
|
2
|
+
export { Barometer, BarometerSensor, type IBarometerMeasurement } from './barometer';
|
|
3
|
+
export { DeviceMotion, DeviceMotionSensor, DeviceMotionOrientation, gravity, type IDeviceMotionMeasurement, } from './device-motion';
|
|
4
|
+
export { Gyroscope, GyroscopeSensor, type IGyroscopeMeasurement } from './gyroscope';
|
|
5
|
+
export { LightSensor, LightSensorSensor, type ILightSensorMeasurement } from './light-sensor';
|
|
6
|
+
export { Magnetometer, MagnetometerSensor, type IMagnetometerMeasurement } from './magnetometer';
|
|
7
|
+
export { MagnetometerUncalibrated, MagnetometerUncalibratedSensor, type IMagnetometerUncalibratedMeasurement, } from './magnetometer-uncalibrated';
|
|
8
|
+
export { watchStepCount, getStepCountAsync, isAvailableAsync, getPermissionsAsync, requestPermissionsAsync, type IPedometerResult, type IPedometerUpdateCallback, } from './pedometer';
|
|
9
|
+
export { DeviceSensor, type IListener, type INativeSensorModule } from './device-sensor';
|
|
10
|
+
export type { EventSubscription, PermissionExpiration, PermissionResponse, } from 'expo-modules-core';
|
|
11
|
+
export { PermissionStatus } from 'expo-modules-core';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { Accelerometer, AccelerometerSensor, } from './accelerometer';
|
|
2
|
+
export { Barometer, BarometerSensor } from './barometer';
|
|
3
|
+
export { DeviceMotion, DeviceMotionSensor, DeviceMotionOrientation, gravity, } from './device-motion';
|
|
4
|
+
export { Gyroscope, GyroscopeSensor } from './gyroscope';
|
|
5
|
+
export { LightSensor, LightSensorSensor } from './light-sensor';
|
|
6
|
+
export { Magnetometer, MagnetometerSensor } from './magnetometer';
|
|
7
|
+
export { MagnetometerUncalibrated, MagnetometerUncalibratedSensor, } from './magnetometer-uncalibrated';
|
|
8
|
+
export { watchStepCount, getStepCountAsync, isAvailableAsync, getPermissionsAsync, requestPermissionsAsync, } from './pedometer';
|
|
9
|
+
export { DeviceSensor } from './device-sensor';
|
|
10
|
+
export { PermissionStatus } from 'expo-modules-core';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,mBAAmB,GAEpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,eAAe,EAA8B,MAAM,aAAa,CAAC;AACrF,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,OAAO,GAER,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,eAAe,EAA8B,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAgC,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAiC,MAAM,gBAAgB,CAAC;AACjG,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAE/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,GAGxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAA4C,MAAM,iBAAiB,CAAC;AAMzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DeviceSensor } from './device-sensor';
|
|
2
|
+
export type ILightSensorMeasurement = {
|
|
3
|
+
illuminance: number;
|
|
4
|
+
timestamp: number;
|
|
5
|
+
};
|
|
6
|
+
export declare class LightSensorSensor extends DeviceSensor<ILightSensorMeasurement> {
|
|
7
|
+
}
|
|
8
|
+
export declare const LightSensor: LightSensorSensor;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DeviceSensor } from './device-sensor';
|
|
2
|
+
import { exponentLightSensor } from './native/exponent-light-sensor';
|
|
3
|
+
export class LightSensorSensor extends DeviceSensor {
|
|
4
|
+
}
|
|
5
|
+
const LIGHT_SENSOR_DID_UPDATE_EVENT_NAME = 'lightSensorDidUpdate';
|
|
6
|
+
export const LightSensor = new LightSensorSensor(exponentLightSensor, LIGHT_SENSOR_DID_UPDATE_EVENT_NAME);
|
|
7
|
+
//# sourceMappingURL=light-sensor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light-sensor.js","sourceRoot":"","sources":["../../src/core/light-sensor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AASrE,MAAM,OAAO,iBAAkB,SAAQ,YAAqC;CAAG;AAE/E,MAAM,kCAAkC,GAAG,sBAAsB,CAAC;AAElE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,iBAAiB,CAC9C,mBAAmB,EACnB,kCAAkC,CACnC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DeviceSensor } from './device-sensor';
|
|
2
|
+
export type IMagnetometerUncalibratedMeasurement = {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
z: number;
|
|
6
|
+
timestamp: number;
|
|
7
|
+
};
|
|
8
|
+
export declare class MagnetometerUncalibratedSensor extends DeviceSensor<IMagnetometerUncalibratedMeasurement> {
|
|
9
|
+
}
|
|
10
|
+
export declare const MagnetometerUncalibrated: MagnetometerUncalibratedSensor;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DeviceSensor } from './device-sensor';
|
|
2
|
+
import { exponentMagnetometerUncalibrated } from './native/exponent-magnetometer-uncalibrated';
|
|
3
|
+
export class MagnetometerUncalibratedSensor extends DeviceSensor {
|
|
4
|
+
}
|
|
5
|
+
const MAGNETOMETER_UNCALIBRATED_DID_UPDATE_EVENT_NAME = 'magnetometerUncalibratedDidUpdate';
|
|
6
|
+
export const MagnetometerUncalibrated = new MagnetometerUncalibratedSensor(exponentMagnetometerUncalibrated, MAGNETOMETER_UNCALIBRATED_DID_UPDATE_EVENT_NAME);
|
|
7
|
+
//# sourceMappingURL=magnetometer-uncalibrated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magnetometer-uncalibrated.js","sourceRoot":"","sources":["../../src/core/magnetometer-uncalibrated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gCAAgC,EAAE,MAAM,6CAA6C,CAAC;AAW/F,MAAM,OAAO,8BAA+B,SAAQ,YAAkD;CAAG;AAEzG,MAAM,+CAA+C,GAAG,mCAAmC,CAAC;AAE5F,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,8BAA8B,CACxE,gCAAgC,EAChC,+CAA+C,CAChD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DeviceSensor } from './device-sensor';
|
|
2
|
+
export type IMagnetometerMeasurement = {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
z: number;
|
|
6
|
+
timestamp: number;
|
|
7
|
+
};
|
|
8
|
+
export declare class MagnetometerSensor extends DeviceSensor<IMagnetometerMeasurement> {
|
|
9
|
+
}
|
|
10
|
+
export declare const Magnetometer: MagnetometerSensor;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DeviceSensor } from './device-sensor';
|
|
2
|
+
import { exponentMagnetometer } from './native/exponent-magnetometer';
|
|
3
|
+
export class MagnetometerSensor extends DeviceSensor {
|
|
4
|
+
}
|
|
5
|
+
const MAGNETOMETER_DID_UPDATE_EVENT_NAME = 'magnetometerDidUpdate';
|
|
6
|
+
export const Magnetometer = new MagnetometerSensor(exponentMagnetometer, MAGNETOMETER_DID_UPDATE_EVENT_NAME);
|
|
7
|
+
//# sourceMappingURL=magnetometer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magnetometer.js","sourceRoot":"","sources":["../../src/core/magnetometer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAUtE,MAAM,OAAO,kBAAmB,SAAQ,YAAsC;CAAG;AAEjF,MAAM,kCAAkC,GAAG,uBAAuB,CAAC;AAEnE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAChD,oBAAoB,EACpB,kCAAkC,CACnC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { requireNativeModule } from 'expo-modules-core';
|
|
2
|
+
const EXPONENT_ACCELEROMETER_MODULE_NAME = 'ExponentAccelerometer';
|
|
3
|
+
export const exponentAccelerometer = requireNativeModule(EXPONENT_ACCELEROMETER_MODULE_NAME);
|
|
4
|
+
//# sourceMappingURL=exponent-accelerometer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exponent-accelerometer.js","sourceRoot":"","sources":["../../../src/core/native/exponent-accelerometer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,MAAM,kCAAkC,GAAG,uBAAuB,CAAC;AAEnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAEtD,kCAAkC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exponent-barometer.js","sourceRoot":"","sources":["../../../src/core/native/exponent-barometer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAClD,0BAA0B,CAC3B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { INativeSensorModule } from '../device-sensor';
|
|
2
|
+
import type { IDeviceMotionMeasurement } from '../device-motion';
|
|
3
|
+
type IExponentDeviceMotionModule = INativeSensorModule<IDeviceMotionMeasurement> & {
|
|
4
|
+
Gravity: number;
|
|
5
|
+
};
|
|
6
|
+
export declare const exponentDeviceMotion: IExponentDeviceMotionModule;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exponent-device-motion.js","sourceRoot":"","sources":["../../../src/core/native/exponent-device-motion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,MAAM,kCAAkC,GAAG,sBAAsB,CAAC;AAQlE,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CACrD,kCAAkC,CACnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exponent-gyroscope.js","sourceRoot":"","sources":["../../../src/core/native/exponent-gyroscope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,MAAM,8BAA8B,GAAG,mBAAmB,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAClD,8BAA8B,CAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../../src/core/native/exponent-light-sensor/index.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,MAAM,iCAAiC,GAAG,iBAAiB,CAAC;AAE5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAEpD,iCAAiC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { exponentLightSensor } from './index.ios';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../src/core/native/exponent-light-sensor/index.ios.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,mBAAmB,GAAiD;IAC/E,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IACzC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IACtB,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC5B,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;CACpC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Base resolution for plain Node/vitest imports of './native/exponent-light-sensor', which
|
|
2
|
+
// don't go through Metro's platform-extension picking — re-exports the iOS stub so headless
|
|
3
|
+
// resolution stays side-effect-free and never calls requireNativeModule() outside a real RN
|
|
4
|
+
// runtime. Metro still picks index.ios.ts/index.android.ts per real platform at bundle time.
|
|
5
|
+
export { exponentLightSensor } from './index.ios';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/native/exponent-light-sensor/index.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,4FAA4F;AAC5F,4FAA4F;AAC5F,6FAA6F;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { requireNativeModule } from 'expo-modules-core';
|
|
2
|
+
const EXPONENT_MAGNETOMETER_UNCALIBRATED_MODULE_NAME = 'ExponentMagnetometerUncalibrated';
|
|
3
|
+
export const exponentMagnetometerUncalibrated = requireNativeModule(EXPONENT_MAGNETOMETER_UNCALIBRATED_MODULE_NAME);
|
|
4
|
+
//# sourceMappingURL=exponent-magnetometer-uncalibrated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exponent-magnetometer-uncalibrated.js","sourceRoot":"","sources":["../../../src/core/native/exponent-magnetometer-uncalibrated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,MAAM,8CAA8C,GAAG,kCAAkC,CAAC;AAE1F,MAAM,CAAC,MAAM,gCAAgC,GAAG,mBAAmB,CAEjE,8CAA8C,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exponent-magnetometer.js","sourceRoot":"","sources":["../../../src/core/native/exponent-magnetometer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,MAAM,iCAAiC,GAAG,sBAAsB,CAAC;AAEjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAErD,iCAAiC,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { EventSubscription, PermissionResponse } from 'expo-modules-core';
|
|
2
|
+
import type { IPedometerResult } from '../pedometer';
|
|
3
|
+
export type IExponentPedometerModule = {
|
|
4
|
+
addListener(eventName: string, listener: (result: IPedometerResult) => void): EventSubscription;
|
|
5
|
+
getStepCountAsync?(startMs: number, endMs: number): Promise<IPedometerResult>;
|
|
6
|
+
isAvailableAsync(): Promise<boolean>;
|
|
7
|
+
getPermissionsAsync?(): Promise<PermissionResponse>;
|
|
8
|
+
requestPermissionsAsync?(): Promise<PermissionResponse>;
|
|
9
|
+
};
|
|
10
|
+
export declare const exponentPedometer: IExponentPedometerModule;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exponent-pedometer.js","sourceRoot":"","sources":["../../../src/core/native/exponent-pedometer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,MAAM,8BAA8B,GAAG,mBAAmB,CAAC;AAU3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAClD,8BAA8B,CAC/B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type EventSubscription, type PermissionResponse } from 'expo-modules-core';
|
|
2
|
+
export type IPedometerResult = {
|
|
3
|
+
steps: number;
|
|
4
|
+
};
|
|
5
|
+
export type IPedometerUpdateCallback = (result: IPedometerResult) => void;
|
|
6
|
+
export declare function watchStepCount(callback: IPedometerUpdateCallback): EventSubscription;
|
|
7
|
+
export declare function getStepCountAsync(start: Date, end: Date): Promise<IPedometerResult>;
|
|
8
|
+
export declare function isAvailableAsync(): Promise<boolean>;
|
|
9
|
+
export declare function getPermissionsAsync(): Promise<PermissionResponse>;
|
|
10
|
+
export declare function requestPermissionsAsync(): Promise<PermissionResponse>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Pedometer's upstream API (.vendors/expo/packages/expo-sensors/src/Pedometer.ts) is a set of
|
|
2
|
+
// free functions, not a class — unlike every other sensor here it has no shared instance to hang
|
|
3
|
+
// addListener/removeAllListeners/setUpdateInterval off, so it intentionally does NOT extend
|
|
4
|
+
// DeviceSensor (see device-sensor.ts for that shared shape).
|
|
5
|
+
import { PermissionStatus, UnavailabilityError, } from 'expo-modules-core';
|
|
6
|
+
import { exponentPedometer } from './native/exponent-pedometer';
|
|
7
|
+
// Upstream event name — the only sensor event in this package carrying a dot, because it is
|
|
8
|
+
// Exponent's original (pre-Expo-rename) native module identifier.
|
|
9
|
+
const PEDOMETER_UPDATE_EVENT_NAME = 'Exponent.pedometerUpdate';
|
|
10
|
+
const DEFAULT_PERMISSION_RESPONSE = {
|
|
11
|
+
granted: true,
|
|
12
|
+
expires: 'never',
|
|
13
|
+
canAskAgain: true,
|
|
14
|
+
status: PermissionStatus.GRANTED,
|
|
15
|
+
};
|
|
16
|
+
export function watchStepCount(callback) {
|
|
17
|
+
return exponentPedometer.addListener(PEDOMETER_UPDATE_EVENT_NAME, callback);
|
|
18
|
+
}
|
|
19
|
+
// iOS only in practice (Android has no native getStepCountAsync) — proven by the same
|
|
20
|
+
// optional-native-method check upstream uses, not a Platform.OS branch.
|
|
21
|
+
export async function getStepCountAsync(start, end) {
|
|
22
|
+
if (!exponentPedometer.getStepCountAsync) {
|
|
23
|
+
throw new UnavailabilityError('ExponentPedometer', 'getStepCountAsync');
|
|
24
|
+
}
|
|
25
|
+
if (start > end) {
|
|
26
|
+
throw new Error('Pedometer: the start date must precede the end date.');
|
|
27
|
+
}
|
|
28
|
+
return exponentPedometer.getStepCountAsync(start.getTime(), end.getTime());
|
|
29
|
+
}
|
|
30
|
+
export async function isAvailableAsync() {
|
|
31
|
+
return exponentPedometer.isAvailableAsync();
|
|
32
|
+
}
|
|
33
|
+
export async function getPermissionsAsync() {
|
|
34
|
+
if (!exponentPedometer.getPermissionsAsync) {
|
|
35
|
+
return DEFAULT_PERMISSION_RESPONSE;
|
|
36
|
+
}
|
|
37
|
+
return exponentPedometer.getPermissionsAsync();
|
|
38
|
+
}
|
|
39
|
+
export async function requestPermissionsAsync() {
|
|
40
|
+
if (!exponentPedometer.requestPermissionsAsync) {
|
|
41
|
+
return DEFAULT_PERMISSION_RESPONSE;
|
|
42
|
+
}
|
|
43
|
+
return exponentPedometer.requestPermissionsAsync();
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=pedometer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pedometer.js","sourceRoot":"","sources":["../../src/core/pedometer.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,iGAAiG;AACjG,4FAA4F;AAC5F,6DAA6D;AAC7D,OAAO,EACL,gBAAgB,EAChB,mBAAmB,GAGpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAQhE,4FAA4F;AAC5F,kEAAkE;AAClE,MAAM,2BAA2B,GAAG,0BAA0B,CAAC;AAE/D,MAAM,2BAA2B,GAAuB;IACtD,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,gBAAgB,CAAC,OAAO;CACjC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,QAAkC;IAC/D,OAAO,iBAAiB,CAAC,WAAW,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAED,sFAAsF;AACtF,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAW,EAAE,GAAS;IAC5D,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;QACzC,MAAM,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;QAC3C,OAAO,2BAA2B,CAAC;IACrC,CAAC;IACD,OAAO,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,CAAC;QAC/C,OAAO,2BAA2B,CAAC;IACrC,CAAC;IACD,OAAO,iBAAiB,CAAC,uBAAuB,EAAE,CAAC;AACrD,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@symbiote-native/sensors",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "expo-sensors wrapped for SymbioteNative — one framework-agnostic core, built once and reachable from the React, Vue, and Angular adapters. Accelerometer, Barometer, DeviceMotion, Gyroscope, LightSensor, Magnetometer, MagnetometerUncalibrated, Pedometer.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/OneEyed1366/symbiote-native.git",
|
|
9
|
+
"directory": "packages/sensors"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/OneEyed1366/symbiote-native/tree/master/packages/sensors#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/OneEyed1366/symbiote-native/issues"
|
|
14
|
+
},
|
|
15
|
+
"author": "Andrey Prokopenko <psevdoproger@gmail.com>",
|
|
16
|
+
"type": "module",
|
|
17
|
+
"main": "./build/core/index.js",
|
|
18
|
+
"module": "./build/core/index.js",
|
|
19
|
+
"types": "./build/core/index.d.ts",
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"types": "./build/core/index.d.ts",
|
|
23
|
+
"default": "./build/core/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./vue": {
|
|
26
|
+
"types": "./build/vue/index.d.ts",
|
|
27
|
+
"default": "./build/vue/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./react": {
|
|
30
|
+
"types": "./build/react/index.d.ts",
|
|
31
|
+
"default": "./build/react/index.js"
|
|
32
|
+
},
|
|
33
|
+
"./angular": {
|
|
34
|
+
"types": "./build-ngc/angular/index.d.ts",
|
|
35
|
+
"react-native": "./build-ngc/angular/index.js",
|
|
36
|
+
"default": "./src/angular/index.ts"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"files": [
|
|
40
|
+
"src",
|
|
41
|
+
"build",
|
|
42
|
+
"build-ngc"
|
|
43
|
+
],
|
|
44
|
+
"publishConfig": {
|
|
45
|
+
"access": "public"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"expo-sensors": "57.0.2",
|
|
49
|
+
"expo-modules-core": "57.0.5"
|
|
50
|
+
},
|
|
51
|
+
"peerDependencies": {
|
|
52
|
+
"@symbiote-native/engine": ">=0.1.7",
|
|
53
|
+
"@angular/core": ">=20",
|
|
54
|
+
"@vue/runtime-core": "^3.5.13",
|
|
55
|
+
"react": ">=19.0.0",
|
|
56
|
+
"react-native": ">=0.86",
|
|
57
|
+
"vue": ">=3.5.0",
|
|
58
|
+
"@symbiote-native/angular": "0.6.1",
|
|
59
|
+
"@symbiote-native/react": "0.2.8",
|
|
60
|
+
"@symbiote-native/vue": "0.3.8"
|
|
61
|
+
},
|
|
62
|
+
"peerDependenciesMeta": {
|
|
63
|
+
"@symbiote-native/angular": {
|
|
64
|
+
"optional": true
|
|
65
|
+
},
|
|
66
|
+
"@symbiote-native/react": {
|
|
67
|
+
"optional": true
|
|
68
|
+
},
|
|
69
|
+
"@symbiote-native/vue": {
|
|
70
|
+
"optional": true
|
|
71
|
+
},
|
|
72
|
+
"@angular/core": {
|
|
73
|
+
"optional": true
|
|
74
|
+
},
|
|
75
|
+
"@vue/runtime-core": {
|
|
76
|
+
"optional": true
|
|
77
|
+
},
|
|
78
|
+
"react": {
|
|
79
|
+
"optional": true
|
|
80
|
+
},
|
|
81
|
+
"vue": {
|
|
82
|
+
"optional": true
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"devDependencies": {
|
|
86
|
+
"@angular/compiler": "^22",
|
|
87
|
+
"@angular/compiler-cli": "^22",
|
|
88
|
+
"@angular/core": "^22",
|
|
89
|
+
"@types/node": "^26.0.0",
|
|
90
|
+
"@types/react": "^19.2.0",
|
|
91
|
+
"@vue/runtime-core": "^3.5.13",
|
|
92
|
+
"react": "19.2.3",
|
|
93
|
+
"typescript": "~6.0.0",
|
|
94
|
+
"@symbiote-native/angular": "0.6.1",
|
|
95
|
+
"@symbiote-native/vue": "0.3.8",
|
|
96
|
+
"@symbiote-native/test-utils": "0.1.6",
|
|
97
|
+
"@symbiote-native/engine": "0.1.7",
|
|
98
|
+
"@symbiote-native/react": "0.2.8"
|
|
99
|
+
},
|
|
100
|
+
"scripts": {
|
|
101
|
+
"typecheck": "tsc --build",
|
|
102
|
+
"clean": "rm -rf build-ngc",
|
|
103
|
+
"ng:build": "pnpm run clean && ngc -p tsconfig.angular.json",
|
|
104
|
+
"format": "prettier --write \"src/**/*.{ts,tsx}\""
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// AccelerometerService is the Angular-only lifecycle half; the sensor singleton and event
|
|
2
|
+
// subscription plumbing all live in core, shared with React/Vue.
|
|
3
|
+
export { AccelerometerService } from './services/accelerometer.service';
|
|
4
|
+
export type { IAccelerometerMeasurement } from '../core';
|
|
5
|
+
export { BarometerService } from './services/barometer.service';
|
|
6
|
+
export type { IBarometerMeasurement } from '../core';
|
|
7
|
+
export { DeviceMotionService } from './services/device-motion.service';
|
|
8
|
+
export { DeviceMotionOrientation, gravity, type IDeviceMotionMeasurement } from '../core';
|
|
9
|
+
export { GyroscopeService } from './services/gyroscope.service';
|
|
10
|
+
export type { IGyroscopeMeasurement } from '../core';
|
|
11
|
+
export { LightSensorService } from './services/light-sensor.service';
|
|
12
|
+
export type { ILightSensorMeasurement } from '../core';
|
|
13
|
+
export { MagnetometerService } from './services/magnetometer.service';
|
|
14
|
+
export type { IMagnetometerMeasurement } from '../core';
|
|
15
|
+
export { MagnetometerUncalibratedService } from './services/magnetometer-uncalibrated.service';
|
|
16
|
+
export type { IMagnetometerUncalibratedMeasurement } from '../core';
|
|
17
|
+
export { PedometerService } from './services/pedometer.service';
|
|
18
|
+
export {
|
|
19
|
+
watchStepCount,
|
|
20
|
+
getStepCountAsync,
|
|
21
|
+
isAvailableAsync,
|
|
22
|
+
getPermissionsAsync,
|
|
23
|
+
requestPermissionsAsync,
|
|
24
|
+
type IPedometerResult,
|
|
25
|
+
type IPedometerUpdateCallback,
|
|
26
|
+
} from '../core';
|