react-native-nitro-geolocation 0.1.2 → 0.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 (127) hide show
  1. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/GetCurrentPosition.kt +4 -4
  2. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/NitroGeolocation.kt +642 -50
  3. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/NitroGeolocationCompat.kt +81 -0
  4. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/WatchPosition.kt +4 -4
  5. package/ios/LocationManager.swift +4 -4
  6. package/ios/NitroGeolocation.swift +543 -68
  7. package/ios/NitroGeolocationCompat.swift +109 -0
  8. package/nitrogen/generated/android/c++/JAuthorizationLevel.hpp +61 -0
  9. package/nitrogen/generated/android/c++/JAuthorizationLevelInternal.hpp +3 -4
  10. package/nitrogen/generated/android/c++/JFunc_void.hpp +2 -1
  11. package/nitrogen/generated/android/c++/JFunc_void_GeolocationError.hpp +2 -1
  12. package/nitrogen/generated/android/c++/JFunc_void_GeolocationResponse.hpp +6 -1
  13. package/nitrogen/generated/android/c++/JFunc_void_LocationError.hpp +78 -0
  14. package/nitrogen/generated/android/c++/JGeolocationCoordinates.hpp +25 -17
  15. package/nitrogen/generated/android/c++/JGeolocationError.hpp +5 -1
  16. package/nitrogen/generated/android/c++/JGeolocationOptions.hpp +5 -1
  17. package/nitrogen/generated/android/c++/JGeolocationResponse.hpp +9 -1
  18. package/nitrogen/generated/android/c++/JHybridNitroGeolocationCompatSpec.cpp +109 -0
  19. package/nitrogen/generated/android/c++/JHybridNitroGeolocationCompatSpec.hpp +70 -0
  20. package/nitrogen/generated/android/c++/JHybridNitroGeolocationSpec.cpp +98 -42
  21. package/nitrogen/generated/android/c++/JHybridNitroGeolocationSpec.hpp +7 -5
  22. package/nitrogen/generated/android/c++/JLocationError.hpp +61 -0
  23. package/nitrogen/generated/android/c++/JLocationProvider.hpp +61 -0
  24. package/nitrogen/generated/android/c++/JLocationProviderInternal.hpp +3 -4
  25. package/nitrogen/generated/android/c++/JLocationRequestOptions.hpp +81 -0
  26. package/nitrogen/generated/android/c++/JModernGeolocationConfiguration.hpp +73 -0
  27. package/nitrogen/generated/android/c++/JNullableDouble.cpp +26 -0
  28. package/nitrogen/generated/android/c++/JNullableDouble.hpp +69 -0
  29. package/nitrogen/generated/android/c++/JPermissionStatus.hpp +64 -0
  30. package/nitrogen/generated/android/c++/JRNConfigurationInternal.hpp +5 -1
  31. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AuthorizationLevel.kt +24 -0
  32. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AuthorizationLevelInternal.kt +2 -0
  33. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void.kt +0 -1
  34. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_GeolocationError.kt +0 -1
  35. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_GeolocationResponse.kt +0 -1
  36. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_LocationError.kt +80 -0
  37. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeolocationCoordinates.kt +34 -25
  38. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeolocationError.kt +27 -18
  39. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeolocationOptions.kt +33 -24
  40. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeolocationResponse.kt +18 -9
  41. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/HybridNitroGeolocationCompatSpec.kt +92 -0
  42. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/HybridNitroGeolocationSpec.kt +17 -17
  43. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationError.kt +41 -0
  44. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationProvider.kt +24 -0
  45. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationProviderInternal.kt +2 -0
  46. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationRequestOptions.kt +56 -0
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/ModernGeolocationConfiguration.kt +47 -0
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/NullableDouble.kt +59 -0
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/PermissionStatus.kt +25 -0
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/RNConfigurationInternal.kt +24 -15
  51. package/nitrogen/generated/android/nitrogeolocation+autolinking.cmake +3 -0
  52. package/nitrogen/generated/android/nitrogeolocationOnLoad.cpp +14 -2
  53. package/nitrogen/generated/ios/NitroGeolocation+autolinking.rb +1 -1
  54. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.cpp +55 -13
  55. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.hpp +325 -68
  56. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Umbrella.hpp +26 -0
  57. package/nitrogen/generated/ios/NitroGeolocationAutolinking.mm +8 -0
  58. package/nitrogen/generated/ios/NitroGeolocationAutolinking.swift +15 -0
  59. package/nitrogen/generated/ios/c++/HybridNitroGeolocationCompatSpecSwift.cpp +11 -0
  60. package/nitrogen/generated/ios/c++/HybridNitroGeolocationCompatSpecSwift.hpp +130 -0
  61. package/nitrogen/generated/ios/c++/HybridNitroGeolocationSpecSwift.hpp +47 -26
  62. package/nitrogen/generated/ios/swift/AuthorizationLevel.swift +44 -0
  63. package/nitrogen/generated/ios/swift/Func_void.swift +1 -1
  64. package/nitrogen/generated/ios/swift/Func_void_GeolocationError.swift +1 -1
  65. package/nitrogen/generated/ios/swift/Func_void_GeolocationResponse.swift +1 -1
  66. package/nitrogen/generated/ios/swift/Func_void_LocationError.swift +47 -0
  67. package/nitrogen/generated/ios/swift/Func_void_PermissionStatus.swift +47 -0
  68. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  69. package/nitrogen/generated/ios/swift/GeolocationCoordinates.swift +132 -93
  70. package/nitrogen/generated/ios/swift/GeolocationError.swift +11 -40
  71. package/nitrogen/generated/ios/swift/GeolocationOptions.swift +29 -98
  72. package/nitrogen/generated/ios/swift/GeolocationResponse.swift +5 -16
  73. package/nitrogen/generated/ios/swift/HybridNitroGeolocationCompatSpec.swift +61 -0
  74. package/nitrogen/generated/ios/swift/HybridNitroGeolocationCompatSpec_cxx.swift +244 -0
  75. package/nitrogen/generated/ios/swift/HybridNitroGeolocationSpec.swift +13 -5
  76. package/nitrogen/generated/ios/swift/HybridNitroGeolocationSpec_cxx.swift +66 -64
  77. package/nitrogen/generated/ios/swift/LocationError.swift +35 -0
  78. package/nitrogen/generated/ios/swift/LocationProvider.swift +44 -0
  79. package/nitrogen/generated/ios/swift/LocationRequestOptions.swift +116 -0
  80. package/nitrogen/generated/ios/swift/ModernGeolocationConfiguration.swift +83 -0
  81. package/nitrogen/generated/ios/swift/NullableDouble.swift +18 -0
  82. package/nitrogen/generated/ios/swift/PermissionStatus.swift +48 -0
  83. package/nitrogen/generated/ios/swift/RNConfigurationInternal.swift +16 -50
  84. package/nitrogen/generated/shared/c++/AuthorizationLevel.hpp +80 -0
  85. package/nitrogen/generated/shared/c++/GeolocationCoordinates.hpp +45 -27
  86. package/nitrogen/generated/shared/c++/GeolocationError.hpp +32 -16
  87. package/nitrogen/generated/shared/c++/GeolocationOptions.hpp +38 -22
  88. package/nitrogen/generated/shared/c++/GeolocationResponse.hpp +23 -7
  89. package/nitrogen/generated/shared/c++/HybridNitroGeolocationCompatSpec.cpp +26 -0
  90. package/nitrogen/generated/shared/c++/HybridNitroGeolocationCompatSpec.hpp +79 -0
  91. package/nitrogen/generated/shared/c++/HybridNitroGeolocationSpec.cpp +4 -3
  92. package/nitrogen/generated/shared/c++/HybridNitroGeolocationSpec.hpp +22 -16
  93. package/nitrogen/generated/shared/c++/LocationError.hpp +87 -0
  94. package/nitrogen/generated/shared/c++/LocationProvider.hpp +80 -0
  95. package/nitrogen/generated/shared/c++/LocationRequestOptions.hpp +107 -0
  96. package/nitrogen/generated/shared/c++/ModernGeolocationConfiguration.hpp +100 -0
  97. package/nitrogen/generated/shared/c++/PermissionStatus.hpp +84 -0
  98. package/nitrogen/generated/shared/c++/RNConfigurationInternal.hpp +29 -13
  99. package/package.json +16 -7
  100. package/src/GeolocationClient.ts +116 -0
  101. package/src/NitroGeolocation.nitro.ts +177 -30
  102. package/src/NitroGeolocationCompat.nitro.ts +41 -0
  103. package/src/NitroGeolocationModule.ts +6 -0
  104. package/src/compat/clearWatch.ts +9 -0
  105. package/src/{getCurrentPosition.ts → compat/getCurrentPosition.ts} +7 -3
  106. package/src/compat/index.tsx +34 -0
  107. package/src/compat/requestAuthorization.ts +9 -0
  108. package/src/{setRNConfiguration.ts → compat/setRNConfiguration.ts} +6 -4
  109. package/src/{stopObserving.ts → compat/stopObserving.ts} +4 -2
  110. package/src/{watchPosition.ts → compat/watchPosition.ts} +7 -6
  111. package/src/components/GeolocationProvider.tsx +91 -0
  112. package/src/components/index.ts +13 -0
  113. package/src/hooks/index.ts +9 -0
  114. package/src/hooks/useCheckPermission.ts +46 -0
  115. package/src/hooks/useGetCurrentPosition.ts +44 -0
  116. package/src/hooks/useRequestPermission.ts +38 -0
  117. package/src/hooks/useWatchPosition.ts +127 -0
  118. package/src/index.tsx +72 -27
  119. package/src/types.ts +32 -4
  120. package/src/utils/cache.ts +25 -0
  121. package/src/utils/config.ts +93 -0
  122. package/src/utils/errors.ts +82 -0
  123. package/src/utils/index.ts +27 -0
  124. package/src/utils/provider.ts +61 -0
  125. package/src/utils/quality.ts +98 -0
  126. package/src/clearWatch.ts +0 -13
  127. package/src/requestAuthorization.ts +0 -9
@@ -5,6 +5,7 @@
5
5
  /// Copyright © 2025 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
+ import Foundation
8
9
  import NitroModules
9
10
 
10
11
  /**
@@ -18,132 +19,170 @@ public extension GeolocationCoordinates {
18
19
  /**
19
20
  * Create a new instance of `GeolocationCoordinates`.
20
21
  */
21
- init(latitude: Double, longitude: Double, altitude: Double?, accuracy: Double, altitudeAccuracy: Double?, heading: Double?, speed: Double?) {
22
- self.init(latitude, longitude, { () -> bridge.std__optional_double_ in
22
+ init(latitude: Double, longitude: Double, altitude: NullableDouble?, accuracy: Double, altitudeAccuracy: NullableDouble?, heading: NullableDouble?, speed: NullableDouble?) {
23
+ self.init(latitude, longitude, { () -> bridge.std__optional_std__variant_nitro__NullType__double__ in
23
24
  if let __unwrappedValue = altitude {
24
- return bridge.create_std__optional_double_(__unwrappedValue)
25
+ return bridge.create_std__optional_std__variant_nitro__NullType__double__({ () -> bridge.std__variant_nitro__NullType__double_ in
26
+ switch __unwrappedValue {
27
+ case .first(let __value):
28
+ return bridge.create_std__variant_nitro__NullType__double_(margelo.nitro.NullType.null)
29
+ case .second(let __value):
30
+ return bridge.create_std__variant_nitro__NullType__double_(__value)
31
+ }
32
+ }().variant)
25
33
  } else {
26
34
  return .init()
27
35
  }
28
- }(), accuracy, { () -> bridge.std__optional_double_ in
36
+ }(), accuracy, { () -> bridge.std__optional_std__variant_nitro__NullType__double__ in
29
37
  if let __unwrappedValue = altitudeAccuracy {
30
- return bridge.create_std__optional_double_(__unwrappedValue)
38
+ return bridge.create_std__optional_std__variant_nitro__NullType__double__({ () -> bridge.std__variant_nitro__NullType__double_ in
39
+ switch __unwrappedValue {
40
+ case .first(let __value):
41
+ return bridge.create_std__variant_nitro__NullType__double_(margelo.nitro.NullType.null)
42
+ case .second(let __value):
43
+ return bridge.create_std__variant_nitro__NullType__double_(__value)
44
+ }
45
+ }().variant)
31
46
  } else {
32
47
  return .init()
33
48
  }
34
- }(), { () -> bridge.std__optional_double_ in
49
+ }(), { () -> bridge.std__optional_std__variant_nitro__NullType__double__ in
35
50
  if let __unwrappedValue = heading {
36
- return bridge.create_std__optional_double_(__unwrappedValue)
51
+ return bridge.create_std__optional_std__variant_nitro__NullType__double__({ () -> bridge.std__variant_nitro__NullType__double_ in
52
+ switch __unwrappedValue {
53
+ case .first(let __value):
54
+ return bridge.create_std__variant_nitro__NullType__double_(margelo.nitro.NullType.null)
55
+ case .second(let __value):
56
+ return bridge.create_std__variant_nitro__NullType__double_(__value)
57
+ }
58
+ }().variant)
37
59
  } else {
38
60
  return .init()
39
61
  }
40
- }(), { () -> bridge.std__optional_double_ in
62
+ }(), { () -> bridge.std__optional_std__variant_nitro__NullType__double__ in
41
63
  if let __unwrappedValue = speed {
42
- return bridge.create_std__optional_double_(__unwrappedValue)
64
+ return bridge.create_std__optional_std__variant_nitro__NullType__double__({ () -> bridge.std__variant_nitro__NullType__double_ in
65
+ switch __unwrappedValue {
66
+ case .first(let __value):
67
+ return bridge.create_std__variant_nitro__NullType__double_(margelo.nitro.NullType.null)
68
+ case .second(let __value):
69
+ return bridge.create_std__variant_nitro__NullType__double_(__value)
70
+ }
71
+ }().variant)
43
72
  } else {
44
73
  return .init()
45
74
  }
46
75
  }())
47
76
  }
48
77
 
78
+ @inline(__always)
49
79
  var latitude: Double {
50
- @inline(__always)
51
- get {
52
- return self.__latitude
53
- }
54
- @inline(__always)
55
- set {
56
- self.__latitude = newValue
57
- }
80
+ return self.__latitude
58
81
  }
59
82
 
83
+ @inline(__always)
60
84
  var longitude: Double {
61
- @inline(__always)
62
- get {
63
- return self.__longitude
64
- }
65
- @inline(__always)
66
- set {
67
- self.__longitude = newValue
68
- }
85
+ return self.__longitude
69
86
  }
70
87
 
71
- var altitude: Double? {
72
- @inline(__always)
73
- get {
74
- return self.__altitude.value
75
- }
76
- @inline(__always)
77
- set {
78
- self.__altitude = { () -> bridge.std__optional_double_ in
79
- if let __unwrappedValue = newValue {
80
- return bridge.create_std__optional_double_(__unwrappedValue)
81
- } else {
82
- return .init()
83
- }
84
- }()
85
- }
88
+ @inline(__always)
89
+ var altitude: NullableDouble? {
90
+ return { () -> NullableDouble? in
91
+ if bridge.has_value_std__optional_std__variant_nitro__NullType__double__(self.__altitude) {
92
+ let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__double__(self.__altitude)
93
+ return { () -> NullableDouble in
94
+ let __variant = bridge.std__variant_nitro__NullType__double_(__unwrapped)
95
+ switch __variant.index() {
96
+ case 0:
97
+ let __actual = __variant.get_0()
98
+ return .first(NullType.null)
99
+ case 1:
100
+ let __actual = __variant.get_1()
101
+ return .second(__actual)
102
+ default:
103
+ fatalError("Variant can never have index \(__variant.index())!")
104
+ }
105
+ }()
106
+ } else {
107
+ return nil
108
+ }
109
+ }()
86
110
  }
87
111
 
112
+ @inline(__always)
88
113
  var accuracy: Double {
89
- @inline(__always)
90
- get {
91
- return self.__accuracy
92
- }
93
- @inline(__always)
94
- set {
95
- self.__accuracy = newValue
96
- }
114
+ return self.__accuracy
97
115
  }
98
116
 
99
- var altitudeAccuracy: Double? {
100
- @inline(__always)
101
- get {
102
- return self.__altitudeAccuracy.value
103
- }
104
- @inline(__always)
105
- set {
106
- self.__altitudeAccuracy = { () -> bridge.std__optional_double_ in
107
- if let __unwrappedValue = newValue {
108
- return bridge.create_std__optional_double_(__unwrappedValue)
109
- } else {
110
- return .init()
111
- }
112
- }()
113
- }
117
+ @inline(__always)
118
+ var altitudeAccuracy: NullableDouble? {
119
+ return { () -> NullableDouble? in
120
+ if bridge.has_value_std__optional_std__variant_nitro__NullType__double__(self.__altitudeAccuracy) {
121
+ let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__double__(self.__altitudeAccuracy)
122
+ return { () -> NullableDouble in
123
+ let __variant = bridge.std__variant_nitro__NullType__double_(__unwrapped)
124
+ switch __variant.index() {
125
+ case 0:
126
+ let __actual = __variant.get_0()
127
+ return .first(NullType.null)
128
+ case 1:
129
+ let __actual = __variant.get_1()
130
+ return .second(__actual)
131
+ default:
132
+ fatalError("Variant can never have index \(__variant.index())!")
133
+ }
134
+ }()
135
+ } else {
136
+ return nil
137
+ }
138
+ }()
114
139
  }
115
140
 
116
- var heading: Double? {
117
- @inline(__always)
118
- get {
119
- return self.__heading.value
120
- }
121
- @inline(__always)
122
- set {
123
- self.__heading = { () -> bridge.std__optional_double_ in
124
- if let __unwrappedValue = newValue {
125
- return bridge.create_std__optional_double_(__unwrappedValue)
126
- } else {
127
- return .init()
128
- }
129
- }()
130
- }
141
+ @inline(__always)
142
+ var heading: NullableDouble? {
143
+ return { () -> NullableDouble? in
144
+ if bridge.has_value_std__optional_std__variant_nitro__NullType__double__(self.__heading) {
145
+ let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__double__(self.__heading)
146
+ return { () -> NullableDouble in
147
+ let __variant = bridge.std__variant_nitro__NullType__double_(__unwrapped)
148
+ switch __variant.index() {
149
+ case 0:
150
+ let __actual = __variant.get_0()
151
+ return .first(NullType.null)
152
+ case 1:
153
+ let __actual = __variant.get_1()
154
+ return .second(__actual)
155
+ default:
156
+ fatalError("Variant can never have index \(__variant.index())!")
157
+ }
158
+ }()
159
+ } else {
160
+ return nil
161
+ }
162
+ }()
131
163
  }
132
164
 
133
- var speed: Double? {
134
- @inline(__always)
135
- get {
136
- return self.__speed.value
137
- }
138
- @inline(__always)
139
- set {
140
- self.__speed = { () -> bridge.std__optional_double_ in
141
- if let __unwrappedValue = newValue {
142
- return bridge.create_std__optional_double_(__unwrappedValue)
143
- } else {
144
- return .init()
145
- }
146
- }()
147
- }
165
+ @inline(__always)
166
+ var speed: NullableDouble? {
167
+ return { () -> NullableDouble? in
168
+ if bridge.has_value_std__optional_std__variant_nitro__NullType__double__(self.__speed) {
169
+ let __unwrapped = bridge.get_std__optional_std__variant_nitro__NullType__double__(self.__speed)
170
+ return { () -> NullableDouble in
171
+ let __variant = bridge.std__variant_nitro__NullType__double_(__unwrapped)
172
+ switch __variant.index() {
173
+ case 0:
174
+ let __actual = __variant.get_0()
175
+ return .first(NullType.null)
176
+ case 1:
177
+ let __actual = __variant.get_1()
178
+ return .second(__actual)
179
+ default:
180
+ fatalError("Variant can never have index \(__variant.index())!")
181
+ }
182
+ }()
183
+ } else {
184
+ return nil
185
+ }
186
+ }()
148
187
  }
149
188
  }
@@ -5,6 +5,7 @@
5
5
  /// Copyright © 2025 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
+ import Foundation
8
9
  import NitroModules
9
10
 
10
11
  /**
@@ -22,58 +23,28 @@ public extension GeolocationError {
22
23
  self.init(code, std.string(message), PERMISSION_DENIED, POSITION_UNAVAILABLE, TIMEOUT)
23
24
  }
24
25
 
26
+ @inline(__always)
25
27
  var code: Double {
26
- @inline(__always)
27
- get {
28
- return self.__code
29
- }
30
- @inline(__always)
31
- set {
32
- self.__code = newValue
33
- }
28
+ return self.__code
34
29
  }
35
30
 
31
+ @inline(__always)
36
32
  var message: String {
37
- @inline(__always)
38
- get {
39
- return String(self.__message)
40
- }
41
- @inline(__always)
42
- set {
43
- self.__message = std.string(newValue)
44
- }
33
+ return String(self.__message)
45
34
  }
46
35
 
36
+ @inline(__always)
47
37
  var PERMISSION_DENIED: Double {
48
- @inline(__always)
49
- get {
50
- return self.__PERMISSION_DENIED
51
- }
52
- @inline(__always)
53
- set {
54
- self.__PERMISSION_DENIED = newValue
55
- }
38
+ return self.__PERMISSION_DENIED
56
39
  }
57
40
 
41
+ @inline(__always)
58
42
  var POSITION_UNAVAILABLE: Double {
59
- @inline(__always)
60
- get {
61
- return self.__POSITION_UNAVAILABLE
62
- }
63
- @inline(__always)
64
- set {
65
- self.__POSITION_UNAVAILABLE = newValue
66
- }
43
+ return self.__POSITION_UNAVAILABLE
67
44
  }
68
45
 
46
+ @inline(__always)
69
47
  var TIMEOUT: Double {
70
- @inline(__always)
71
- get {
72
- return self.__TIMEOUT
73
- }
74
- @inline(__always)
75
- set {
76
- self.__TIMEOUT = newValue
77
- }
48
+ return self.__TIMEOUT
78
49
  }
79
50
  }
@@ -5,6 +5,7 @@
5
5
  /// Copyright © 2025 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
+ import Foundation
8
9
  import NitroModules
9
10
 
10
11
  /**
@@ -64,122 +65,52 @@ public extension GeolocationOptions {
64
65
  }())
65
66
  }
66
67
 
68
+ @inline(__always)
67
69
  var timeout: Double? {
68
- @inline(__always)
69
- get {
70
- return self.__timeout.value
71
- }
72
- @inline(__always)
73
- set {
74
- self.__timeout = { () -> bridge.std__optional_double_ in
75
- if let __unwrappedValue = newValue {
76
- return bridge.create_std__optional_double_(__unwrappedValue)
77
- } else {
78
- return .init()
79
- }
80
- }()
81
- }
70
+ return self.__timeout.value
82
71
  }
83
72
 
73
+ @inline(__always)
84
74
  var maximumAge: Double? {
85
- @inline(__always)
86
- get {
87
- return self.__maximumAge.value
88
- }
89
- @inline(__always)
90
- set {
91
- self.__maximumAge = { () -> bridge.std__optional_double_ in
92
- if let __unwrappedValue = newValue {
93
- return bridge.create_std__optional_double_(__unwrappedValue)
94
- } else {
95
- return .init()
96
- }
97
- }()
98
- }
75
+ return self.__maximumAge.value
99
76
  }
100
77
 
78
+ @inline(__always)
101
79
  var enableHighAccuracy: Bool? {
102
- @inline(__always)
103
- get {
104
- return self.__enableHighAccuracy.value
105
- }
106
- @inline(__always)
107
- set {
108
- self.__enableHighAccuracy = { () -> bridge.std__optional_bool_ in
109
- if let __unwrappedValue = newValue {
110
- return bridge.create_std__optional_bool_(__unwrappedValue)
111
- } else {
112
- return .init()
113
- }
114
- }()
115
- }
80
+ return { () -> Bool? in
81
+ if bridge.has_value_std__optional_bool_(self.__enableHighAccuracy) {
82
+ let __unwrapped = bridge.get_std__optional_bool_(self.__enableHighAccuracy)
83
+ return __unwrapped
84
+ } else {
85
+ return nil
86
+ }
87
+ }()
116
88
  }
117
89
 
90
+ @inline(__always)
118
91
  var interval: Double? {
119
- @inline(__always)
120
- get {
121
- return self.__interval.value
122
- }
123
- @inline(__always)
124
- set {
125
- self.__interval = { () -> bridge.std__optional_double_ in
126
- if let __unwrappedValue = newValue {
127
- return bridge.create_std__optional_double_(__unwrappedValue)
128
- } else {
129
- return .init()
130
- }
131
- }()
132
- }
92
+ return self.__interval.value
133
93
  }
134
94
 
95
+ @inline(__always)
135
96
  var fastestInterval: Double? {
136
- @inline(__always)
137
- get {
138
- return self.__fastestInterval.value
139
- }
140
- @inline(__always)
141
- set {
142
- self.__fastestInterval = { () -> bridge.std__optional_double_ in
143
- if let __unwrappedValue = newValue {
144
- return bridge.create_std__optional_double_(__unwrappedValue)
145
- } else {
146
- return .init()
147
- }
148
- }()
149
- }
97
+ return self.__fastestInterval.value
150
98
  }
151
99
 
100
+ @inline(__always)
152
101
  var distanceFilter: Double? {
153
- @inline(__always)
154
- get {
155
- return self.__distanceFilter.value
156
- }
157
- @inline(__always)
158
- set {
159
- self.__distanceFilter = { () -> bridge.std__optional_double_ in
160
- if let __unwrappedValue = newValue {
161
- return bridge.create_std__optional_double_(__unwrappedValue)
162
- } else {
163
- return .init()
164
- }
165
- }()
166
- }
102
+ return self.__distanceFilter.value
167
103
  }
168
104
 
105
+ @inline(__always)
169
106
  var useSignificantChanges: Bool? {
170
- @inline(__always)
171
- get {
172
- return self.__useSignificantChanges.value
173
- }
174
- @inline(__always)
175
- set {
176
- self.__useSignificantChanges = { () -> bridge.std__optional_bool_ in
177
- if let __unwrappedValue = newValue {
178
- return bridge.create_std__optional_bool_(__unwrappedValue)
179
- } else {
180
- return .init()
181
- }
182
- }()
183
- }
107
+ return { () -> Bool? in
108
+ if bridge.has_value_std__optional_bool_(self.__useSignificantChanges) {
109
+ let __unwrapped = bridge.get_std__optional_bool_(self.__useSignificantChanges)
110
+ return __unwrapped
111
+ } else {
112
+ return nil
113
+ }
114
+ }()
184
115
  }
185
116
  }
@@ -5,6 +5,7 @@
5
5
  /// Copyright © 2025 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
+ import Foundation
8
9
  import NitroModules
9
10
 
10
11
  /**
@@ -22,25 +23,13 @@ public extension GeolocationResponse {
22
23
  self.init(coords, timestamp)
23
24
  }
24
25
 
26
+ @inline(__always)
25
27
  var coords: GeolocationCoordinates {
26
- @inline(__always)
27
- get {
28
- return self.__coords
29
- }
30
- @inline(__always)
31
- set {
32
- self.__coords = newValue
33
- }
28
+ return self.__coords
34
29
  }
35
30
 
31
+ @inline(__always)
36
32
  var timestamp: Double {
37
- @inline(__always)
38
- get {
39
- return self.__timestamp
40
- }
41
- @inline(__always)
42
- set {
43
- self.__timestamp = newValue
44
- }
33
+ return self.__timestamp
45
34
  }
46
35
  }
@@ -0,0 +1,61 @@
1
+ ///
2
+ /// HybridNitroGeolocationCompatSpec.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /// See ``HybridNitroGeolocationCompatSpec``
12
+ public protocol HybridNitroGeolocationCompatSpec_protocol: HybridObject {
13
+ // Properties
14
+
15
+
16
+ // Methods
17
+ func setRNConfiguration(config: RNConfigurationInternal) throws -> Void
18
+ func requestAuthorization(success: (() -> Void)?, error: ((_ error: GeolocationError) -> Void)?) throws -> Void
19
+ func getCurrentPosition(success: @escaping (_ position: GeolocationResponse) -> Void, error: ((_ error: GeolocationError) -> Void)?, options: GeolocationOptions?) throws -> Void
20
+ func watchPosition(success: @escaping (_ position: GeolocationResponse) -> Void, error: ((_ error: GeolocationError) -> Void)?, options: GeolocationOptions?) throws -> Double
21
+ func clearWatch(watchId: Double) throws -> Void
22
+ func stopObserving() throws -> Void
23
+ }
24
+
25
+ public extension HybridNitroGeolocationCompatSpec_protocol {
26
+ /// Default implementation of ``HybridObject.toString``
27
+ func toString() -> String {
28
+ return "[HybridObject NitroGeolocationCompat]"
29
+ }
30
+ }
31
+
32
+ /// See ``HybridNitroGeolocationCompatSpec``
33
+ open class HybridNitroGeolocationCompatSpec_base {
34
+ private weak var cxxWrapper: HybridNitroGeolocationCompatSpec_cxx? = nil
35
+ public init() { }
36
+ public func getCxxWrapper() -> HybridNitroGeolocationCompatSpec_cxx {
37
+ #if DEBUG
38
+ guard self is HybridNitroGeolocationCompatSpec else {
39
+ fatalError("`self` is not a `HybridNitroGeolocationCompatSpec`! Did you accidentally inherit from `HybridNitroGeolocationCompatSpec_base` instead of `HybridNitroGeolocationCompatSpec`?")
40
+ }
41
+ #endif
42
+ if let cxxWrapper = self.cxxWrapper {
43
+ return cxxWrapper
44
+ } else {
45
+ let cxxWrapper = HybridNitroGeolocationCompatSpec_cxx(self as! HybridNitroGeolocationCompatSpec)
46
+ self.cxxWrapper = cxxWrapper
47
+ return cxxWrapper
48
+ }
49
+ }
50
+ }
51
+
52
+ /**
53
+ * A Swift base-protocol representing the NitroGeolocationCompat HybridObject.
54
+ * Implement this protocol to create Swift-based instances of NitroGeolocationCompat.
55
+ * ```swift
56
+ * class HybridNitroGeolocationCompat : HybridNitroGeolocationCompatSpec {
57
+ * // ...
58
+ * }
59
+ * ```
60
+ */
61
+ public typealias HybridNitroGeolocationCompatSpec = HybridNitroGeolocationCompatSpec_protocol & HybridNitroGeolocationCompatSpec_base