react-native-nitro-geolocation 1.1.4 → 1.2.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 (186) hide show
  1. package/README.md +74 -8
  2. package/android/build.gradle +6 -0
  3. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidAccuracy.kt +105 -0
  4. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidHeadingManager.kt +313 -0
  5. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidLocationSettings.kt +313 -0
  6. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/GetCurrentPosition.kt +46 -45
  7. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/LocationMetadata.kt +26 -0
  8. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/LocationValues.kt +31 -0
  9. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/NitroGeolocation.kt +1025 -140
  10. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/NitroGeolocationCompat.kt +11 -11
  11. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/RequestAuthorization.kt +6 -6
  12. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/WatchPosition.kt +46 -45
  13. package/ios/CLLocation+GeolocationMetadata.swift +32 -0
  14. package/ios/LocationManager.swift +205 -51
  15. package/ios/NitroGeolocation.swift +949 -110
  16. package/ios/NitroGeolocationCompat.swift +7 -7
  17. package/nitrogen/generated/android/c++/JAccuracyAuthorization.hpp +61 -0
  18. package/nitrogen/generated/android/c++/JAndroidAccuracyPreset.hpp +64 -0
  19. package/nitrogen/generated/android/c++/JAndroidGranularity.hpp +61 -0
  20. package/nitrogen/generated/android/c++/{JRNConfigurationInternal.hpp → JCompatGeolocationConfigurationInternal.hpp} +10 -10
  21. package/nitrogen/generated/android/c++/{JGeolocationError.hpp → JCompatGeolocationError.hpp} +10 -10
  22. package/nitrogen/generated/android/c++/JCompatGeolocationOptions.hpp +105 -0
  23. package/nitrogen/generated/android/c++/JCompatGeolocationResponse.hpp +67 -0
  24. package/nitrogen/generated/android/c++/JFunc_void_AccuracyAuthorization.hpp +77 -0
  25. package/nitrogen/generated/android/c++/JFunc_void_CompatGeolocationError.hpp +78 -0
  26. package/nitrogen/generated/android/c++/JFunc_void_CompatGeolocationResponse.hpp +84 -0
  27. package/nitrogen/generated/android/c++/JFunc_void_GeolocationResponse.hpp +2 -0
  28. package/nitrogen/generated/android/c++/JFunc_void_Heading.hpp +78 -0
  29. package/nitrogen/generated/android/c++/JFunc_void_LocationProviderStatus.hpp +78 -0
  30. package/nitrogen/generated/android/c++/JFunc_void_PermissionStatus.hpp +77 -0
  31. package/nitrogen/generated/android/c++/JFunc_void_std__vector_GeocodedLocation_.hpp +97 -0
  32. package/nitrogen/generated/android/c++/JFunc_void_std__vector_ReverseGeocodedAddress_.hpp +98 -0
  33. package/nitrogen/generated/android/c++/JGeocodedLocation.hpp +65 -0
  34. package/nitrogen/generated/android/c++/JGeocodingCoordinates.hpp +61 -0
  35. package/nitrogen/generated/android/c++/{JModernGeolocationConfiguration.hpp → JGeolocationConfiguration.hpp} +10 -10
  36. package/nitrogen/generated/android/c++/JGeolocationResponse.hpp +13 -3
  37. package/nitrogen/generated/android/c++/JHeading.hpp +69 -0
  38. package/nitrogen/generated/android/c++/JHeadingOptions.hpp +57 -0
  39. package/nitrogen/generated/android/c++/JHybridNitroGeolocationCompatSpec.cpp +46 -30
  40. package/nitrogen/generated/android/c++/JHybridNitroGeolocationCompatSpec.hpp +4 -4
  41. package/nitrogen/generated/android/c++/JHybridNitroGeolocationSpec.cpp +169 -33
  42. package/nitrogen/generated/android/c++/JHybridNitroGeolocationSpec.hpp +14 -3
  43. package/nitrogen/generated/android/c++/JIOSAccuracyPreset.hpp +73 -0
  44. package/nitrogen/generated/android/c++/JIOSActivityType.hpp +67 -0
  45. package/nitrogen/generated/android/c++/JLocationAccuracyOptions.hpp +65 -0
  46. package/nitrogen/generated/android/c++/JLocationAvailability.hpp +62 -0
  47. package/nitrogen/generated/android/c++/JLocationProviderStatus.hpp +77 -0
  48. package/nitrogen/generated/android/c++/JLocationProviderUsed.hpp +67 -0
  49. package/nitrogen/generated/android/c++/JLocationRequestOptions.hpp +49 -3
  50. package/nitrogen/generated/android/c++/{JGeolocationOptions.hpp → JLocationSettingsOptions.hpp} +28 -22
  51. package/nitrogen/generated/android/c++/JReverseGeocodedAddress.hpp +82 -0
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AccuracyAuthorization.kt +24 -0
  53. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidAccuracyPreset.kt +25 -0
  54. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidGranularity.kt +24 -0
  55. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/{RNConfigurationInternal.kt → CompatGeolocationConfigurationInternal.kt} +5 -5
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/{GeolocationError.kt → CompatGeolocationError.kt} +5 -5
  57. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/CompatGeolocationOptions.kt +68 -0
  58. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/CompatGeolocationResponse.kt +41 -0
  59. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_AccuracyAuthorization.kt +80 -0
  60. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/{Func_void_GeolocationError.kt → Func_void_CompatGeolocationError.kt} +9 -9
  61. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_CompatGeolocationResponse.kt +80 -0
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_Heading.kt +80 -0
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_LocationProviderStatus.kt +80 -0
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_PermissionStatus.kt +80 -0
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_std__vector_GeocodedLocation_.kt +80 -0
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_std__vector_ReverseGeocodedAddress_.kt +80 -0
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeocodedLocation.kt +44 -0
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeocodingCoordinates.kt +41 -0
  69. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/{ModernGeolocationConfiguration.kt → GeolocationConfiguration.kt} +5 -5
  70. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeolocationResponse.kt +9 -3
  71. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Heading.kt +47 -0
  72. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/HeadingOptions.kt +38 -0
  73. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/HybridNitroGeolocationCompatSpec.kt +7 -7
  74. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/HybridNitroGeolocationSpec.kt +92 -3
  75. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/IOSAccuracyPreset.kt +28 -0
  76. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/IOSActivityType.kt +26 -0
  77. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationAccuracyOptions.kt +41 -0
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationAvailability.kt +41 -0
  79. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationProviderStatus.kt +53 -0
  80. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationProviderUsed.kt +26 -0
  81. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationRequestOptions.kt +30 -3
  82. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/{GeolocationOptions.kt → LocationSettingsOptions.kt} +11 -11
  83. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/ReverseGeocodedAddress.kt +56 -0
  84. package/nitrogen/generated/android/nitrogeolocationOnLoad.cpp +18 -4
  85. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.cpp +76 -12
  86. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.hpp +519 -77
  87. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Umbrella.hpp +61 -12
  88. package/nitrogen/generated/ios/c++/HybridNitroGeolocationCompatSpecSwift.hpp +28 -16
  89. package/nitrogen/generated/ios/c++/HybridNitroGeolocationSpecSwift.hpp +131 -13
  90. package/nitrogen/generated/ios/swift/AccuracyAuthorization.swift +44 -0
  91. package/nitrogen/generated/ios/swift/AndroidAccuracyPreset.swift +48 -0
  92. package/nitrogen/generated/ios/swift/AndroidGranularity.swift +44 -0
  93. package/nitrogen/generated/ios/swift/{RNConfigurationInternal.swift → CompatGeolocationConfigurationInternal.swift} +5 -5
  94. package/nitrogen/generated/ios/swift/{GeolocationError.swift → CompatGeolocationError.swift} +5 -5
  95. package/nitrogen/generated/ios/swift/CompatGeolocationOptions.swift +208 -0
  96. package/nitrogen/generated/ios/swift/CompatGeolocationResponse.swift +34 -0
  97. package/nitrogen/generated/ios/swift/Func_void_AccuracyAuthorization.swift +46 -0
  98. package/nitrogen/generated/ios/swift/Func_void_CompatGeolocationError.swift +46 -0
  99. package/nitrogen/generated/ios/swift/Func_void_CompatGeolocationResponse.swift +46 -0
  100. package/nitrogen/generated/ios/swift/{Func_void_GeolocationError.swift → Func_void_Heading.swift} +11 -11
  101. package/nitrogen/generated/ios/swift/Func_void_LocationAvailability.swift +46 -0
  102. package/nitrogen/generated/ios/swift/Func_void_LocationProviderStatus.swift +46 -0
  103. package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
  104. package/nitrogen/generated/ios/swift/Func_void_std__vector_GeocodedLocation_.swift +46 -0
  105. package/nitrogen/generated/ios/swift/Func_void_std__vector_ReverseGeocodedAddress_.swift +46 -0
  106. package/nitrogen/generated/ios/swift/GeocodedLocation.swift +52 -0
  107. package/nitrogen/generated/ios/swift/GeocodingCoordinates.swift +34 -0
  108. package/nitrogen/generated/ios/swift/{ModernGeolocationConfiguration.swift → GeolocationConfiguration.swift} +5 -5
  109. package/nitrogen/generated/ios/swift/GeolocationResponse.swift +31 -2
  110. package/nitrogen/generated/ios/swift/Heading.swift +70 -0
  111. package/nitrogen/generated/ios/swift/HeadingOptions.swift +42 -0
  112. package/nitrogen/generated/ios/swift/HybridNitroGeolocationCompatSpec.swift +4 -4
  113. package/nitrogen/generated/ios/swift/HybridNitroGeolocationCompatSpec_cxx.swift +28 -28
  114. package/nitrogen/generated/ios/swift/HybridNitroGeolocationSpec.swift +14 -3
  115. package/nitrogen/generated/ios/swift/HybridNitroGeolocationSpec_cxx.swift +318 -15
  116. package/nitrogen/generated/ios/swift/IOSAccuracyPreset.swift +60 -0
  117. package/nitrogen/generated/ios/swift/IOSActivityType.swift +52 -0
  118. package/nitrogen/generated/ios/swift/LocationAccuracyOptions.swift +46 -0
  119. package/nitrogen/generated/ios/swift/LocationAvailability.swift +47 -0
  120. package/nitrogen/generated/ios/swift/LocationProviderStatus.swift +106 -0
  121. package/nitrogen/generated/ios/swift/LocationProviderUsed.swift +52 -0
  122. package/nitrogen/generated/ios/swift/LocationRequestOptions.swift +142 -1
  123. package/nitrogen/generated/ios/swift/{GeolocationOptions.swift → LocationSettingsOptions.swift} +39 -46
  124. package/nitrogen/generated/ios/swift/ReverseGeocodedAddress.swift +150 -0
  125. package/nitrogen/generated/shared/c++/AccuracyAuthorization.hpp +80 -0
  126. package/nitrogen/generated/shared/c++/AndroidAccuracyPreset.hpp +84 -0
  127. package/nitrogen/generated/shared/c++/AndroidGranularity.hpp +80 -0
  128. package/nitrogen/generated/shared/c++/{RNConfigurationInternal.hpp → CompatGeolocationConfigurationInternal.hpp} +11 -11
  129. package/nitrogen/generated/shared/c++/{GeolocationError.hpp → CompatGeolocationError.hpp} +11 -11
  130. package/nitrogen/generated/shared/c++/CompatGeolocationOptions.hpp +128 -0
  131. package/nitrogen/generated/shared/c++/CompatGeolocationResponse.hpp +88 -0
  132. package/nitrogen/generated/shared/c++/GeocodedLocation.hpp +91 -0
  133. package/nitrogen/generated/shared/c++/GeocodingCoordinates.hpp +87 -0
  134. package/nitrogen/generated/shared/c++/{ModernGeolocationConfiguration.hpp → GeolocationConfiguration.hpp} +11 -11
  135. package/nitrogen/generated/shared/c++/GeolocationResponse.hpp +14 -2
  136. package/nitrogen/generated/shared/c++/Heading.hpp +95 -0
  137. package/nitrogen/generated/shared/c++/HeadingOptions.hpp +83 -0
  138. package/nitrogen/generated/shared/c++/HybridNitroGeolocationCompatSpec.hpp +16 -16
  139. package/nitrogen/generated/shared/c++/HybridNitroGeolocationSpec.cpp +11 -0
  140. package/nitrogen/generated/shared/c++/HybridNitroGeolocationSpec.hpp +51 -12
  141. package/nitrogen/generated/shared/c++/IOSAccuracyPreset.hpp +96 -0
  142. package/nitrogen/generated/shared/c++/IOSActivityType.hpp +88 -0
  143. package/nitrogen/generated/shared/c++/LocationAccuracyOptions.hpp +92 -0
  144. package/nitrogen/generated/shared/c++/LocationAvailability.hpp +88 -0
  145. package/nitrogen/generated/shared/c++/LocationProviderStatus.hpp +103 -0
  146. package/nitrogen/generated/shared/c++/LocationProviderUsed.hpp +88 -0
  147. package/nitrogen/generated/shared/c++/LocationRequestOptions.hpp +47 -3
  148. package/nitrogen/generated/shared/c++/{GeolocationOptions.hpp → LocationSettingsOptions.hpp} +26 -24
  149. package/nitrogen/generated/shared/c++/ReverseGeocodedAddress.hpp +108 -0
  150. package/package.json +1 -1
  151. package/src/NitroGeolocation.nitro.ts +291 -17
  152. package/src/NitroGeolocationCompat.nitro.ts +12 -12
  153. package/src/api/geocode.ts +18 -0
  154. package/src/api/getAccuracyAuthorization.ts +12 -0
  155. package/src/api/getCurrentPosition.ts +5 -3
  156. package/src/api/getHeading.ts +13 -0
  157. package/src/api/getLastKnownPosition.ts +28 -0
  158. package/src/api/getLocationAvailability.ts +11 -0
  159. package/src/api/getProviderStatus.ts +16 -0
  160. package/src/api/hasServicesEnabled.ts +13 -0
  161. package/src/api/index.ts +11 -0
  162. package/src/api/requestLocationSettings.ts +29 -0
  163. package/src/api/requestPermission.ts +3 -1
  164. package/src/api/requestTemporaryFullAccuracy.ts +21 -0
  165. package/src/api/reverseGeocode.ts +23 -0
  166. package/src/api/setConfiguration.ts +8 -4
  167. package/src/api/watchHeading.ts +19 -0
  168. package/src/api/watchPosition.ts +2 -2
  169. package/src/compat/getCurrentPosition.ts +7 -7
  170. package/src/compat/index.tsx +5 -5
  171. package/src/compat/requestAuthorization.ts +2 -2
  172. package/src/compat/setRNConfiguration.ts +7 -5
  173. package/src/compat/watchPosition.ts +7 -7
  174. package/src/devtools/getCurrentPosition.ts +5 -3
  175. package/src/devtools/index.ts +1 -1
  176. package/src/devtools/watchPosition.ts +6 -7
  177. package/src/hooks/useWatchPosition.ts +2 -2
  178. package/src/index.tsx +35 -6
  179. package/src/publicTypes.ts +96 -0
  180. package/src/types.ts +113 -37
  181. package/src/utils/errors.test.ts +65 -0
  182. package/src/utils/errors.ts +45 -18
  183. package/src/utils/index.ts +2 -2
  184. package/src/utils/provider.test.ts +172 -1
  185. package/src/utils/provider.ts +50 -5
  186. package/nitrogen/generated/android/c++/JFunc_void_GeolocationError.hpp +0 -78
@@ -0,0 +1,52 @@
1
+ ///
2
+ /// LocationProviderUsed.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 `LocationProviderUsed`, backed by a C++ enum.
10
+ */
11
+ public typealias LocationProviderUsed = margelo.nitro.nitrogeolocation.LocationProviderUsed
12
+
13
+ public extension LocationProviderUsed {
14
+ /**
15
+ * Get a LocationProviderUsed 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 "passive":
21
+ self = .passive
22
+ case "unknown":
23
+ self = .unknown
24
+ case "fused":
25
+ self = .fused
26
+ case "gps":
27
+ self = .gps
28
+ case "network":
29
+ self = .network
30
+ default:
31
+ return nil
32
+ }
33
+ }
34
+
35
+ /**
36
+ * Get the String value this LocationProviderUsed represents.
37
+ */
38
+ var stringValue: String {
39
+ switch self {
40
+ case .passive:
41
+ return "passive"
42
+ case .unknown:
43
+ return "unknown"
44
+ case .fused:
45
+ return "fused"
46
+ case .gps:
47
+ return "gps"
48
+ case .network:
49
+ return "network"
50
+ }
51
+ }
52
+ }
@@ -18,7 +18,7 @@ public extension LocationRequestOptions {
18
18
  /**
19
19
  * Create a new instance of `LocationRequestOptions`.
20
20
  */
21
- init(timeout: Double?, maximumAge: Double?, enableHighAccuracy: Bool?, interval: Double?, fastestInterval: Double?, distanceFilter: Double?, useSignificantChanges: Bool?) {
21
+ init(timeout: Double?, maximumAge: Double?, enableHighAccuracy: Bool?, accuracy: LocationAccuracyOptions?, interval: Double?, fastestInterval: Double?, distanceFilter: Double?, granularity: AndroidGranularity?, waitForAccurateLocation: Bool?, maxUpdateAge: Double?, maxUpdateDelay: Double?, maxUpdates: Double?, useSignificantChanges: Bool?, activityType: IOSActivityType?, pausesLocationUpdatesAutomatically: Bool?, showsBackgroundLocationIndicator: Bool?) {
22
22
  self.init({ () -> bridge.std__optional_double_ in
23
23
  if let __unwrappedValue = timeout {
24
24
  return bridge.create_std__optional_double_(__unwrappedValue)
@@ -37,6 +37,12 @@ public extension LocationRequestOptions {
37
37
  } else {
38
38
  return .init()
39
39
  }
40
+ }(), { () -> bridge.std__optional_LocationAccuracyOptions_ in
41
+ if let __unwrappedValue = accuracy {
42
+ return bridge.create_std__optional_LocationAccuracyOptions_(__unwrappedValue)
43
+ } else {
44
+ return .init()
45
+ }
40
46
  }(), { () -> bridge.std__optional_double_ in
41
47
  if let __unwrappedValue = interval {
42
48
  return bridge.create_std__optional_double_(__unwrappedValue)
@@ -55,12 +61,60 @@ public extension LocationRequestOptions {
55
61
  } else {
56
62
  return .init()
57
63
  }
64
+ }(), { () -> bridge.std__optional_AndroidGranularity_ in
65
+ if let __unwrappedValue = granularity {
66
+ return bridge.create_std__optional_AndroidGranularity_(__unwrappedValue)
67
+ } else {
68
+ return .init()
69
+ }
70
+ }(), { () -> bridge.std__optional_bool_ in
71
+ if let __unwrappedValue = waitForAccurateLocation {
72
+ return bridge.create_std__optional_bool_(__unwrappedValue)
73
+ } else {
74
+ return .init()
75
+ }
76
+ }(), { () -> bridge.std__optional_double_ in
77
+ if let __unwrappedValue = maxUpdateAge {
78
+ return bridge.create_std__optional_double_(__unwrappedValue)
79
+ } else {
80
+ return .init()
81
+ }
82
+ }(), { () -> bridge.std__optional_double_ in
83
+ if let __unwrappedValue = maxUpdateDelay {
84
+ return bridge.create_std__optional_double_(__unwrappedValue)
85
+ } else {
86
+ return .init()
87
+ }
88
+ }(), { () -> bridge.std__optional_double_ in
89
+ if let __unwrappedValue = maxUpdates {
90
+ return bridge.create_std__optional_double_(__unwrappedValue)
91
+ } else {
92
+ return .init()
93
+ }
58
94
  }(), { () -> bridge.std__optional_bool_ in
59
95
  if let __unwrappedValue = useSignificantChanges {
60
96
  return bridge.create_std__optional_bool_(__unwrappedValue)
61
97
  } else {
62
98
  return .init()
63
99
  }
100
+ }(), { () -> bridge.std__optional_IOSActivityType_ in
101
+ if let __unwrappedValue = activityType {
102
+ return bridge.create_std__optional_IOSActivityType_(__unwrappedValue)
103
+ } else {
104
+ return .init()
105
+ }
106
+ }(), { () -> bridge.std__optional_bool_ in
107
+ if let __unwrappedValue = pausesLocationUpdatesAutomatically {
108
+ return bridge.create_std__optional_bool_(__unwrappedValue)
109
+ } else {
110
+ return .init()
111
+ }
112
+ }(), { () -> bridge.std__optional_bool_ in
113
+ if let __unwrappedValue = showsBackgroundLocationIndicator {
114
+ return bridge.create_std__optional_bool_(__unwrappedValue)
115
+ } else {
116
+ return .init()
117
+ }
64
118
  }())
65
119
  }
66
120
 
@@ -100,6 +154,11 @@ public extension LocationRequestOptions {
100
154
  }()
101
155
  }
102
156
 
157
+ @inline(__always)
158
+ var accuracy: LocationAccuracyOptions? {
159
+ return self.__accuracy.value
160
+ }
161
+
103
162
  @inline(__always)
104
163
  var interval: Double? {
105
164
  return { () -> Double? in
@@ -136,6 +195,59 @@ public extension LocationRequestOptions {
136
195
  }()
137
196
  }
138
197
 
198
+ @inline(__always)
199
+ var granularity: AndroidGranularity? {
200
+ return self.__granularity.value
201
+ }
202
+
203
+ @inline(__always)
204
+ var waitForAccurateLocation: Bool? {
205
+ return { () -> Bool? in
206
+ if bridge.has_value_std__optional_bool_(self.__waitForAccurateLocation) {
207
+ let __unwrapped = bridge.get_std__optional_bool_(self.__waitForAccurateLocation)
208
+ return __unwrapped
209
+ } else {
210
+ return nil
211
+ }
212
+ }()
213
+ }
214
+
215
+ @inline(__always)
216
+ var maxUpdateAge: Double? {
217
+ return { () -> Double? in
218
+ if bridge.has_value_std__optional_double_(self.__maxUpdateAge) {
219
+ let __unwrapped = bridge.get_std__optional_double_(self.__maxUpdateAge)
220
+ return __unwrapped
221
+ } else {
222
+ return nil
223
+ }
224
+ }()
225
+ }
226
+
227
+ @inline(__always)
228
+ var maxUpdateDelay: Double? {
229
+ return { () -> Double? in
230
+ if bridge.has_value_std__optional_double_(self.__maxUpdateDelay) {
231
+ let __unwrapped = bridge.get_std__optional_double_(self.__maxUpdateDelay)
232
+ return __unwrapped
233
+ } else {
234
+ return nil
235
+ }
236
+ }()
237
+ }
238
+
239
+ @inline(__always)
240
+ var maxUpdates: Double? {
241
+ return { () -> Double? in
242
+ if bridge.has_value_std__optional_double_(self.__maxUpdates) {
243
+ let __unwrapped = bridge.get_std__optional_double_(self.__maxUpdates)
244
+ return __unwrapped
245
+ } else {
246
+ return nil
247
+ }
248
+ }()
249
+ }
250
+
139
251
  @inline(__always)
140
252
  var useSignificantChanges: Bool? {
141
253
  return { () -> Bool? in
@@ -147,4 +259,33 @@ public extension LocationRequestOptions {
147
259
  }
148
260
  }()
149
261
  }
262
+
263
+ @inline(__always)
264
+ var activityType: IOSActivityType? {
265
+ return self.__activityType.value
266
+ }
267
+
268
+ @inline(__always)
269
+ var pausesLocationUpdatesAutomatically: Bool? {
270
+ return { () -> Bool? in
271
+ if bridge.has_value_std__optional_bool_(self.__pausesLocationUpdatesAutomatically) {
272
+ let __unwrapped = bridge.get_std__optional_bool_(self.__pausesLocationUpdatesAutomatically)
273
+ return __unwrapped
274
+ } else {
275
+ return nil
276
+ }
277
+ }()
278
+ }
279
+
280
+ @inline(__always)
281
+ var showsBackgroundLocationIndicator: Bool? {
282
+ return { () -> Bool? in
283
+ if bridge.has_value_std__optional_bool_(self.__showsBackgroundLocationIndicator) {
284
+ let __unwrapped = bridge.get_std__optional_bool_(self.__showsBackgroundLocationIndicator)
285
+ return __unwrapped
286
+ } else {
287
+ return nil
288
+ }
289
+ }()
290
+ }
150
291
  }
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// GeolocationOptions.swift
2
+ /// LocationSettingsOptions.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
5
  /// Copyright © Marc Rousavy @ Margelo
@@ -8,32 +8,26 @@
8
8
  import NitroModules
9
9
 
10
10
  /**
11
- * Represents an instance of `GeolocationOptions`, backed by a C++ struct.
11
+ * Represents an instance of `LocationSettingsOptions`, backed by a C++ struct.
12
12
  */
13
- public typealias GeolocationOptions = margelo.nitro.nitrogeolocation.GeolocationOptions
13
+ public typealias LocationSettingsOptions = margelo.nitro.nitrogeolocation.LocationSettingsOptions
14
14
 
15
- public extension GeolocationOptions {
15
+ public extension LocationSettingsOptions {
16
16
  private typealias bridge = margelo.nitro.nitrogeolocation.bridge.swift
17
17
 
18
18
  /**
19
- * Create a new instance of `GeolocationOptions`.
19
+ * Create a new instance of `LocationSettingsOptions`.
20
20
  */
21
- init(timeout: Double?, maximumAge: Double?, enableHighAccuracy: Bool?, interval: Double?, fastestInterval: Double?, distanceFilter: Double?, useSignificantChanges: Bool?) {
22
- self.init({ () -> bridge.std__optional_double_ in
23
- if let __unwrappedValue = timeout {
24
- return bridge.create_std__optional_double_(__unwrappedValue)
25
- } else {
26
- return .init()
27
- }
28
- }(), { () -> bridge.std__optional_double_ in
29
- if let __unwrappedValue = maximumAge {
30
- return bridge.create_std__optional_double_(__unwrappedValue)
21
+ init(enableHighAccuracy: Bool?, accuracy: LocationAccuracyOptions?, interval: Double?, fastestInterval: Double?, distanceFilter: Double?, alwaysShow: Bool?, needBle: Bool?) {
22
+ self.init({ () -> bridge.std__optional_bool_ in
23
+ if let __unwrappedValue = enableHighAccuracy {
24
+ return bridge.create_std__optional_bool_(__unwrappedValue)
31
25
  } else {
32
26
  return .init()
33
27
  }
34
- }(), { () -> bridge.std__optional_bool_ in
35
- if let __unwrappedValue = enableHighAccuracy {
36
- return bridge.create_std__optional_bool_(__unwrappedValue)
28
+ }(), { () -> bridge.std__optional_LocationAccuracyOptions_ in
29
+ if let __unwrappedValue = accuracy {
30
+ return bridge.create_std__optional_LocationAccuracyOptions_(__unwrappedValue)
37
31
  } else {
38
32
  return .init()
39
33
  }
@@ -56,38 +50,20 @@ public extension GeolocationOptions {
56
50
  return .init()
57
51
  }
58
52
  }(), { () -> bridge.std__optional_bool_ in
59
- if let __unwrappedValue = useSignificantChanges {
53
+ if let __unwrappedValue = alwaysShow {
60
54
  return bridge.create_std__optional_bool_(__unwrappedValue)
61
55
  } else {
62
56
  return .init()
63
57
  }
64
- }())
65
- }
66
-
67
- @inline(__always)
68
- var timeout: Double? {
69
- return { () -> Double? in
70
- if bridge.has_value_std__optional_double_(self.__timeout) {
71
- let __unwrapped = bridge.get_std__optional_double_(self.__timeout)
72
- return __unwrapped
73
- } else {
74
- return nil
75
- }
76
- }()
77
- }
78
-
79
- @inline(__always)
80
- var maximumAge: Double? {
81
- return { () -> Double? in
82
- if bridge.has_value_std__optional_double_(self.__maximumAge) {
83
- let __unwrapped = bridge.get_std__optional_double_(self.__maximumAge)
84
- return __unwrapped
58
+ }(), { () -> bridge.std__optional_bool_ in
59
+ if let __unwrappedValue = needBle {
60
+ return bridge.create_std__optional_bool_(__unwrappedValue)
85
61
  } else {
86
- return nil
62
+ return .init()
87
63
  }
88
- }()
64
+ }())
89
65
  }
90
-
66
+
91
67
  @inline(__always)
92
68
  var enableHighAccuracy: Bool? {
93
69
  return { () -> Bool? in
@@ -100,6 +76,11 @@ public extension GeolocationOptions {
100
76
  }()
101
77
  }
102
78
 
79
+ @inline(__always)
80
+ var accuracy: LocationAccuracyOptions? {
81
+ return self.__accuracy.value
82
+ }
83
+
103
84
  @inline(__always)
104
85
  var interval: Double? {
105
86
  return { () -> Double? in
@@ -137,10 +118,22 @@ public extension GeolocationOptions {
137
118
  }
138
119
 
139
120
  @inline(__always)
140
- var useSignificantChanges: Bool? {
121
+ var alwaysShow: Bool? {
122
+ return { () -> Bool? in
123
+ if bridge.has_value_std__optional_bool_(self.__alwaysShow) {
124
+ let __unwrapped = bridge.get_std__optional_bool_(self.__alwaysShow)
125
+ return __unwrapped
126
+ } else {
127
+ return nil
128
+ }
129
+ }()
130
+ }
131
+
132
+ @inline(__always)
133
+ var needBle: Bool? {
141
134
  return { () -> Bool? in
142
- if bridge.has_value_std__optional_bool_(self.__useSignificantChanges) {
143
- let __unwrapped = bridge.get_std__optional_bool_(self.__useSignificantChanges)
135
+ if bridge.has_value_std__optional_bool_(self.__needBle) {
136
+ let __unwrapped = bridge.get_std__optional_bool_(self.__needBle)
144
137
  return __unwrapped
145
138
  } else {
146
139
  return nil
@@ -0,0 +1,150 @@
1
+ ///
2
+ /// ReverseGeocodedAddress.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 `ReverseGeocodedAddress`, backed by a C++ struct.
12
+ */
13
+ public typealias ReverseGeocodedAddress = margelo.nitro.nitrogeolocation.ReverseGeocodedAddress
14
+
15
+ public extension ReverseGeocodedAddress {
16
+ private typealias bridge = margelo.nitro.nitrogeolocation.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `ReverseGeocodedAddress`.
20
+ */
21
+ init(country: String?, region: String?, city: String?, district: String?, street: String?, postalCode: String?, formattedAddress: String?) {
22
+ self.init({ () -> bridge.std__optional_std__string_ in
23
+ if let __unwrappedValue = country {
24
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
25
+ } else {
26
+ return .init()
27
+ }
28
+ }(), { () -> bridge.std__optional_std__string_ in
29
+ if let __unwrappedValue = region {
30
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
31
+ } else {
32
+ return .init()
33
+ }
34
+ }(), { () -> bridge.std__optional_std__string_ in
35
+ if let __unwrappedValue = city {
36
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
37
+ } else {
38
+ return .init()
39
+ }
40
+ }(), { () -> bridge.std__optional_std__string_ in
41
+ if let __unwrappedValue = district {
42
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
43
+ } else {
44
+ return .init()
45
+ }
46
+ }(), { () -> bridge.std__optional_std__string_ in
47
+ if let __unwrappedValue = street {
48
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
49
+ } else {
50
+ return .init()
51
+ }
52
+ }(), { () -> bridge.std__optional_std__string_ in
53
+ if let __unwrappedValue = postalCode {
54
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
55
+ } else {
56
+ return .init()
57
+ }
58
+ }(), { () -> bridge.std__optional_std__string_ in
59
+ if let __unwrappedValue = formattedAddress {
60
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
61
+ } else {
62
+ return .init()
63
+ }
64
+ }())
65
+ }
66
+
67
+ @inline(__always)
68
+ var country: String? {
69
+ return { () -> String? in
70
+ if bridge.has_value_std__optional_std__string_(self.__country) {
71
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__country)
72
+ return String(__unwrapped)
73
+ } else {
74
+ return nil
75
+ }
76
+ }()
77
+ }
78
+
79
+ @inline(__always)
80
+ var region: String? {
81
+ return { () -> String? in
82
+ if bridge.has_value_std__optional_std__string_(self.__region) {
83
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__region)
84
+ return String(__unwrapped)
85
+ } else {
86
+ return nil
87
+ }
88
+ }()
89
+ }
90
+
91
+ @inline(__always)
92
+ var city: String? {
93
+ return { () -> String? in
94
+ if bridge.has_value_std__optional_std__string_(self.__city) {
95
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__city)
96
+ return String(__unwrapped)
97
+ } else {
98
+ return nil
99
+ }
100
+ }()
101
+ }
102
+
103
+ @inline(__always)
104
+ var district: String? {
105
+ return { () -> String? in
106
+ if bridge.has_value_std__optional_std__string_(self.__district) {
107
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__district)
108
+ return String(__unwrapped)
109
+ } else {
110
+ return nil
111
+ }
112
+ }()
113
+ }
114
+
115
+ @inline(__always)
116
+ var street: String? {
117
+ return { () -> String? in
118
+ if bridge.has_value_std__optional_std__string_(self.__street) {
119
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__street)
120
+ return String(__unwrapped)
121
+ } else {
122
+ return nil
123
+ }
124
+ }()
125
+ }
126
+
127
+ @inline(__always)
128
+ var postalCode: String? {
129
+ return { () -> String? in
130
+ if bridge.has_value_std__optional_std__string_(self.__postalCode) {
131
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__postalCode)
132
+ return String(__unwrapped)
133
+ } else {
134
+ return nil
135
+ }
136
+ }()
137
+ }
138
+
139
+ @inline(__always)
140
+ var formattedAddress: String? {
141
+ return { () -> String? in
142
+ if bridge.has_value_std__optional_std__string_(self.__formattedAddress) {
143
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__formattedAddress)
144
+ return String(__unwrapped)
145
+ } else {
146
+ return nil
147
+ }
148
+ }()
149
+ }
150
+ }
@@ -0,0 +1,80 @@
1
+ ///
2
+ /// AccuracyAuthorization.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/NitroHash.hpp>)
11
+ #include <NitroModules/NitroHash.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
16
+ #include <NitroModules/JSIConverter.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
21
+ #include <NitroModules/NitroDefines.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+
26
+ namespace margelo::nitro::nitrogeolocation {
27
+
28
+ /**
29
+ * An enum which can be represented as a JavaScript union (AccuracyAuthorization).
30
+ */
31
+ enum class AccuracyAuthorization {
32
+ REDUCED SWIFT_NAME(reduced) = 0,
33
+ FULL SWIFT_NAME(full) = 1,
34
+ UNKNOWN SWIFT_NAME(unknown) = 2,
35
+ } CLOSED_ENUM;
36
+
37
+ } // namespace margelo::nitro::nitrogeolocation
38
+
39
+ namespace margelo::nitro {
40
+
41
+ // C++ AccuracyAuthorization <> JS AccuracyAuthorization (union)
42
+ template <>
43
+ struct JSIConverter<margelo::nitro::nitrogeolocation::AccuracyAuthorization> final {
44
+ static inline margelo::nitro::nitrogeolocation::AccuracyAuthorization fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
45
+ std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, arg);
46
+ switch (hashString(unionValue.c_str(), unionValue.size())) {
47
+ case hashString("reduced"): return margelo::nitro::nitrogeolocation::AccuracyAuthorization::REDUCED;
48
+ case hashString("full"): return margelo::nitro::nitrogeolocation::AccuracyAuthorization::FULL;
49
+ case hashString("unknown"): return margelo::nitro::nitrogeolocation::AccuracyAuthorization::UNKNOWN;
50
+ default: [[unlikely]]
51
+ throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum AccuracyAuthorization - invalid value!");
52
+ }
53
+ }
54
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::nitrogeolocation::AccuracyAuthorization arg) {
55
+ switch (arg) {
56
+ case margelo::nitro::nitrogeolocation::AccuracyAuthorization::REDUCED: return JSIConverter<std::string>::toJSI(runtime, "reduced");
57
+ case margelo::nitro::nitrogeolocation::AccuracyAuthorization::FULL: return JSIConverter<std::string>::toJSI(runtime, "full");
58
+ case margelo::nitro::nitrogeolocation::AccuracyAuthorization::UNKNOWN: return JSIConverter<std::string>::toJSI(runtime, "unknown");
59
+ default: [[unlikely]]
60
+ throw std::invalid_argument("Cannot convert AccuracyAuthorization to JS - invalid value: "
61
+ + std::to_string(static_cast<int>(arg)) + "!");
62
+ }
63
+ }
64
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
65
+ if (!value.isString()) {
66
+ return false;
67
+ }
68
+ std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, value);
69
+ switch (hashString(unionValue.c_str(), unionValue.size())) {
70
+ case hashString("reduced"):
71
+ case hashString("full"):
72
+ case hashString("unknown"):
73
+ return true;
74
+ default:
75
+ return false;
76
+ }
77
+ }
78
+ };
79
+
80
+ } // namespace margelo::nitro
@@ -0,0 +1,84 @@
1
+ ///
2
+ /// AndroidAccuracyPreset.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/NitroHash.hpp>)
11
+ #include <NitroModules/NitroHash.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
16
+ #include <NitroModules/JSIConverter.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
21
+ #include <NitroModules/NitroDefines.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+
26
+ namespace margelo::nitro::nitrogeolocation {
27
+
28
+ /**
29
+ * An enum which can be represented as a JavaScript union (AndroidAccuracyPreset).
30
+ */
31
+ enum class AndroidAccuracyPreset {
32
+ HIGH SWIFT_NAME(high) = 0,
33
+ BALANCED SWIFT_NAME(balanced) = 1,
34
+ LOW SWIFT_NAME(low) = 2,
35
+ PASSIVE SWIFT_NAME(passive) = 3,
36
+ } CLOSED_ENUM;
37
+
38
+ } // namespace margelo::nitro::nitrogeolocation
39
+
40
+ namespace margelo::nitro {
41
+
42
+ // C++ AndroidAccuracyPreset <> JS AndroidAccuracyPreset (union)
43
+ template <>
44
+ struct JSIConverter<margelo::nitro::nitrogeolocation::AndroidAccuracyPreset> final {
45
+ static inline margelo::nitro::nitrogeolocation::AndroidAccuracyPreset fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
46
+ std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, arg);
47
+ switch (hashString(unionValue.c_str(), unionValue.size())) {
48
+ case hashString("high"): return margelo::nitro::nitrogeolocation::AndroidAccuracyPreset::HIGH;
49
+ case hashString("balanced"): return margelo::nitro::nitrogeolocation::AndroidAccuracyPreset::BALANCED;
50
+ case hashString("low"): return margelo::nitro::nitrogeolocation::AndroidAccuracyPreset::LOW;
51
+ case hashString("passive"): return margelo::nitro::nitrogeolocation::AndroidAccuracyPreset::PASSIVE;
52
+ default: [[unlikely]]
53
+ throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum AndroidAccuracyPreset - invalid value!");
54
+ }
55
+ }
56
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::nitrogeolocation::AndroidAccuracyPreset arg) {
57
+ switch (arg) {
58
+ case margelo::nitro::nitrogeolocation::AndroidAccuracyPreset::HIGH: return JSIConverter<std::string>::toJSI(runtime, "high");
59
+ case margelo::nitro::nitrogeolocation::AndroidAccuracyPreset::BALANCED: return JSIConverter<std::string>::toJSI(runtime, "balanced");
60
+ case margelo::nitro::nitrogeolocation::AndroidAccuracyPreset::LOW: return JSIConverter<std::string>::toJSI(runtime, "low");
61
+ case margelo::nitro::nitrogeolocation::AndroidAccuracyPreset::PASSIVE: return JSIConverter<std::string>::toJSI(runtime, "passive");
62
+ default: [[unlikely]]
63
+ throw std::invalid_argument("Cannot convert AndroidAccuracyPreset to JS - invalid value: "
64
+ + std::to_string(static_cast<int>(arg)) + "!");
65
+ }
66
+ }
67
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
68
+ if (!value.isString()) {
69
+ return false;
70
+ }
71
+ std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, value);
72
+ switch (hashString(unionValue.c_str(), unionValue.size())) {
73
+ case hashString("high"):
74
+ case hashString("balanced"):
75
+ case hashString("low"):
76
+ case hashString("passive"):
77
+ return true;
78
+ default:
79
+ return false;
80
+ }
81
+ }
82
+ };
83
+
84
+ } // namespace margelo::nitro