react-native-google-maps-plus 1.4.1 → 1.6.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/android/src/main/java/com/rngooglemapsplus/GoogleMapsViewImpl.kt +41 -144
- package/android/src/main/java/com/rngooglemapsplus/LocationHandler.kt +38 -36
- package/android/src/main/java/com/rngooglemapsplus/extensions/CameraPositionExtension.kt +12 -0
- package/android/src/main/java/com/rngooglemapsplus/extensions/IntExtension.kt +28 -0
- package/android/src/main/java/com/rngooglemapsplus/extensions/LatLngBounds.kt +15 -0
- package/android/src/main/java/com/rngooglemapsplus/extensions/LocationExtension.kt +59 -0
- package/app.plugin.js +1 -0
- package/expoConfig/build/android/withAndroidGoogleMapsPlus.js +21 -0
- package/expoConfig/build/index.js +17 -0
- package/expoConfig/build/ios/withIosGoogleMapsPlus.js +91 -0
- package/expoConfig/build/types.js +2 -0
- package/ios/GoogleMapViewImpl.swift +28 -138
- package/ios/LocationHandler.swift +5 -13
- package/ios/MapHelper.swift +20 -0
- package/ios/MapMarkerBuilder.swift +44 -69
- package/ios/RNGoogleMapsPlusView.swift +12 -8
- package/ios/extensions/CLError+Extension.swift +14 -0
- package/ios/extensions/CLLocation+Extension.swift +27 -0
- package/ios/extensions/GMSCameraPosition+Extension.swift +12 -0
- package/ios/extensions/GMSCoordinateBounds+Extension.swift +19 -0
- package/ios/extensions/RNMarker+Extension.swift +2 -3
- package/lib/module/GoogleMapsPlus.js +7 -0
- package/lib/module/GoogleMapsPlus.js.map +1 -0
- package/lib/module/index.js +3 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/nitrogen/generated/shared/json/RNGoogleMapsPlusViewConfig.json +44 -0
- package/lib/typescript/src/GoogleMapsPlus.d.ts +5 -0
- package/lib/typescript/src/GoogleMapsPlus.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +25 -0
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_RNLocation.hpp +6 -0
- package/nitrogen/generated/android/c++/JHybridRNGoogleMapsPlusViewSpec.cpp +8 -0
- package/nitrogen/generated/android/c++/JRNAndroidLocationConfig.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNCamera.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNCircle.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNHeatmap.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNHeatmapGradient.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNHeatmapPoint.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNIOSLocationConfig.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNIndoorBuilding.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNIndoorLevel.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNInitialProps.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNKMLayer.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNLatLng.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNLatLngBounds.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNLocation.hpp +37 -3
- package/nitrogen/generated/android/c++/JRNLocationAndroid.hpp +86 -0
- package/nitrogen/generated/android/c++/JRNLocationConfig.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNLocationIOS.hpp +81 -0
- package/nitrogen/generated/android/c++/JRNLocationPermissionResult.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNMapPadding.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNMapUiSettings.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNMapZoomConfig.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNMarker.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNMarkerSvg.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNPolygon.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNPolygonHole.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNPolyline.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNPosition.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNRegion.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNSize.hpp +5 -1
- package/nitrogen/generated/android/c++/JRNSnapshotOptions.hpp +5 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/HybridRNGoogleMapsPlusModuleSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/HybridRNGoogleMapsPlusViewSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNAndroidLocationConfig.kt +19 -11
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNCamera.kt +22 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNCircle.kt +36 -28
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNHeatmap.kt +31 -23
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNHeatmapGradient.kt +19 -11
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNHeatmapPoint.kt +19 -11
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNIOSLocationConfig.kt +16 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNIndoorBuilding.kt +22 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNIndoorLevel.kt +22 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNInitialProps.kt +19 -11
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNKMLayer.kt +16 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLatLng.kt +16 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLatLngBounds.kt +16 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLocation.kt +34 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLocationAndroid.kt +58 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLocationConfig.kt +16 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLocationIOS.kt +55 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNLocationPermissionResult.kt +16 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMapPadding.kt +22 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMapUiSettings.kt +43 -35
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMapZoomConfig.kt +16 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMarker.kt +49 -41
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNMarkerSvg.kt +19 -11
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNPolygon.kt +39 -31
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNPolygonHole.kt +13 -5
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNPolyline.kt +39 -31
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNPosition.kt +16 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNRegion.kt +19 -11
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNSize.kt +16 -8
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/RNSnapshotOptions.kt +22 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngooglemapsplus/views/HybridRNGoogleMapsPlusViewManager.kt +7 -2
- package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Bridge.hpp +36 -0
- package/nitrogen/generated/ios/RNGoogleMapsPlus-Swift-Cxx-Umbrella.hpp +6 -0
- package/nitrogen/generated/ios/c++/HybridRNGoogleMapsPlusViewSpecSwift.hpp +6 -0
- package/nitrogen/generated/ios/c++/views/HybridRNGoogleMapsPlusViewComponent.mm +8 -0
- package/nitrogen/generated/ios/swift/HybridRNGoogleMapsPlusViewSpec_cxx.swift +56 -7
- package/nitrogen/generated/ios/swift/RNCircle.swift +8 -1
- package/nitrogen/generated/ios/swift/RNHeatmap.swift +8 -1
- package/nitrogen/generated/ios/swift/RNIndoorBuilding.swift +8 -1
- package/nitrogen/generated/ios/swift/RNIndoorLevel.swift +8 -1
- package/nitrogen/generated/ios/swift/RNInitialProps.swift +8 -1
- package/nitrogen/generated/ios/swift/RNLocation.swift +92 -2
- package/nitrogen/generated/ios/swift/RNLocationAndroid.swift +222 -0
- package/nitrogen/generated/ios/swift/RNLocationIOS.swift +192 -0
- package/nitrogen/generated/ios/swift/RNMapUiSettings.swift +88 -11
- package/nitrogen/generated/ios/swift/RNMarker.swift +24 -3
- package/nitrogen/generated/ios/swift/RNPolygon.swift +16 -2
- package/nitrogen/generated/ios/swift/RNPolyline.swift +16 -2
- package/nitrogen/generated/shared/c++/RNLocation.hpp +33 -2
- package/nitrogen/generated/shared/c++/RNLocationAndroid.hpp +104 -0
- package/nitrogen/generated/shared/c++/RNLocationIOS.hpp +99 -0
- package/package.json +20 -17
- package/src/GoogleMapsPlus.tsx +20 -0
- package/src/index.tsx +6 -14
- package/src/types.ts +27 -0
- package/lib/module/package.json +0 -1
- package/lib/typescript/package.json +0 -1
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// RNLocationIOS.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 NitroModules
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents an instance of `RNLocationIOS`, backed by a C++ struct.
|
|
12
|
+
*/
|
|
13
|
+
public typealias RNLocationIOS = margelo.nitro.rngooglemapsplus.RNLocationIOS
|
|
14
|
+
|
|
15
|
+
public extension RNLocationIOS {
|
|
16
|
+
private typealias bridge = margelo.nitro.rngooglemapsplus.bridge.swift
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a new instance of `RNLocationIOS`.
|
|
20
|
+
*/
|
|
21
|
+
init(horizontalAccuracy: Double?, verticalAccuracy: Double?, speedAccuracy: Double?, courseAccuracy: Double?, floor: Double?, isFromMockProvider: Bool?, timestamp: Double?) {
|
|
22
|
+
self.init({ () -> bridge.std__optional_double_ in
|
|
23
|
+
if let __unwrappedValue = horizontalAccuracy {
|
|
24
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
25
|
+
} else {
|
|
26
|
+
return .init()
|
|
27
|
+
}
|
|
28
|
+
}(), { () -> bridge.std__optional_double_ in
|
|
29
|
+
if let __unwrappedValue = verticalAccuracy {
|
|
30
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
31
|
+
} else {
|
|
32
|
+
return .init()
|
|
33
|
+
}
|
|
34
|
+
}(), { () -> bridge.std__optional_double_ in
|
|
35
|
+
if let __unwrappedValue = speedAccuracy {
|
|
36
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
37
|
+
} else {
|
|
38
|
+
return .init()
|
|
39
|
+
}
|
|
40
|
+
}(), { () -> bridge.std__optional_double_ in
|
|
41
|
+
if let __unwrappedValue = courseAccuracy {
|
|
42
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
43
|
+
} else {
|
|
44
|
+
return .init()
|
|
45
|
+
}
|
|
46
|
+
}(), { () -> bridge.std__optional_double_ in
|
|
47
|
+
if let __unwrappedValue = floor {
|
|
48
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
49
|
+
} else {
|
|
50
|
+
return .init()
|
|
51
|
+
}
|
|
52
|
+
}(), { () -> bridge.std__optional_bool_ in
|
|
53
|
+
if let __unwrappedValue = isFromMockProvider {
|
|
54
|
+
return bridge.create_std__optional_bool_(__unwrappedValue)
|
|
55
|
+
} else {
|
|
56
|
+
return .init()
|
|
57
|
+
}
|
|
58
|
+
}(), { () -> bridge.std__optional_double_ in
|
|
59
|
+
if let __unwrappedValue = timestamp {
|
|
60
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
61
|
+
} else {
|
|
62
|
+
return .init()
|
|
63
|
+
}
|
|
64
|
+
}())
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
var horizontalAccuracy: Double? {
|
|
68
|
+
@inline(__always)
|
|
69
|
+
get {
|
|
70
|
+
return self.__horizontalAccuracy.value
|
|
71
|
+
}
|
|
72
|
+
@inline(__always)
|
|
73
|
+
set {
|
|
74
|
+
self.__horizontalAccuracy = { () -> 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
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
var verticalAccuracy: Double? {
|
|
85
|
+
@inline(__always)
|
|
86
|
+
get {
|
|
87
|
+
return self.__verticalAccuracy.value
|
|
88
|
+
}
|
|
89
|
+
@inline(__always)
|
|
90
|
+
set {
|
|
91
|
+
self.__verticalAccuracy = { () -> 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
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
var speedAccuracy: Double? {
|
|
102
|
+
@inline(__always)
|
|
103
|
+
get {
|
|
104
|
+
return self.__speedAccuracy.value
|
|
105
|
+
}
|
|
106
|
+
@inline(__always)
|
|
107
|
+
set {
|
|
108
|
+
self.__speedAccuracy = { () -> bridge.std__optional_double_ in
|
|
109
|
+
if let __unwrappedValue = newValue {
|
|
110
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
111
|
+
} else {
|
|
112
|
+
return .init()
|
|
113
|
+
}
|
|
114
|
+
}()
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
var courseAccuracy: Double? {
|
|
119
|
+
@inline(__always)
|
|
120
|
+
get {
|
|
121
|
+
return self.__courseAccuracy.value
|
|
122
|
+
}
|
|
123
|
+
@inline(__always)
|
|
124
|
+
set {
|
|
125
|
+
self.__courseAccuracy = { () -> 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
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
var floor: Double? {
|
|
136
|
+
@inline(__always)
|
|
137
|
+
get {
|
|
138
|
+
return self.__floor.value
|
|
139
|
+
}
|
|
140
|
+
@inline(__always)
|
|
141
|
+
set {
|
|
142
|
+
self.__floor = { () -> 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
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
var isFromMockProvider: Bool? {
|
|
153
|
+
@inline(__always)
|
|
154
|
+
get {
|
|
155
|
+
return { () -> Bool? in
|
|
156
|
+
if bridge.has_value_std__optional_bool_(self.__isFromMockProvider) {
|
|
157
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__isFromMockProvider)
|
|
158
|
+
return __unwrapped
|
|
159
|
+
} else {
|
|
160
|
+
return nil
|
|
161
|
+
}
|
|
162
|
+
}()
|
|
163
|
+
}
|
|
164
|
+
@inline(__always)
|
|
165
|
+
set {
|
|
166
|
+
self.__isFromMockProvider = { () -> bridge.std__optional_bool_ in
|
|
167
|
+
if let __unwrappedValue = newValue {
|
|
168
|
+
return bridge.create_std__optional_bool_(__unwrappedValue)
|
|
169
|
+
} else {
|
|
170
|
+
return .init()
|
|
171
|
+
}
|
|
172
|
+
}()
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
var timestamp: Double? {
|
|
177
|
+
@inline(__always)
|
|
178
|
+
get {
|
|
179
|
+
return self.__timestamp.value
|
|
180
|
+
}
|
|
181
|
+
@inline(__always)
|
|
182
|
+
set {
|
|
183
|
+
self.__timestamp = { () -> bridge.std__optional_double_ in
|
|
184
|
+
if let __unwrappedValue = newValue {
|
|
185
|
+
return bridge.create_std__optional_double_(__unwrappedValue)
|
|
186
|
+
} else {
|
|
187
|
+
return .init()
|
|
188
|
+
}
|
|
189
|
+
}()
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
@@ -91,7 +91,14 @@ public extension RNMapUiSettings {
|
|
|
91
91
|
var allGesturesEnabled: Bool? {
|
|
92
92
|
@inline(__always)
|
|
93
93
|
get {
|
|
94
|
-
return
|
|
94
|
+
return { () -> Bool? in
|
|
95
|
+
if bridge.has_value_std__optional_bool_(self.__allGesturesEnabled) {
|
|
96
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__allGesturesEnabled)
|
|
97
|
+
return __unwrapped
|
|
98
|
+
} else {
|
|
99
|
+
return nil
|
|
100
|
+
}
|
|
101
|
+
}()
|
|
95
102
|
}
|
|
96
103
|
@inline(__always)
|
|
97
104
|
set {
|
|
@@ -108,7 +115,14 @@ public extension RNMapUiSettings {
|
|
|
108
115
|
var compassEnabled: Bool? {
|
|
109
116
|
@inline(__always)
|
|
110
117
|
get {
|
|
111
|
-
return
|
|
118
|
+
return { () -> Bool? in
|
|
119
|
+
if bridge.has_value_std__optional_bool_(self.__compassEnabled) {
|
|
120
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__compassEnabled)
|
|
121
|
+
return __unwrapped
|
|
122
|
+
} else {
|
|
123
|
+
return nil
|
|
124
|
+
}
|
|
125
|
+
}()
|
|
112
126
|
}
|
|
113
127
|
@inline(__always)
|
|
114
128
|
set {
|
|
@@ -125,7 +139,14 @@ public extension RNMapUiSettings {
|
|
|
125
139
|
var indoorLevelPickerEnabled: Bool? {
|
|
126
140
|
@inline(__always)
|
|
127
141
|
get {
|
|
128
|
-
return
|
|
142
|
+
return { () -> Bool? in
|
|
143
|
+
if bridge.has_value_std__optional_bool_(self.__indoorLevelPickerEnabled) {
|
|
144
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__indoorLevelPickerEnabled)
|
|
145
|
+
return __unwrapped
|
|
146
|
+
} else {
|
|
147
|
+
return nil
|
|
148
|
+
}
|
|
149
|
+
}()
|
|
129
150
|
}
|
|
130
151
|
@inline(__always)
|
|
131
152
|
set {
|
|
@@ -142,7 +163,14 @@ public extension RNMapUiSettings {
|
|
|
142
163
|
var mapToolbarEnabled: Bool? {
|
|
143
164
|
@inline(__always)
|
|
144
165
|
get {
|
|
145
|
-
return
|
|
166
|
+
return { () -> Bool? in
|
|
167
|
+
if bridge.has_value_std__optional_bool_(self.__mapToolbarEnabled) {
|
|
168
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__mapToolbarEnabled)
|
|
169
|
+
return __unwrapped
|
|
170
|
+
} else {
|
|
171
|
+
return nil
|
|
172
|
+
}
|
|
173
|
+
}()
|
|
146
174
|
}
|
|
147
175
|
@inline(__always)
|
|
148
176
|
set {
|
|
@@ -159,7 +187,14 @@ public extension RNMapUiSettings {
|
|
|
159
187
|
var myLocationButtonEnabled: Bool? {
|
|
160
188
|
@inline(__always)
|
|
161
189
|
get {
|
|
162
|
-
return
|
|
190
|
+
return { () -> Bool? in
|
|
191
|
+
if bridge.has_value_std__optional_bool_(self.__myLocationButtonEnabled) {
|
|
192
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__myLocationButtonEnabled)
|
|
193
|
+
return __unwrapped
|
|
194
|
+
} else {
|
|
195
|
+
return nil
|
|
196
|
+
}
|
|
197
|
+
}()
|
|
163
198
|
}
|
|
164
199
|
@inline(__always)
|
|
165
200
|
set {
|
|
@@ -176,7 +211,14 @@ public extension RNMapUiSettings {
|
|
|
176
211
|
var rotateEnabled: Bool? {
|
|
177
212
|
@inline(__always)
|
|
178
213
|
get {
|
|
179
|
-
return
|
|
214
|
+
return { () -> Bool? in
|
|
215
|
+
if bridge.has_value_std__optional_bool_(self.__rotateEnabled) {
|
|
216
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__rotateEnabled)
|
|
217
|
+
return __unwrapped
|
|
218
|
+
} else {
|
|
219
|
+
return nil
|
|
220
|
+
}
|
|
221
|
+
}()
|
|
180
222
|
}
|
|
181
223
|
@inline(__always)
|
|
182
224
|
set {
|
|
@@ -193,7 +235,14 @@ public extension RNMapUiSettings {
|
|
|
193
235
|
var scrollEnabled: Bool? {
|
|
194
236
|
@inline(__always)
|
|
195
237
|
get {
|
|
196
|
-
return
|
|
238
|
+
return { () -> Bool? in
|
|
239
|
+
if bridge.has_value_std__optional_bool_(self.__scrollEnabled) {
|
|
240
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__scrollEnabled)
|
|
241
|
+
return __unwrapped
|
|
242
|
+
} else {
|
|
243
|
+
return nil
|
|
244
|
+
}
|
|
245
|
+
}()
|
|
197
246
|
}
|
|
198
247
|
@inline(__always)
|
|
199
248
|
set {
|
|
@@ -210,7 +259,14 @@ public extension RNMapUiSettings {
|
|
|
210
259
|
var scrollDuringRotateOrZoomEnabled: Bool? {
|
|
211
260
|
@inline(__always)
|
|
212
261
|
get {
|
|
213
|
-
return
|
|
262
|
+
return { () -> Bool? in
|
|
263
|
+
if bridge.has_value_std__optional_bool_(self.__scrollDuringRotateOrZoomEnabled) {
|
|
264
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__scrollDuringRotateOrZoomEnabled)
|
|
265
|
+
return __unwrapped
|
|
266
|
+
} else {
|
|
267
|
+
return nil
|
|
268
|
+
}
|
|
269
|
+
}()
|
|
214
270
|
}
|
|
215
271
|
@inline(__always)
|
|
216
272
|
set {
|
|
@@ -227,7 +283,14 @@ public extension RNMapUiSettings {
|
|
|
227
283
|
var tiltEnabled: Bool? {
|
|
228
284
|
@inline(__always)
|
|
229
285
|
get {
|
|
230
|
-
return
|
|
286
|
+
return { () -> Bool? in
|
|
287
|
+
if bridge.has_value_std__optional_bool_(self.__tiltEnabled) {
|
|
288
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__tiltEnabled)
|
|
289
|
+
return __unwrapped
|
|
290
|
+
} else {
|
|
291
|
+
return nil
|
|
292
|
+
}
|
|
293
|
+
}()
|
|
231
294
|
}
|
|
232
295
|
@inline(__always)
|
|
233
296
|
set {
|
|
@@ -244,7 +307,14 @@ public extension RNMapUiSettings {
|
|
|
244
307
|
var zoomControlsEnabled: Bool? {
|
|
245
308
|
@inline(__always)
|
|
246
309
|
get {
|
|
247
|
-
return
|
|
310
|
+
return { () -> Bool? in
|
|
311
|
+
if bridge.has_value_std__optional_bool_(self.__zoomControlsEnabled) {
|
|
312
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__zoomControlsEnabled)
|
|
313
|
+
return __unwrapped
|
|
314
|
+
} else {
|
|
315
|
+
return nil
|
|
316
|
+
}
|
|
317
|
+
}()
|
|
248
318
|
}
|
|
249
319
|
@inline(__always)
|
|
250
320
|
set {
|
|
@@ -261,7 +331,14 @@ public extension RNMapUiSettings {
|
|
|
261
331
|
var zoomGesturesEnabled: Bool? {
|
|
262
332
|
@inline(__always)
|
|
263
333
|
get {
|
|
264
|
-
return
|
|
334
|
+
return { () -> Bool? in
|
|
335
|
+
if bridge.has_value_std__optional_bool_(self.__zoomGesturesEnabled) {
|
|
336
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__zoomGesturesEnabled)
|
|
337
|
+
return __unwrapped
|
|
338
|
+
} else {
|
|
339
|
+
return nil
|
|
340
|
+
}
|
|
341
|
+
}()
|
|
265
342
|
}
|
|
266
343
|
@inline(__always)
|
|
267
344
|
set {
|
|
@@ -147,7 +147,14 @@ public extension RNMarker {
|
|
|
147
147
|
var showInfoWindow: Bool? {
|
|
148
148
|
@inline(__always)
|
|
149
149
|
get {
|
|
150
|
-
return
|
|
150
|
+
return { () -> Bool? in
|
|
151
|
+
if bridge.has_value_std__optional_bool_(self.__showInfoWindow) {
|
|
152
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__showInfoWindow)
|
|
153
|
+
return __unwrapped
|
|
154
|
+
} else {
|
|
155
|
+
return nil
|
|
156
|
+
}
|
|
157
|
+
}()
|
|
151
158
|
}
|
|
152
159
|
@inline(__always)
|
|
153
160
|
set {
|
|
@@ -229,7 +236,14 @@ public extension RNMarker {
|
|
|
229
236
|
var flat: Bool? {
|
|
230
237
|
@inline(__always)
|
|
231
238
|
get {
|
|
232
|
-
return
|
|
239
|
+
return { () -> Bool? in
|
|
240
|
+
if bridge.has_value_std__optional_bool_(self.__flat) {
|
|
241
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__flat)
|
|
242
|
+
return __unwrapped
|
|
243
|
+
} else {
|
|
244
|
+
return nil
|
|
245
|
+
}
|
|
246
|
+
}()
|
|
233
247
|
}
|
|
234
248
|
@inline(__always)
|
|
235
249
|
set {
|
|
@@ -246,7 +260,14 @@ public extension RNMarker {
|
|
|
246
260
|
var draggable: Bool? {
|
|
247
261
|
@inline(__always)
|
|
248
262
|
get {
|
|
249
|
-
return
|
|
263
|
+
return { () -> Bool? in
|
|
264
|
+
if bridge.has_value_std__optional_bool_(self.__draggable) {
|
|
265
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__draggable)
|
|
266
|
+
return __unwrapped
|
|
267
|
+
} else {
|
|
268
|
+
return nil
|
|
269
|
+
}
|
|
270
|
+
}()
|
|
250
271
|
}
|
|
251
272
|
@inline(__always)
|
|
252
273
|
set {
|
|
@@ -107,7 +107,14 @@ public extension RNPolygon {
|
|
|
107
107
|
var pressable: Bool? {
|
|
108
108
|
@inline(__always)
|
|
109
109
|
get {
|
|
110
|
-
return
|
|
110
|
+
return { () -> Bool? in
|
|
111
|
+
if bridge.has_value_std__optional_bool_(self.__pressable) {
|
|
112
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__pressable)
|
|
113
|
+
return __unwrapped
|
|
114
|
+
} else {
|
|
115
|
+
return nil
|
|
116
|
+
}
|
|
117
|
+
}()
|
|
111
118
|
}
|
|
112
119
|
@inline(__always)
|
|
113
120
|
set {
|
|
@@ -236,7 +243,14 @@ public extension RNPolygon {
|
|
|
236
243
|
var geodesic: Bool? {
|
|
237
244
|
@inline(__always)
|
|
238
245
|
get {
|
|
239
|
-
return
|
|
246
|
+
return { () -> Bool? in
|
|
247
|
+
if bridge.has_value_std__optional_bool_(self.__geodesic) {
|
|
248
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__geodesic)
|
|
249
|
+
return __unwrapped
|
|
250
|
+
} else {
|
|
251
|
+
return nil
|
|
252
|
+
}
|
|
253
|
+
}()
|
|
240
254
|
}
|
|
241
255
|
@inline(__always)
|
|
242
256
|
set {
|
|
@@ -101,7 +101,14 @@ public extension RNPolyline {
|
|
|
101
101
|
var pressable: Bool? {
|
|
102
102
|
@inline(__always)
|
|
103
103
|
get {
|
|
104
|
-
return
|
|
104
|
+
return { () -> Bool? in
|
|
105
|
+
if bridge.has_value_std__optional_bool_(self.__pressable) {
|
|
106
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__pressable)
|
|
107
|
+
return __unwrapped
|
|
108
|
+
} else {
|
|
109
|
+
return nil
|
|
110
|
+
}
|
|
111
|
+
}()
|
|
105
112
|
}
|
|
106
113
|
@inline(__always)
|
|
107
114
|
set {
|
|
@@ -169,7 +176,14 @@ public extension RNPolyline {
|
|
|
169
176
|
var geodesic: Bool? {
|
|
170
177
|
@inline(__always)
|
|
171
178
|
get {
|
|
172
|
-
return
|
|
179
|
+
return { () -> Bool? in
|
|
180
|
+
if bridge.has_value_std__optional_bool_(self.__geodesic) {
|
|
181
|
+
let __unwrapped = bridge.get_std__optional_bool_(self.__geodesic)
|
|
182
|
+
return __unwrapped
|
|
183
|
+
} else {
|
|
184
|
+
return nil
|
|
185
|
+
}
|
|
186
|
+
}()
|
|
173
187
|
}
|
|
174
188
|
@inline(__always)
|
|
175
189
|
set {
|
|
@@ -25,8 +25,15 @@
|
|
|
25
25
|
|
|
26
26
|
// Forward declaration of `RNLatLng` to properly resolve imports.
|
|
27
27
|
namespace margelo::nitro::rngooglemapsplus { struct RNLatLng; }
|
|
28
|
+
// Forward declaration of `RNLocationAndroid` to properly resolve imports.
|
|
29
|
+
namespace margelo::nitro::rngooglemapsplus { struct RNLocationAndroid; }
|
|
30
|
+
// Forward declaration of `RNLocationIOS` to properly resolve imports.
|
|
31
|
+
namespace margelo::nitro::rngooglemapsplus { struct RNLocationIOS; }
|
|
28
32
|
|
|
29
33
|
#include "RNLatLng.hpp"
|
|
34
|
+
#include "RNLocationAndroid.hpp"
|
|
35
|
+
#include <optional>
|
|
36
|
+
#include "RNLocationIOS.hpp"
|
|
30
37
|
|
|
31
38
|
namespace margelo::nitro::rngooglemapsplus {
|
|
32
39
|
|
|
@@ -36,11 +43,17 @@ namespace margelo::nitro::rngooglemapsplus {
|
|
|
36
43
|
struct RNLocation {
|
|
37
44
|
public:
|
|
38
45
|
RNLatLng center SWIFT_PRIVATE;
|
|
46
|
+
double altitude SWIFT_PRIVATE;
|
|
47
|
+
double accuracy SWIFT_PRIVATE;
|
|
39
48
|
double bearing SWIFT_PRIVATE;
|
|
49
|
+
double speed SWIFT_PRIVATE;
|
|
50
|
+
double time SWIFT_PRIVATE;
|
|
51
|
+
std::optional<RNLocationAndroid> android SWIFT_PRIVATE;
|
|
52
|
+
std::optional<RNLocationIOS> ios SWIFT_PRIVATE;
|
|
40
53
|
|
|
41
54
|
public:
|
|
42
55
|
RNLocation() = default;
|
|
43
|
-
explicit RNLocation(RNLatLng center, double bearing): center(center), bearing(bearing) {}
|
|
56
|
+
explicit RNLocation(RNLatLng center, double altitude, double accuracy, double bearing, double speed, double time, std::optional<RNLocationAndroid> android, std::optional<RNLocationIOS> ios): center(center), altitude(altitude), accuracy(accuracy), bearing(bearing), speed(speed), time(time), android(android), ios(ios) {}
|
|
44
57
|
};
|
|
45
58
|
|
|
46
59
|
} // namespace margelo::nitro::rngooglemapsplus
|
|
@@ -54,13 +67,25 @@ namespace margelo::nitro {
|
|
|
54
67
|
jsi::Object obj = arg.asObject(runtime);
|
|
55
68
|
return margelo::nitro::rngooglemapsplus::RNLocation(
|
|
56
69
|
JSIConverter<margelo::nitro::rngooglemapsplus::RNLatLng>::fromJSI(runtime, obj.getProperty(runtime, "center")),
|
|
57
|
-
JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "
|
|
70
|
+
JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "altitude")),
|
|
71
|
+
JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "accuracy")),
|
|
72
|
+
JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "bearing")),
|
|
73
|
+
JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "speed")),
|
|
74
|
+
JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, "time")),
|
|
75
|
+
JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLocationAndroid>>::fromJSI(runtime, obj.getProperty(runtime, "android")),
|
|
76
|
+
JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLocationIOS>>::fromJSI(runtime, obj.getProperty(runtime, "ios"))
|
|
58
77
|
);
|
|
59
78
|
}
|
|
60
79
|
static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::rngooglemapsplus::RNLocation& arg) {
|
|
61
80
|
jsi::Object obj(runtime);
|
|
62
81
|
obj.setProperty(runtime, "center", JSIConverter<margelo::nitro::rngooglemapsplus::RNLatLng>::toJSI(runtime, arg.center));
|
|
82
|
+
obj.setProperty(runtime, "altitude", JSIConverter<double>::toJSI(runtime, arg.altitude));
|
|
83
|
+
obj.setProperty(runtime, "accuracy", JSIConverter<double>::toJSI(runtime, arg.accuracy));
|
|
63
84
|
obj.setProperty(runtime, "bearing", JSIConverter<double>::toJSI(runtime, arg.bearing));
|
|
85
|
+
obj.setProperty(runtime, "speed", JSIConverter<double>::toJSI(runtime, arg.speed));
|
|
86
|
+
obj.setProperty(runtime, "time", JSIConverter<double>::toJSI(runtime, arg.time));
|
|
87
|
+
obj.setProperty(runtime, "android", JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLocationAndroid>>::toJSI(runtime, arg.android));
|
|
88
|
+
obj.setProperty(runtime, "ios", JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLocationIOS>>::toJSI(runtime, arg.ios));
|
|
64
89
|
return obj;
|
|
65
90
|
}
|
|
66
91
|
static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
|
|
@@ -72,7 +97,13 @@ namespace margelo::nitro {
|
|
|
72
97
|
return false;
|
|
73
98
|
}
|
|
74
99
|
if (!JSIConverter<margelo::nitro::rngooglemapsplus::RNLatLng>::canConvert(runtime, obj.getProperty(runtime, "center"))) return false;
|
|
100
|
+
if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "altitude"))) return false;
|
|
101
|
+
if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "accuracy"))) return false;
|
|
75
102
|
if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "bearing"))) return false;
|
|
103
|
+
if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "speed"))) return false;
|
|
104
|
+
if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, "time"))) return false;
|
|
105
|
+
if (!JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLocationAndroid>>::canConvert(runtime, obj.getProperty(runtime, "android"))) return false;
|
|
106
|
+
if (!JSIConverter<std::optional<margelo::nitro::rngooglemapsplus::RNLocationIOS>>::canConvert(runtime, obj.getProperty(runtime, "ios"))) return false;
|
|
76
107
|
return true;
|
|
77
108
|
}
|
|
78
109
|
};
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// RNLocationAndroid.hpp
|
|
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
|
+
#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
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
#include <string>
|
|
29
|
+
#include <optional>
|
|
30
|
+
|
|
31
|
+
namespace margelo::nitro::rngooglemapsplus {
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* A struct which can be represented as a JavaScript object (RNLocationAndroid).
|
|
35
|
+
*/
|
|
36
|
+
struct RNLocationAndroid {
|
|
37
|
+
public:
|
|
38
|
+
std::optional<std::string> provider SWIFT_PRIVATE;
|
|
39
|
+
std::optional<double> elapsedRealtimeNanos SWIFT_PRIVATE;
|
|
40
|
+
std::optional<double> bearingAccuracyDegrees SWIFT_PRIVATE;
|
|
41
|
+
std::optional<double> speedAccuracyMetersPerSecond SWIFT_PRIVATE;
|
|
42
|
+
std::optional<double> verticalAccuracyMeters SWIFT_PRIVATE;
|
|
43
|
+
std::optional<double> mslAltitudeMeters SWIFT_PRIVATE;
|
|
44
|
+
std::optional<double> mslAltitudeAccuracyMeters SWIFT_PRIVATE;
|
|
45
|
+
std::optional<bool> isMock SWIFT_PRIVATE;
|
|
46
|
+
|
|
47
|
+
public:
|
|
48
|
+
RNLocationAndroid() = default;
|
|
49
|
+
explicit RNLocationAndroid(std::optional<std::string> provider, std::optional<double> elapsedRealtimeNanos, std::optional<double> bearingAccuracyDegrees, std::optional<double> speedAccuracyMetersPerSecond, std::optional<double> verticalAccuracyMeters, std::optional<double> mslAltitudeMeters, std::optional<double> mslAltitudeAccuracyMeters, std::optional<bool> isMock): provider(provider), elapsedRealtimeNanos(elapsedRealtimeNanos), bearingAccuracyDegrees(bearingAccuracyDegrees), speedAccuracyMetersPerSecond(speedAccuracyMetersPerSecond), verticalAccuracyMeters(verticalAccuracyMeters), mslAltitudeMeters(mslAltitudeMeters), mslAltitudeAccuracyMeters(mslAltitudeAccuracyMeters), isMock(isMock) {}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
} // namespace margelo::nitro::rngooglemapsplus
|
|
53
|
+
|
|
54
|
+
namespace margelo::nitro {
|
|
55
|
+
|
|
56
|
+
// C++ RNLocationAndroid <> JS RNLocationAndroid (object)
|
|
57
|
+
template <>
|
|
58
|
+
struct JSIConverter<margelo::nitro::rngooglemapsplus::RNLocationAndroid> final {
|
|
59
|
+
static inline margelo::nitro::rngooglemapsplus::RNLocationAndroid fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
|
|
60
|
+
jsi::Object obj = arg.asObject(runtime);
|
|
61
|
+
return margelo::nitro::rngooglemapsplus::RNLocationAndroid(
|
|
62
|
+
JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "provider")),
|
|
63
|
+
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "elapsedRealtimeNanos")),
|
|
64
|
+
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "bearingAccuracyDegrees")),
|
|
65
|
+
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "speedAccuracyMetersPerSecond")),
|
|
66
|
+
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "verticalAccuracyMeters")),
|
|
67
|
+
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "mslAltitudeMeters")),
|
|
68
|
+
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "mslAltitudeAccuracyMeters")),
|
|
69
|
+
JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "isMock"))
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::rngooglemapsplus::RNLocationAndroid& arg) {
|
|
73
|
+
jsi::Object obj(runtime);
|
|
74
|
+
obj.setProperty(runtime, "provider", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.provider));
|
|
75
|
+
obj.setProperty(runtime, "elapsedRealtimeNanos", JSIConverter<std::optional<double>>::toJSI(runtime, arg.elapsedRealtimeNanos));
|
|
76
|
+
obj.setProperty(runtime, "bearingAccuracyDegrees", JSIConverter<std::optional<double>>::toJSI(runtime, arg.bearingAccuracyDegrees));
|
|
77
|
+
obj.setProperty(runtime, "speedAccuracyMetersPerSecond", JSIConverter<std::optional<double>>::toJSI(runtime, arg.speedAccuracyMetersPerSecond));
|
|
78
|
+
obj.setProperty(runtime, "verticalAccuracyMeters", JSIConverter<std::optional<double>>::toJSI(runtime, arg.verticalAccuracyMeters));
|
|
79
|
+
obj.setProperty(runtime, "mslAltitudeMeters", JSIConverter<std::optional<double>>::toJSI(runtime, arg.mslAltitudeMeters));
|
|
80
|
+
obj.setProperty(runtime, "mslAltitudeAccuracyMeters", JSIConverter<std::optional<double>>::toJSI(runtime, arg.mslAltitudeAccuracyMeters));
|
|
81
|
+
obj.setProperty(runtime, "isMock", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.isMock));
|
|
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<std::string>>::canConvert(runtime, obj.getProperty(runtime, "provider"))) return false;
|
|
93
|
+
if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "elapsedRealtimeNanos"))) return false;
|
|
94
|
+
if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "bearingAccuracyDegrees"))) return false;
|
|
95
|
+
if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "speedAccuracyMetersPerSecond"))) return false;
|
|
96
|
+
if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "verticalAccuracyMeters"))) return false;
|
|
97
|
+
if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "mslAltitudeMeters"))) return false;
|
|
98
|
+
if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "mslAltitudeAccuracyMeters"))) return false;
|
|
99
|
+
if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "isMock"))) return false;
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
} // namespace margelo::nitro
|