react-native-nitro-geolocation 1.2.5 → 1.3.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.
Files changed (223) hide show
  1. package/README.md +55 -278
  2. package/android/build.gradle +1 -0
  3. package/android/src/main/AndroidManifest.xml +39 -0
  4. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidFusedLocationProvider.kt +310 -0
  5. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidFusedRequestFactory.kt +31 -0
  6. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidGeolocationConversions.kt +71 -0
  7. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidGeolocationErrors.kt +85 -0
  8. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidGeolocationOptions.kt +92 -0
  9. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidLocationSettings.kt +3 -0
  10. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidProviderRoute.kt +74 -0
  11. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/NitroBackgroundLocation.kt +132 -0
  12. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/NitroGeolocation.kt +219 -476
  13. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/AndroidBackgroundHttpSync.kt +134 -0
  14. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/AndroidBackgroundPermissions.kt +196 -0
  15. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/AndroidBackgroundSerialization.kt +266 -0
  16. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroActivityRecognitionReceiver.kt +13 -0
  17. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundEventHub.kt +65 -0
  18. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundHeadlessTaskService.kt +58 -0
  19. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundLocationController.kt +710 -0
  20. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundLocationService.kt +48 -0
  21. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundNotificationFactory.kt +37 -0
  22. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundStore.kt +655 -0
  23. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBootReceiver.kt +26 -0
  24. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroGeofenceReceiver.kt +14 -0
  25. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroLocationUpdateReceiver.kt +37 -0
  26. package/android/src/test/java/com/margelo/nitro/nitrogeolocation/AndroidFusedLocationProviderTest.kt +64 -0
  27. package/android/src/test/java/com/margelo/nitro/nitrogeolocation/AndroidProviderRouteTest.kt +116 -0
  28. package/ios/IOSBackgroundHttpSync.swift +126 -0
  29. package/ios/IOSBackgroundLocationDelegate.swift +36 -0
  30. package/ios/IOSBackgroundMotion.swift +55 -0
  31. package/ios/IOSBackgroundSerialization.swift +539 -0
  32. package/ios/IOSGeolocationConversions.swift +131 -0
  33. package/ios/IOSGeolocationDelegate.swift +31 -0
  34. package/ios/IOSGeolocationErrors.swift +39 -0
  35. package/ios/IOSGeolocationOptions.swift +135 -0
  36. package/ios/NitroBackgroundLocation.swift +849 -0
  37. package/ios/NitroGeolocation.swift +14 -347
  38. package/nitrogen/generated/android/c++/JActivityRecognitionOptions.hpp +69 -0
  39. package/nitrogen/generated/android/c++/JAndroidBackgroundLocationOptions.hpp +74 -0
  40. package/nitrogen/generated/android/c++/JAndroidBackgroundLocationStatus.hpp +67 -0
  41. package/nitrogen/generated/android/c++/JAndroidBackgroundProvider.hpp +61 -0
  42. package/nitrogen/generated/android/c++/JAndroidForegroundServiceOptions.hpp +90 -0
  43. package/nitrogen/generated/android/c++/JBackgroundEventEnvelope.hpp +129 -0
  44. package/nitrogen/generated/android/c++/JBackgroundEventType.hpp +70 -0
  45. package/nitrogen/generated/android/c++/JBackgroundHttpMethod.hpp +61 -0
  46. package/nitrogen/generated/android/c++/JBackgroundHttpSyncOptions.hpp +131 -0
  47. package/nitrogen/generated/android/c++/JBackgroundHttpSyncResult.hpp +111 -0
  48. package/nitrogen/generated/android/c++/JBackgroundLocation.hpp +110 -0
  49. package/nitrogen/generated/android/c++/JBackgroundLocationOptions.hpp +162 -0
  50. package/nitrogen/generated/android/c++/JBackgroundLocationSource.hpp +73 -0
  51. package/nitrogen/generated/android/c++/JBackgroundLocationState.hpp +70 -0
  52. package/nitrogen/generated/android/c++/JBackgroundLocationStatus.hpp +126 -0
  53. package/nitrogen/generated/android/c++/JBackgroundPermissionResult.hpp +79 -0
  54. package/nitrogen/generated/android/c++/JBackgroundPermissionStatus.hpp +64 -0
  55. package/nitrogen/generated/android/c++/JBackgroundTrackingMode.hpp +61 -0
  56. package/nitrogen/generated/android/c++/JBatterySnapshot.hpp +61 -0
  57. package/nitrogen/generated/android/c++/JDetectedActivity.hpp +66 -0
  58. package/nitrogen/generated/android/c++/JDetectedActivityType.hpp +76 -0
  59. package/nitrogen/generated/android/c++/JFunc_void_BackgroundEventEnvelope.hpp +114 -0
  60. package/nitrogen/generated/android/c++/JFunc_void_BackgroundLocation.hpp +95 -0
  61. package/nitrogen/generated/android/c++/JGeofenceEvent.hpp +94 -0
  62. package/nitrogen/generated/android/c++/JGeofenceRegion.hpp +112 -0
  63. package/nitrogen/generated/android/c++/JGeofenceTransition.hpp +61 -0
  64. package/nitrogen/generated/android/c++/JGeofencingOptions.hpp +82 -0
  65. package/nitrogen/generated/android/c++/JGetStoredBackgroundEventsOptions.hpp +90 -0
  66. package/nitrogen/generated/android/c++/JGetStoredBackgroundLocationsOptions.hpp +69 -0
  67. package/nitrogen/generated/android/c++/JHybridNitroBackgroundLocationSpec.cpp +662 -0
  68. package/nitrogen/generated/android/c++/JHybridNitroBackgroundLocationSpec.hpp +89 -0
  69. package/nitrogen/generated/android/c++/JIOSBackgroundActivityType.hpp +67 -0
  70. package/nitrogen/generated/android/c++/JIOSBackgroundLocationOptions.hpp +79 -0
  71. package/nitrogen/generated/android/c++/JIOSBackgroundLocationStatus.hpp +61 -0
  72. package/nitrogen/generated/android/c++/JLocationProviderStatus.hpp +5 -1
  73. package/nitrogen/generated/android/c++/JStoredBackgroundEventEnvelope.hpp +115 -0
  74. package/nitrogen/generated/android/c++/JStoredBackgroundLocation.hpp +122 -0
  75. package/nitrogen/generated/android/c++/JVariant_NullType_Boolean_String_Double.cpp +34 -0
  76. package/nitrogen/generated/android/c++/JVariant_NullType_Boolean_String_Double.hpp +100 -0
  77. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/ActivityRecognitionOptions.kt +66 -0
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidBackgroundLocationOptions.kt +66 -0
  79. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidBackgroundLocationStatus.kt +61 -0
  80. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidBackgroundProvider.kt +24 -0
  81. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidForegroundServiceOptions.kt +91 -0
  82. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundEventEnvelope.kt +96 -0
  83. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundEventType.kt +27 -0
  84. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundHttpMethod.kt +24 -0
  85. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundHttpSyncOptions.kt +101 -0
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundHttpSyncResult.kt +71 -0
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocation.kt +96 -0
  88. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocationOptions.kt +136 -0
  89. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocationSource.kt +28 -0
  90. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocationState.kt +27 -0
  91. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocationStatus.kt +116 -0
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundPermissionResult.kt +71 -0
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundPermissionStatus.kt +25 -0
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundTrackingMode.kt +24 -0
  95. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BatterySnapshot.kt +56 -0
  96. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/DetectedActivity.kt +61 -0
  97. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/DetectedActivityType.kt +29 -0
  98. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_BackgroundEventEnvelope.kt +80 -0
  99. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_BackgroundLocation.kt +80 -0
  100. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeofenceEvent.kt +66 -0
  101. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeofenceRegion.kt +96 -0
  102. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeofenceTransition.kt +24 -0
  103. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeofencingOptions.kt +56 -0
  104. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GetStoredBackgroundEventsOptions.kt +66 -0
  105. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GetStoredBackgroundLocationsOptions.kt +66 -0
  106. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/HybridNitroBackgroundLocationSpec.kt +174 -0
  107. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/IOSBackgroundActivityType.kt +26 -0
  108. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/IOSBackgroundLocationOptions.kt +76 -0
  109. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/IOSBackgroundLocationStatus.kt +56 -0
  110. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationProviderStatus.kt +7 -2
  111. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/StoredBackgroundEventEnvelope.kt +76 -0
  112. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/StoredBackgroundLocation.kt +111 -0
  113. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Variant_NullType_Boolean_String_Double.kt +88 -0
  114. package/nitrogen/generated/android/nitrogeolocation+autolinking.cmake +3 -0
  115. package/nitrogen/generated/android/nitrogeolocationOnLoad.cpp +20 -0
  116. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.cpp +104 -15
  117. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.hpp +1107 -50
  118. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Umbrella.hpp +102 -0
  119. package/nitrogen/generated/ios/NitroGeolocationAutolinking.mm +8 -0
  120. package/nitrogen/generated/ios/NitroGeolocationAutolinking.swift +15 -3
  121. package/nitrogen/generated/ios/c++/HybridNitroBackgroundLocationSpecSwift.cpp +11 -0
  122. package/nitrogen/generated/ios/c++/HybridNitroBackgroundLocationSpecSwift.hpp +416 -0
  123. package/nitrogen/generated/ios/swift/ActivityRecognitionOptions.swift +96 -0
  124. package/nitrogen/generated/ios/swift/AndroidBackgroundLocationOptions.swift +76 -0
  125. package/nitrogen/generated/ios/swift/AndroidBackgroundLocationStatus.swift +58 -0
  126. package/nitrogen/generated/ios/swift/AndroidBackgroundProvider.swift +44 -0
  127. package/nitrogen/generated/ios/swift/AndroidForegroundServiceOptions.swift +160 -0
  128. package/nitrogen/generated/ios/swift/BackgroundEventEnvelope.swift +110 -0
  129. package/nitrogen/generated/ios/swift/BackgroundEventType.swift +56 -0
  130. package/nitrogen/generated/ios/swift/BackgroundHttpMethod.swift +44 -0
  131. package/nitrogen/generated/ios/swift/BackgroundHttpSyncOptions.swift +259 -0
  132. package/nitrogen/generated/ios/swift/BackgroundHttpSyncResult.swift +87 -0
  133. package/nitrogen/generated/ios/swift/BackgroundLocation.swift +118 -0
  134. package/nitrogen/generated/ios/swift/BackgroundLocationOptions.swift +292 -0
  135. package/nitrogen/generated/ios/swift/BackgroundLocationSource.swift +60 -0
  136. package/nitrogen/generated/ios/swift/BackgroundLocationState.swift +56 -0
  137. package/nitrogen/generated/ios/swift/BackgroundLocationStatus.swift +124 -0
  138. package/nitrogen/generated/ios/swift/BackgroundPermissionResult.swift +81 -0
  139. package/nitrogen/generated/ios/swift/BackgroundPermissionStatus.swift +48 -0
  140. package/nitrogen/generated/ios/swift/BackgroundTrackingMode.swift +44 -0
  141. package/nitrogen/generated/ios/swift/BatterySnapshot.swift +60 -0
  142. package/nitrogen/generated/ios/swift/DetectedActivity.swift +39 -0
  143. package/nitrogen/generated/ios/swift/DetectedActivityType.swift +64 -0
  144. package/nitrogen/generated/ios/swift/Func_void_BackgroundEventEnvelope.swift +46 -0
  145. package/nitrogen/generated/ios/swift/Func_void_BackgroundHttpSyncResult.swift +46 -0
  146. package/nitrogen/generated/ios/swift/Func_void_BackgroundLocation.swift +46 -0
  147. package/nitrogen/generated/ios/swift/Func_void_BackgroundLocationStatus.swift +46 -0
  148. package/nitrogen/generated/ios/swift/Func_void_BackgroundPermissionResult.swift +46 -0
  149. package/nitrogen/generated/ios/swift/Func_void_std__optional_BackgroundLocationOptions_.swift +46 -0
  150. package/nitrogen/generated/ios/swift/Func_void_std__vector_GeofenceRegion_.swift +46 -0
  151. package/nitrogen/generated/ios/swift/Func_void_std__vector_StoredBackgroundEventEnvelope_.swift +46 -0
  152. package/nitrogen/generated/ios/swift/Func_void_std__vector_StoredBackgroundLocation_.swift +46 -0
  153. package/nitrogen/generated/ios/swift/GeofenceEvent.swift +50 -0
  154. package/nitrogen/generated/ios/swift/GeofenceRegion.swift +195 -0
  155. package/nitrogen/generated/ios/swift/GeofenceTransition.swift +44 -0
  156. package/nitrogen/generated/ios/swift/GeofencingOptions.swift +66 -0
  157. package/nitrogen/generated/ios/swift/GetStoredBackgroundEventsOptions.swift +102 -0
  158. package/nitrogen/generated/ios/swift/GetStoredBackgroundLocationsOptions.swift +96 -0
  159. package/nitrogen/generated/ios/swift/HybridNitroBackgroundLocationSpec.swift +81 -0
  160. package/nitrogen/generated/ios/swift/HybridNitroBackgroundLocationSpec_cxx.swift +654 -0
  161. package/nitrogen/generated/ios/swift/IOSBackgroundActivityType.swift +52 -0
  162. package/nitrogen/generated/ios/swift/IOSBackgroundLocationOptions.swift +125 -0
  163. package/nitrogen/generated/ios/swift/IOSBackgroundLocationStatus.swift +34 -0
  164. package/nitrogen/generated/ios/swift/LocationProviderStatus.swift +19 -1
  165. package/nitrogen/generated/ios/swift/StoredBackgroundEventEnvelope.swift +54 -0
  166. package/nitrogen/generated/ios/swift/StoredBackgroundLocation.swift +120 -0
  167. package/nitrogen/generated/ios/swift/Variant_NullType_Bool_String_Double.swift +34 -0
  168. package/nitrogen/generated/shared/c++/ActivityRecognitionOptions.hpp +95 -0
  169. package/nitrogen/generated/shared/c++/AndroidBackgroundLocationOptions.hpp +100 -0
  170. package/nitrogen/generated/shared/c++/AndroidBackgroundLocationStatus.hpp +93 -0
  171. package/nitrogen/generated/shared/c++/AndroidBackgroundProvider.hpp +80 -0
  172. package/nitrogen/generated/shared/c++/AndroidForegroundServiceOptions.hpp +116 -0
  173. package/nitrogen/generated/shared/c++/BackgroundEventEnvelope.hpp +140 -0
  174. package/nitrogen/generated/shared/c++/BackgroundEventType.hpp +92 -0
  175. package/nitrogen/generated/shared/c++/BackgroundHttpMethod.hpp +80 -0
  176. package/nitrogen/generated/shared/c++/BackgroundHttpSyncOptions.hpp +129 -0
  177. package/nitrogen/generated/shared/c++/BackgroundHttpSyncResult.hpp +101 -0
  178. package/nitrogen/generated/shared/c++/BackgroundLocation.hpp +134 -0
  179. package/nitrogen/generated/shared/c++/BackgroundLocationOptions.hpp +174 -0
  180. package/nitrogen/generated/shared/c++/BackgroundLocationSource.hpp +96 -0
  181. package/nitrogen/generated/shared/c++/BackgroundLocationState.hpp +92 -0
  182. package/nitrogen/generated/shared/c++/BackgroundLocationStatus.hpp +158 -0
  183. package/nitrogen/generated/shared/c++/BackgroundPermissionResult.hpp +107 -0
  184. package/nitrogen/generated/shared/c++/BackgroundPermissionStatus.hpp +84 -0
  185. package/nitrogen/generated/shared/c++/BackgroundTrackingMode.hpp +80 -0
  186. package/nitrogen/generated/shared/c++/BatterySnapshot.hpp +87 -0
  187. package/nitrogen/generated/shared/c++/DetectedActivity.hpp +92 -0
  188. package/nitrogen/generated/shared/c++/DetectedActivityType.hpp +100 -0
  189. package/nitrogen/generated/shared/c++/GeofenceEvent.hpp +103 -0
  190. package/nitrogen/generated/shared/c++/GeofenceRegion.hpp +123 -0
  191. package/nitrogen/generated/shared/c++/GeofenceTransition.hpp +80 -0
  192. package/nitrogen/generated/shared/c++/GeofencingOptions.hpp +90 -0
  193. package/nitrogen/generated/shared/c++/GetStoredBackgroundEventsOptions.hpp +98 -0
  194. package/nitrogen/generated/shared/c++/GetStoredBackgroundLocationsOptions.hpp +95 -0
  195. package/nitrogen/generated/shared/c++/HybridNitroBackgroundLocationSpec.cpp +47 -0
  196. package/nitrogen/generated/shared/c++/HybridNitroBackgroundLocationSpec.hpp +133 -0
  197. package/nitrogen/generated/shared/c++/IOSBackgroundActivityType.hpp +88 -0
  198. package/nitrogen/generated/shared/c++/IOSBackgroundLocationOptions.hpp +105 -0
  199. package/nitrogen/generated/shared/c++/IOSBackgroundLocationStatus.hpp +87 -0
  200. package/nitrogen/generated/shared/c++/LocationProviderStatus.hpp +5 -1
  201. package/nitrogen/generated/shared/c++/StoredBackgroundEventEnvelope.hpp +108 -0
  202. package/nitrogen/generated/shared/c++/StoredBackgroundLocation.hpp +146 -0
  203. package/package.json +17 -6
  204. package/src/NitroGeolocation.nitro.ts +4 -4
  205. package/src/api/getCurrentPosition.ts +1 -1
  206. package/src/api/requestLocationSettings.ts +3 -2
  207. package/src/background/NitroBackgroundLocation.nitro.ts +83 -0
  208. package/src/background/index.ts +200 -0
  209. package/src/background/index.web.ts +120 -0
  210. package/src/background/task.ts +13 -0
  211. package/src/background/types.ts +328 -0
  212. package/src/compat/index.web.ts +141 -0
  213. package/src/index.tsx +3 -0
  214. package/src/index.web.tsx +41 -0
  215. package/src/publicTypes.ts +6 -5
  216. package/src/types.ts +3 -0
  217. package/src/web/browser.ts +171 -0
  218. package/src/web/index.ts +167 -0
  219. package/src/web/useWatchPosition.ts +76 -0
  220. package/src/web/watch.ts +81 -0
  221. package/src/devtools/index.test.ts +0 -54
  222. package/src/utils/errors.test.ts +0 -65
  223. package/src/utils/provider.test.ts +0 -303
@@ -0,0 +1,52 @@
1
+ ///
2
+ /// IOSBackgroundActivityType.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ /**
9
+ * Represents the JS union `IOSBackgroundActivityType`, backed by a C++ enum.
10
+ */
11
+ public typealias IOSBackgroundActivityType = margelo.nitro.nitrogeolocation.IOSBackgroundActivityType
12
+
13
+ public extension IOSBackgroundActivityType {
14
+ /**
15
+ * Get a IOSBackgroundActivityType for the given String value, or
16
+ * return `nil` if the given value was invalid/unknown.
17
+ */
18
+ init?(fromString string: String) {
19
+ switch string {
20
+ case "other":
21
+ self = .other
22
+ case "automotiveNavigation":
23
+ self = .automotivenavigation
24
+ case "fitness":
25
+ self = .fitness
26
+ case "otherNavigation":
27
+ self = .othernavigation
28
+ case "airborne":
29
+ self = .airborne
30
+ default:
31
+ return nil
32
+ }
33
+ }
34
+
35
+ /**
36
+ * Get the String value this IOSBackgroundActivityType represents.
37
+ */
38
+ var stringValue: String {
39
+ switch self {
40
+ case .other:
41
+ return "other"
42
+ case .automotivenavigation:
43
+ return "automotiveNavigation"
44
+ case .fitness:
45
+ return "fitness"
46
+ case .othernavigation:
47
+ return "otherNavigation"
48
+ case .airborne:
49
+ return "airborne"
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,125 @@
1
+ ///
2
+ /// IOSBackgroundLocationOptions.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * Represents an instance of `IOSBackgroundLocationOptions`, backed by a C++ struct.
12
+ */
13
+ public typealias IOSBackgroundLocationOptions = margelo.nitro.nitrogeolocation.IOSBackgroundLocationOptions
14
+
15
+ public extension IOSBackgroundLocationOptions {
16
+ private typealias bridge = margelo.nitro.nitrogeolocation.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `IOSBackgroundLocationOptions`.
20
+ */
21
+ init(activityType: IOSBackgroundActivityType?, pausesLocationUpdatesAutomatically: Bool?, showsBackgroundLocationIndicator: Bool?, useSignificantChanges: Bool?, deferredUpdatesDistance: Double?, deferredUpdatesInterval: Double?) {
22
+ self.init({ () -> bridge.std__optional_IOSBackgroundActivityType_ in
23
+ if let __unwrappedValue = activityType {
24
+ return bridge.create_std__optional_IOSBackgroundActivityType_(__unwrappedValue)
25
+ } else {
26
+ return .init()
27
+ }
28
+ }(), { () -> bridge.std__optional_bool_ in
29
+ if let __unwrappedValue = pausesLocationUpdatesAutomatically {
30
+ return bridge.create_std__optional_bool_(__unwrappedValue)
31
+ } else {
32
+ return .init()
33
+ }
34
+ }(), { () -> bridge.std__optional_bool_ in
35
+ if let __unwrappedValue = showsBackgroundLocationIndicator {
36
+ return bridge.create_std__optional_bool_(__unwrappedValue)
37
+ } else {
38
+ return .init()
39
+ }
40
+ }(), { () -> bridge.std__optional_bool_ in
41
+ if let __unwrappedValue = useSignificantChanges {
42
+ return bridge.create_std__optional_bool_(__unwrappedValue)
43
+ } else {
44
+ return .init()
45
+ }
46
+ }(), { () -> bridge.std__optional_double_ in
47
+ if let __unwrappedValue = deferredUpdatesDistance {
48
+ return bridge.create_std__optional_double_(__unwrappedValue)
49
+ } else {
50
+ return .init()
51
+ }
52
+ }(), { () -> bridge.std__optional_double_ in
53
+ if let __unwrappedValue = deferredUpdatesInterval {
54
+ return bridge.create_std__optional_double_(__unwrappedValue)
55
+ } else {
56
+ return .init()
57
+ }
58
+ }())
59
+ }
60
+
61
+ @inline(__always)
62
+ var activityType: IOSBackgroundActivityType? {
63
+ return self.__activityType.value
64
+ }
65
+
66
+ @inline(__always)
67
+ var pausesLocationUpdatesAutomatically: Bool? {
68
+ return { () -> Bool? in
69
+ if bridge.has_value_std__optional_bool_(self.__pausesLocationUpdatesAutomatically) {
70
+ let __unwrapped = bridge.get_std__optional_bool_(self.__pausesLocationUpdatesAutomatically)
71
+ return __unwrapped
72
+ } else {
73
+ return nil
74
+ }
75
+ }()
76
+ }
77
+
78
+ @inline(__always)
79
+ var showsBackgroundLocationIndicator: Bool? {
80
+ return { () -> Bool? in
81
+ if bridge.has_value_std__optional_bool_(self.__showsBackgroundLocationIndicator) {
82
+ let __unwrapped = bridge.get_std__optional_bool_(self.__showsBackgroundLocationIndicator)
83
+ return __unwrapped
84
+ } else {
85
+ return nil
86
+ }
87
+ }()
88
+ }
89
+
90
+ @inline(__always)
91
+ var useSignificantChanges: Bool? {
92
+ return { () -> Bool? in
93
+ if bridge.has_value_std__optional_bool_(self.__useSignificantChanges) {
94
+ let __unwrapped = bridge.get_std__optional_bool_(self.__useSignificantChanges)
95
+ return __unwrapped
96
+ } else {
97
+ return nil
98
+ }
99
+ }()
100
+ }
101
+
102
+ @inline(__always)
103
+ var deferredUpdatesDistance: Double? {
104
+ return { () -> Double? in
105
+ if bridge.has_value_std__optional_double_(self.__deferredUpdatesDistance) {
106
+ let __unwrapped = bridge.get_std__optional_double_(self.__deferredUpdatesDistance)
107
+ return __unwrapped
108
+ } else {
109
+ return nil
110
+ }
111
+ }()
112
+ }
113
+
114
+ @inline(__always)
115
+ var deferredUpdatesInterval: Double? {
116
+ return { () -> Double? in
117
+ if bridge.has_value_std__optional_double_(self.__deferredUpdatesInterval) {
118
+ let __unwrapped = bridge.get_std__optional_double_(self.__deferredUpdatesInterval)
119
+ return __unwrapped
120
+ } else {
121
+ return nil
122
+ }
123
+ }()
124
+ }
125
+ }
@@ -0,0 +1,34 @@
1
+ ///
2
+ /// IOSBackgroundLocationStatus.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * Represents an instance of `IOSBackgroundLocationStatus`, backed by a C++ struct.
12
+ */
13
+ public typealias IOSBackgroundLocationStatus = margelo.nitro.nitrogeolocation.IOSBackgroundLocationStatus
14
+
15
+ public extension IOSBackgroundLocationStatus {
16
+ private typealias bridge = margelo.nitro.nitrogeolocation.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `IOSBackgroundLocationStatus`.
20
+ */
21
+ init(allowsBackgroundLocationUpdates: Bool, significantChangesEnabled: Bool) {
22
+ self.init(allowsBackgroundLocationUpdates, significantChangesEnabled)
23
+ }
24
+
25
+ @inline(__always)
26
+ var allowsBackgroundLocationUpdates: Bool {
27
+ return self.__allowsBackgroundLocationUpdates
28
+ }
29
+
30
+ @inline(__always)
31
+ var significantChangesEnabled: Bool {
32
+ return self.__significantChangesEnabled
33
+ }
34
+ }
@@ -18,7 +18,7 @@ public extension LocationProviderStatus {
18
18
  /**
19
19
  * Create a new instance of `LocationProviderStatus`.
20
20
  */
21
- init(locationServicesEnabled: Bool, backgroundModeEnabled: Bool, gpsAvailable: Bool?, networkAvailable: Bool?, passiveAvailable: Bool?, googleLocationAccuracyEnabled: Bool?) {
21
+ init(locationServicesEnabled: Bool, backgroundModeEnabled: Bool, gpsAvailable: Bool?, networkAvailable: Bool?, passiveAvailable: Bool?, googlePlayServicesAvailable: Bool?, googleLocationAccuracyEnabled: Bool?) {
22
22
  self.init(locationServicesEnabled, backgroundModeEnabled, { () -> bridge.std__optional_bool_ in
23
23
  if let __unwrappedValue = gpsAvailable {
24
24
  return bridge.create_std__optional_bool_(__unwrappedValue)
@@ -37,6 +37,12 @@ public extension LocationProviderStatus {
37
37
  } else {
38
38
  return .init()
39
39
  }
40
+ }(), { () -> bridge.std__optional_bool_ in
41
+ if let __unwrappedValue = googlePlayServicesAvailable {
42
+ return bridge.create_std__optional_bool_(__unwrappedValue)
43
+ } else {
44
+ return .init()
45
+ }
40
46
  }(), { () -> bridge.std__optional_bool_ in
41
47
  if let __unwrappedValue = googleLocationAccuracyEnabled {
42
48
  return bridge.create_std__optional_bool_(__unwrappedValue)
@@ -91,6 +97,18 @@ public extension LocationProviderStatus {
91
97
  }
92
98
  }()
93
99
  }
100
+
101
+ @inline(__always)
102
+ var googlePlayServicesAvailable: Bool? {
103
+ return { () -> Bool? in
104
+ if bridge.has_value_std__optional_bool_(self.__googlePlayServicesAvailable) {
105
+ let __unwrapped = bridge.get_std__optional_bool_(self.__googlePlayServicesAvailable)
106
+ return __unwrapped
107
+ } else {
108
+ return nil
109
+ }
110
+ }()
111
+ }
94
112
 
95
113
  @inline(__always)
96
114
  var googleLocationAccuracyEnabled: Bool? {
@@ -0,0 +1,54 @@
1
+ ///
2
+ /// StoredBackgroundEventEnvelope.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * Represents an instance of `StoredBackgroundEventEnvelope`, backed by a C++ struct.
12
+ */
13
+ public typealias StoredBackgroundEventEnvelope = margelo.nitro.nitrogeolocation.StoredBackgroundEventEnvelope
14
+
15
+ public extension StoredBackgroundEventEnvelope {
16
+ private typealias bridge = margelo.nitro.nitrogeolocation.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `StoredBackgroundEventEnvelope`.
20
+ */
21
+ init(event: BackgroundEventEnvelope, createdAt: Double, id: String, type: BackgroundEventType, timestamp: Double, deliveredToJS: Bool) {
22
+ self.init(event, createdAt, std.string(id), type, timestamp, deliveredToJS)
23
+ }
24
+
25
+ @inline(__always)
26
+ var event: BackgroundEventEnvelope {
27
+ return self.__event
28
+ }
29
+
30
+ @inline(__always)
31
+ var createdAt: Double {
32
+ return self.__createdAt
33
+ }
34
+
35
+ @inline(__always)
36
+ var id: String {
37
+ return String(self.__id)
38
+ }
39
+
40
+ @inline(__always)
41
+ var type: BackgroundEventType {
42
+ return self.__type
43
+ }
44
+
45
+ @inline(__always)
46
+ var timestamp: Double {
47
+ return self.__timestamp
48
+ }
49
+
50
+ @inline(__always)
51
+ var deliveredToJS: Bool {
52
+ return self.__deliveredToJS
53
+ }
54
+ }
@@ -0,0 +1,120 @@
1
+ ///
2
+ /// StoredBackgroundLocation.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * Represents an instance of `StoredBackgroundLocation`, backed by a C++ struct.
12
+ */
13
+ public typealias StoredBackgroundLocation = margelo.nitro.nitrogeolocation.StoredBackgroundLocation
14
+
15
+ public extension StoredBackgroundLocation {
16
+ private typealias bridge = margelo.nitro.nitrogeolocation.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `StoredBackgroundLocation`.
20
+ */
21
+ init(id: String, deliveredToJS: Bool, synced: Bool, createdAt: Double, source: BackgroundLocationSource, isFromBackground: Bool, provider: LocationProviderUsed?, mocked: Bool?, recordedAt: Double, activity: DetectedActivity?, battery: BatterySnapshot?, coords: GeolocationCoordinates, timestamp: Double) {
22
+ self.init(std.string(id), deliveredToJS, synced, createdAt, source, isFromBackground, { () -> bridge.std__optional_LocationProviderUsed_ in
23
+ if let __unwrappedValue = provider {
24
+ return bridge.create_std__optional_LocationProviderUsed_(__unwrappedValue)
25
+ } else {
26
+ return .init()
27
+ }
28
+ }(), { () -> bridge.std__optional_bool_ in
29
+ if let __unwrappedValue = mocked {
30
+ return bridge.create_std__optional_bool_(__unwrappedValue)
31
+ } else {
32
+ return .init()
33
+ }
34
+ }(), recordedAt, { () -> bridge.std__optional_DetectedActivity_ in
35
+ if let __unwrappedValue = activity {
36
+ return bridge.create_std__optional_DetectedActivity_(__unwrappedValue)
37
+ } else {
38
+ return .init()
39
+ }
40
+ }(), { () -> bridge.std__optional_BatterySnapshot_ in
41
+ if let __unwrappedValue = battery {
42
+ return bridge.create_std__optional_BatterySnapshot_(__unwrappedValue)
43
+ } else {
44
+ return .init()
45
+ }
46
+ }(), coords, timestamp)
47
+ }
48
+
49
+ @inline(__always)
50
+ var id: String {
51
+ return String(self.__id)
52
+ }
53
+
54
+ @inline(__always)
55
+ var deliveredToJS: Bool {
56
+ return self.__deliveredToJS
57
+ }
58
+
59
+ @inline(__always)
60
+ var synced: Bool {
61
+ return self.__synced
62
+ }
63
+
64
+ @inline(__always)
65
+ var createdAt: Double {
66
+ return self.__createdAt
67
+ }
68
+
69
+ @inline(__always)
70
+ var source: BackgroundLocationSource {
71
+ return self.__source
72
+ }
73
+
74
+ @inline(__always)
75
+ var isFromBackground: Bool {
76
+ return self.__isFromBackground
77
+ }
78
+
79
+ @inline(__always)
80
+ var provider: LocationProviderUsed? {
81
+ return self.__provider.value
82
+ }
83
+
84
+ @inline(__always)
85
+ var mocked: Bool? {
86
+ return { () -> Bool? in
87
+ if bridge.has_value_std__optional_bool_(self.__mocked) {
88
+ let __unwrapped = bridge.get_std__optional_bool_(self.__mocked)
89
+ return __unwrapped
90
+ } else {
91
+ return nil
92
+ }
93
+ }()
94
+ }
95
+
96
+ @inline(__always)
97
+ var recordedAt: Double {
98
+ return self.__recordedAt
99
+ }
100
+
101
+ @inline(__always)
102
+ var activity: DetectedActivity? {
103
+ return self.__activity.value
104
+ }
105
+
106
+ @inline(__always)
107
+ var battery: BatterySnapshot? {
108
+ return self.__battery.value
109
+ }
110
+
111
+ @inline(__always)
112
+ var coords: GeolocationCoordinates {
113
+ return self.__coords
114
+ }
115
+
116
+ @inline(__always)
117
+ var timestamp: Double {
118
+ return self.__timestamp
119
+ }
120
+ }
@@ -0,0 +1,34 @@
1
+ ///
2
+ /// Variant_NullType_Bool_String_Double.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * An Swift enum with associated values representing a Variant/Union type.
12
+ * JS type: `null | boolean | string | number`
13
+ */
14
+ @frozen
15
+ public enum Variant_NullType_Bool_String_Double {
16
+ case first(NullType)
17
+ case second(Bool)
18
+ case third(String)
19
+ case fourth(Double)
20
+ }
21
+
22
+ public extension Variant_NullType_Bool_String_Double {
23
+ func asType<T>(_ type: T.Type = T.self) -> T? {
24
+ switch self {
25
+ case .first(let value): return value as? T
26
+ case .second(let value): return value as? T
27
+ case .third(let value): return value as? T
28
+ case .fourth(let value): return value as? T
29
+ }
30
+ }
31
+ func isType<T>(_ type: T.Type = T.self) -> Bool {
32
+ return self.asType(type) != nil
33
+ }
34
+ }
@@ -0,0 +1,95 @@
1
+ ///
2
+ /// ActivityRecognitionOptions.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
11
+ #include <NitroModules/JSIConverter.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
16
+ #include <NitroModules/NitroDefines.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
30
+
31
+
32
+
33
+ #include <optional>
34
+
35
+ namespace margelo::nitro::nitrogeolocation {
36
+
37
+ /**
38
+ * A struct which can be represented as a JavaScript object (ActivityRecognitionOptions).
39
+ */
40
+ struct ActivityRecognitionOptions final {
41
+ public:
42
+ std::optional<bool> enabled SWIFT_PRIVATE;
43
+ std::optional<double> interval SWIFT_PRIVATE;
44
+ std::optional<bool> stopOnStill SWIFT_PRIVATE;
45
+ std::optional<double> minimumConfidence SWIFT_PRIVATE;
46
+
47
+ public:
48
+ ActivityRecognitionOptions() = default;
49
+ explicit ActivityRecognitionOptions(std::optional<bool> enabled, std::optional<double> interval, std::optional<bool> stopOnStill, std::optional<double> minimumConfidence): enabled(enabled), interval(interval), stopOnStill(stopOnStill), minimumConfidence(minimumConfidence) {}
50
+
51
+ public:
52
+ friend bool operator==(const ActivityRecognitionOptions& lhs, const ActivityRecognitionOptions& rhs) = default;
53
+ };
54
+
55
+ } // namespace margelo::nitro::nitrogeolocation
56
+
57
+ namespace margelo::nitro {
58
+
59
+ // C++ ActivityRecognitionOptions <> JS ActivityRecognitionOptions (object)
60
+ template <>
61
+ struct JSIConverter<margelo::nitro::nitrogeolocation::ActivityRecognitionOptions> final {
62
+ static inline margelo::nitro::nitrogeolocation::ActivityRecognitionOptions fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
63
+ jsi::Object obj = arg.asObject(runtime);
64
+ return margelo::nitro::nitrogeolocation::ActivityRecognitionOptions(
65
+ JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "enabled"))),
66
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "interval"))),
67
+ JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "stopOnStill"))),
68
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "minimumConfidence")))
69
+ );
70
+ }
71
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::nitrogeolocation::ActivityRecognitionOptions& arg) {
72
+ jsi::Object obj(runtime);
73
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "enabled"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.enabled));
74
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "interval"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.interval));
75
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "stopOnStill"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.stopOnStill));
76
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "minimumConfidence"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.minimumConfidence));
77
+ return obj;
78
+ }
79
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
80
+ if (!value.isObject()) {
81
+ return false;
82
+ }
83
+ jsi::Object obj = value.getObject(runtime);
84
+ if (!nitro::isPlainObject(runtime, obj)) {
85
+ return false;
86
+ }
87
+ if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "enabled")))) return false;
88
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "interval")))) return false;
89
+ if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "stopOnStill")))) return false;
90
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "minimumConfidence")))) return false;
91
+ return true;
92
+ }
93
+ };
94
+
95
+ } // namespace margelo::nitro
@@ -0,0 +1,100 @@
1
+ ///
2
+ /// AndroidBackgroundLocationOptions.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
11
+ #include <NitroModules/JSIConverter.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
16
+ #include <NitroModules/NitroDefines.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
30
+
31
+ // Forward declaration of `AndroidBackgroundProvider` to properly resolve imports.
32
+ namespace margelo::nitro::nitrogeolocation { enum class AndroidBackgroundProvider; }
33
+ // Forward declaration of `AndroidForegroundServiceOptions` to properly resolve imports.
34
+ namespace margelo::nitro::nitrogeolocation { struct AndroidForegroundServiceOptions; }
35
+
36
+ #include "AndroidBackgroundProvider.hpp"
37
+ #include <optional>
38
+ #include "AndroidForegroundServiceOptions.hpp"
39
+
40
+ namespace margelo::nitro::nitrogeolocation {
41
+
42
+ /**
43
+ * A struct which can be represented as a JavaScript object (AndroidBackgroundLocationOptions).
44
+ */
45
+ struct AndroidBackgroundLocationOptions final {
46
+ public:
47
+ std::optional<AndroidBackgroundProvider> locationProvider SWIFT_PRIVATE;
48
+ AndroidForegroundServiceOptions foregroundService SWIFT_PRIVATE;
49
+ std::optional<bool> requestNotificationPermission SWIFT_PRIVATE;
50
+ std::optional<bool> requestIgnoreBatteryOptimizations SWIFT_PRIVATE;
51
+
52
+ public:
53
+ AndroidBackgroundLocationOptions() = default;
54
+ explicit AndroidBackgroundLocationOptions(std::optional<AndroidBackgroundProvider> locationProvider, AndroidForegroundServiceOptions foregroundService, std::optional<bool> requestNotificationPermission, std::optional<bool> requestIgnoreBatteryOptimizations): locationProvider(locationProvider), foregroundService(foregroundService), requestNotificationPermission(requestNotificationPermission), requestIgnoreBatteryOptimizations(requestIgnoreBatteryOptimizations) {}
55
+
56
+ public:
57
+ friend bool operator==(const AndroidBackgroundLocationOptions& lhs, const AndroidBackgroundLocationOptions& rhs) = default;
58
+ };
59
+
60
+ } // namespace margelo::nitro::nitrogeolocation
61
+
62
+ namespace margelo::nitro {
63
+
64
+ // C++ AndroidBackgroundLocationOptions <> JS AndroidBackgroundLocationOptions (object)
65
+ template <>
66
+ struct JSIConverter<margelo::nitro::nitrogeolocation::AndroidBackgroundLocationOptions> final {
67
+ static inline margelo::nitro::nitrogeolocation::AndroidBackgroundLocationOptions fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
68
+ jsi::Object obj = arg.asObject(runtime);
69
+ return margelo::nitro::nitrogeolocation::AndroidBackgroundLocationOptions(
70
+ JSIConverter<std::optional<margelo::nitro::nitrogeolocation::AndroidBackgroundProvider>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "locationProvider"))),
71
+ JSIConverter<margelo::nitro::nitrogeolocation::AndroidForegroundServiceOptions>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "foregroundService"))),
72
+ JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "requestNotificationPermission"))),
73
+ JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "requestIgnoreBatteryOptimizations")))
74
+ );
75
+ }
76
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::nitrogeolocation::AndroidBackgroundLocationOptions& arg) {
77
+ jsi::Object obj(runtime);
78
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "locationProvider"), JSIConverter<std::optional<margelo::nitro::nitrogeolocation::AndroidBackgroundProvider>>::toJSI(runtime, arg.locationProvider));
79
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "foregroundService"), JSIConverter<margelo::nitro::nitrogeolocation::AndroidForegroundServiceOptions>::toJSI(runtime, arg.foregroundService));
80
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "requestNotificationPermission"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.requestNotificationPermission));
81
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "requestIgnoreBatteryOptimizations"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.requestIgnoreBatteryOptimizations));
82
+ return obj;
83
+ }
84
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
85
+ if (!value.isObject()) {
86
+ return false;
87
+ }
88
+ jsi::Object obj = value.getObject(runtime);
89
+ if (!nitro::isPlainObject(runtime, obj)) {
90
+ return false;
91
+ }
92
+ if (!JSIConverter<std::optional<margelo::nitro::nitrogeolocation::AndroidBackgroundProvider>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "locationProvider")))) return false;
93
+ if (!JSIConverter<margelo::nitro::nitrogeolocation::AndroidForegroundServiceOptions>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "foregroundService")))) return false;
94
+ if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "requestNotificationPermission")))) return false;
95
+ if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "requestIgnoreBatteryOptimizations")))) return false;
96
+ return true;
97
+ }
98
+ };
99
+
100
+ } // namespace margelo::nitro