@maydon_tech/react-native-nitro-maps 0.1.4 → 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 (217) hide show
  1. package/LICENSE +1 -1
  2. package/NitroMap.podspec +1 -1
  3. package/README.md +82 -9
  4. package/android/CMakeLists.txt +4 -1
  5. package/android/gradle.properties +4 -4
  6. package/android/src/main/cpp/ClusterEngineJNI.cpp +198 -0
  7. package/android/src/main/kotlin/com/margelo/nitro/nitromap/NitroMap.kt +397 -0
  8. package/android/src/main/kotlin/com/margelo/nitro/nitromap/NitroMapConfig.kt +53 -0
  9. package/android/src/main/{java → kotlin}/com/margelo/nitro/nitromap/NitroMapPackage.kt +4 -4
  10. package/android/src/main/kotlin/com/margelo/nitro/nitromap/NitroMapView.kt +73 -0
  11. package/android/src/main/kotlin/com/margelo/nitro/nitromap/UserLocationManager.kt +295 -0
  12. package/android/src/main/kotlin/com/margelo/nitro/nitromap/clustering/ClusterIconRenderer.kt +111 -0
  13. package/android/src/main/kotlin/com/margelo/nitro/nitromap/clustering/ClusteringManager.kt +104 -0
  14. package/android/src/main/kotlin/com/margelo/nitro/nitromap/clustering/NitroClusterEngine.kt +166 -0
  15. package/android/src/main/kotlin/com/margelo/nitro/nitromap/markers/MarkerIconFactory.kt +303 -0
  16. package/android/src/main/kotlin/com/margelo/nitro/nitromap/markers/MarkerSelectionHandler.kt +72 -0
  17. package/android/src/main/kotlin/com/margelo/nitro/nitromap/markers/PriceMarkerRenderer.kt +159 -0
  18. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/MapProviderFactory.kt +24 -0
  19. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/MapProviderInterface.kt +128 -0
  20. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapDelegate.kt +317 -0
  21. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider+Clustering.kt +524 -0
  22. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider+Markers.kt +358 -0
  23. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider+Overlays.kt +272 -0
  24. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider+UserLocation.kt +296 -0
  25. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/GoogleMapProvider.kt +815 -0
  26. package/android/src/main/kotlin/com/margelo/nitro/nitromap/providers/google/MarkerTagData.kt +19 -0
  27. package/ios/Location/NitroLocationManager.swift +116 -0
  28. package/ios/MarkerRenderer/MarkerIconFactory.swift +1 -3
  29. package/ios/MarkerRenderer/PriceMarkerRenderer.swift +10 -6
  30. package/ios/NitroMap.swift +279 -13
  31. package/ios/NitroMapConfig/NitroMapConfig.swift +45 -0
  32. package/ios/Providers/{GoogleMapDelegate.swift → Google/GoogleMapDelegate.swift} +48 -23
  33. package/ios/Providers/Google/GoogleMapProvider+Camera.swift +180 -0
  34. package/ios/Providers/Google/GoogleMapProvider+Clustering.swift +541 -0
  35. package/ios/Providers/Google/GoogleMapProvider+Markers.swift +270 -0
  36. package/ios/Providers/Google/GoogleMapProvider+Overlays.swift +245 -0
  37. package/ios/Providers/Google/GoogleMapProvider+UserLocation.swift +180 -0
  38. package/ios/Providers/Google/GoogleMapProvider.swift +342 -0
  39. package/ios/Providers/MapProviderFactory.swift +17 -0
  40. package/ios/Providers/MapProviderProtocol.swift +48 -1
  41. package/ios/Shared/ClusterConfig+Factory.swift +2 -2
  42. package/ios/Shared/MapStyleProvider.swift +6 -4
  43. package/ios/Shared/MarkerSelectionHandler.swift +4 -1
  44. package/ios/Utils/ColorValueExtension.swift +46 -67
  45. package/lib/module/components/ImageMarker.js +39 -29
  46. package/lib/module/components/ImageMarker.js.map +1 -1
  47. package/lib/module/components/Marker.js +118 -0
  48. package/lib/module/components/Marker.js.map +1 -0
  49. package/lib/module/components/NitroCircle.js +92 -0
  50. package/lib/module/components/NitroCircle.js.map +1 -0
  51. package/lib/module/components/NitroMap.js +216 -76
  52. package/lib/module/components/NitroMap.js.map +1 -1
  53. package/lib/module/components/NitroPolygon.js +135 -0
  54. package/lib/module/components/NitroPolygon.js.map +1 -0
  55. package/lib/module/components/NitroPolyline.js +115 -0
  56. package/lib/module/components/NitroPolyline.js.map +1 -0
  57. package/lib/module/components/PriceMarker.js +16 -29
  58. package/lib/module/components/PriceMarker.js.map +1 -1
  59. package/lib/module/context/NitroMapContext.js.map +1 -1
  60. package/lib/module/hooks/useNitroCircle.js +18 -0
  61. package/lib/module/hooks/useNitroCircle.js.map +1 -0
  62. package/lib/module/hooks/useNitroMarker.js +26 -9
  63. package/lib/module/hooks/useNitroMarker.js.map +1 -1
  64. package/lib/module/hooks/useNitroOverlay.js +59 -0
  65. package/lib/module/hooks/useNitroOverlay.js.map +1 -0
  66. package/lib/module/hooks/useNitroPolygon.js +18 -0
  67. package/lib/module/hooks/useNitroPolygon.js.map +1 -0
  68. package/lib/module/hooks/useNitroPolyline.js +18 -0
  69. package/lib/module/hooks/useNitroPolyline.js.map +1 -0
  70. package/lib/module/index.js +5 -0
  71. package/lib/module/index.js.map +1 -1
  72. package/lib/module/types/overlay.js +4 -0
  73. package/lib/module/types/overlay.js.map +1 -0
  74. package/lib/module/types/theme.js +4 -0
  75. package/lib/module/types/theme.js.map +1 -0
  76. package/lib/module/utils/colors.js +41 -13
  77. package/lib/module/utils/colors.js.map +1 -1
  78. package/lib/module/utils/validation.js +45 -0
  79. package/lib/module/utils/validation.js.map +1 -0
  80. package/lib/typescript/src/components/ImageMarker.d.ts.map +1 -1
  81. package/lib/typescript/src/components/Marker.d.ts +34 -0
  82. package/lib/typescript/src/components/Marker.d.ts.map +1 -0
  83. package/lib/typescript/src/components/NitroCircle.d.ts +70 -0
  84. package/lib/typescript/src/components/NitroCircle.d.ts.map +1 -0
  85. package/lib/typescript/src/components/NitroMap.d.ts +60 -3
  86. package/lib/typescript/src/components/NitroMap.d.ts.map +1 -1
  87. package/lib/typescript/src/components/NitroPolygon.d.ts +86 -0
  88. package/lib/typescript/src/components/NitroPolygon.d.ts.map +1 -0
  89. package/lib/typescript/src/components/NitroPolyline.d.ts +84 -0
  90. package/lib/typescript/src/components/NitroPolyline.d.ts.map +1 -0
  91. package/lib/typescript/src/components/PriceMarker.d.ts +0 -5
  92. package/lib/typescript/src/components/PriceMarker.d.ts.map +1 -1
  93. package/lib/typescript/src/context/NitroMapContext.d.ts +2 -0
  94. package/lib/typescript/src/context/NitroMapContext.d.ts.map +1 -1
  95. package/lib/typescript/src/hooks/useNitroCircle.d.ts +7 -0
  96. package/lib/typescript/src/hooks/useNitroCircle.d.ts.map +1 -0
  97. package/lib/typescript/src/hooks/useNitroMarker.d.ts +20 -0
  98. package/lib/typescript/src/hooks/useNitroMarker.d.ts.map +1 -1
  99. package/lib/typescript/src/hooks/useNitroOverlay.d.ts +26 -0
  100. package/lib/typescript/src/hooks/useNitroOverlay.d.ts.map +1 -0
  101. package/lib/typescript/src/hooks/useNitroPolygon.d.ts +7 -0
  102. package/lib/typescript/src/hooks/useNitroPolygon.d.ts.map +1 -0
  103. package/lib/typescript/src/hooks/useNitroPolyline.d.ts +7 -0
  104. package/lib/typescript/src/hooks/useNitroPolyline.d.ts.map +1 -0
  105. package/lib/typescript/src/index.d.ts +15 -2
  106. package/lib/typescript/src/index.d.ts.map +1 -1
  107. package/lib/typescript/src/specs/NitroMap.nitro.d.ts +248 -6
  108. package/lib/typescript/src/specs/NitroMap.nitro.d.ts.map +1 -1
  109. package/lib/typescript/src/types/map.d.ts +34 -4
  110. package/lib/typescript/src/types/map.d.ts.map +1 -1
  111. package/lib/typescript/src/types/marker.d.ts +24 -36
  112. package/lib/typescript/src/types/marker.d.ts.map +1 -1
  113. package/lib/typescript/src/types/overlay.d.ts +75 -0
  114. package/lib/typescript/src/types/overlay.d.ts.map +1 -0
  115. package/lib/typescript/src/types/theme.d.ts +93 -0
  116. package/lib/typescript/src/types/theme.d.ts.map +1 -0
  117. package/lib/typescript/src/utils/colors.d.ts +6 -8
  118. package/lib/typescript/src/utils/colors.d.ts.map +1 -1
  119. package/lib/typescript/src/utils/validation.d.ts +12 -0
  120. package/lib/typescript/src/utils/validation.d.ts.map +1 -0
  121. package/nitrogen/generated/android/c++/JCircleData.hpp +94 -0
  122. package/nitrogen/generated/android/c++/JClusterConfig.hpp +5 -7
  123. package/nitrogen/generated/android/c++/JFunc_void_UserLocationChangeEvent.hpp +79 -0
  124. package/nitrogen/generated/android/c++/JFunc_void_UserTrackingMode.hpp +77 -0
  125. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +76 -0
  126. package/nitrogen/generated/android/c++/JHybridNitroMapSpec.cpp +328 -21
  127. package/nitrogen/generated/android/c++/JHybridNitroMapSpec.hpp +53 -2
  128. package/nitrogen/generated/android/c++/JMarkerAnimation.hpp +3 -6
  129. package/nitrogen/generated/android/c++/JMarkerData.hpp +15 -3
  130. package/nitrogen/generated/android/c++/JPolygonData.hpp +149 -0
  131. package/nitrogen/generated/android/c++/JPolylineData.hpp +113 -0
  132. package/nitrogen/generated/android/c++/JUserLocationChangeEvent.hpp +70 -0
  133. package/nitrogen/generated/android/c++/JUserTrackingMode.hpp +62 -0
  134. package/nitrogen/generated/android/c++/views/JHybridNitroMapStateUpdater.cpp +72 -4
  135. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/CircleData.kt +62 -0
  136. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ClusterConfig.kt +4 -4
  137. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_UserLocationChangeEvent.kt +80 -0
  138. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_UserTrackingMode.kt +80 -0
  139. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_std__string.kt +80 -0
  140. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/HybridNitroMapSpec.kt +228 -2
  141. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerAnimation.kt +1 -2
  142. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerData.kt +12 -3
  143. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/PolygonData.kt +62 -0
  144. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/PolylineData.kt +62 -0
  145. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/UserLocationChangeEvent.kt +47 -0
  146. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/{ClusterAnimationStyle.kt → UserTrackingMode.kt} +6 -8
  147. package/nitrogen/generated/android/nitromapOnLoad.cpp +6 -0
  148. package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Bridge.cpp +24 -0
  149. package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Bridge.hpp +175 -17
  150. package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Umbrella.hpp +15 -3
  151. package/nitrogen/generated/ios/c++/HybridNitroMapSpecSwift.hpp +249 -16
  152. package/nitrogen/generated/ios/c++/views/HybridNitroMapComponent.mm +90 -5
  153. package/nitrogen/generated/ios/swift/CircleData.swift +143 -0
  154. package/nitrogen/generated/ios/swift/ClusterConfig.swift +22 -15
  155. package/nitrogen/generated/ios/swift/Func_void_UserLocationChangeEvent.swift +47 -0
  156. package/nitrogen/generated/ios/swift/Func_void_UserTrackingMode.swift +47 -0
  157. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  158. package/nitrogen/generated/ios/swift/HybridNitroMapSpec.swift +35 -1
  159. package/nitrogen/generated/ios/swift/HybridNitroMapSpec_cxx.swift +582 -8
  160. package/nitrogen/generated/ios/swift/MarkerAnimation.swift +4 -8
  161. package/nitrogen/generated/ios/swift/MarkerData.swift +54 -2
  162. package/nitrogen/generated/ios/swift/PolygonData.swift +179 -0
  163. package/nitrogen/generated/ios/swift/PolylineData.swift +155 -0
  164. package/nitrogen/generated/ios/swift/UserLocationChangeEvent.swift +69 -0
  165. package/nitrogen/generated/ios/swift/UserTrackingMode.swift +44 -0
  166. package/nitrogen/generated/shared/c++/CircleData.hpp +113 -0
  167. package/nitrogen/generated/shared/c++/ClusterConfig.hpp +5 -8
  168. package/nitrogen/generated/shared/c++/HybridNitroMapSpec.cpp +53 -2
  169. package/nitrogen/generated/shared/c++/HybridNitroMapSpec.hpp +75 -6
  170. package/nitrogen/generated/shared/c++/MarkerAnimation.hpp +4 -8
  171. package/nitrogen/generated/shared/c++/MarkerData.hpp +14 -2
  172. package/nitrogen/generated/shared/c++/PolygonData.hpp +114 -0
  173. package/nitrogen/generated/shared/c++/PolylineData.hpp +114 -0
  174. package/nitrogen/generated/shared/c++/UserLocationChangeEvent.hpp +88 -0
  175. package/nitrogen/generated/shared/c++/UserTrackingMode.hpp +80 -0
  176. package/nitrogen/generated/shared/c++/views/HybridNitroMapComponent.cpp +216 -12
  177. package/nitrogen/generated/shared/c++/views/HybridNitroMapComponent.hpp +23 -1
  178. package/nitrogen/generated/shared/json/NitroMapConfig.json +18 -1
  179. package/package.json +36 -5
  180. package/src/components/ImageMarker.tsx +58 -42
  181. package/src/components/Marker.tsx +161 -0
  182. package/src/components/NitroCircle.tsx +183 -0
  183. package/src/components/NitroMap.tsx +328 -78
  184. package/src/components/NitroPolygon.tsx +229 -0
  185. package/src/components/NitroPolyline.tsx +208 -0
  186. package/src/components/PriceMarker.tsx +23 -48
  187. package/src/context/NitroMapContext.tsx +4 -0
  188. package/src/hooks/useNitroCircle.ts +25 -0
  189. package/src/hooks/useNitroMarker.ts +49 -10
  190. package/src/hooks/useNitroOverlay.ts +68 -0
  191. package/src/hooks/useNitroPolygon.ts +25 -0
  192. package/src/hooks/useNitroPolyline.ts +25 -0
  193. package/src/index.tsx +23 -2
  194. package/src/specs/NitroMap.nitro.ts +294 -5
  195. package/src/types/map.ts +36 -4
  196. package/src/types/marker.ts +24 -44
  197. package/src/types/overlay.ts +77 -0
  198. package/src/types/theme.ts +101 -0
  199. package/src/utils/colors.ts +48 -16
  200. package/src/utils/validation.ts +69 -0
  201. package/android/src/main/java/com/margelo/nitro/nitromap/ClusterIconGenerator.kt +0 -108
  202. package/android/src/main/java/com/margelo/nitro/nitromap/ColorUtils.kt +0 -63
  203. package/android/src/main/java/com/margelo/nitro/nitromap/HybridNitroMap.kt +0 -408
  204. package/android/src/main/java/com/margelo/nitro/nitromap/HybridNitroMapConfig.kt +0 -68
  205. package/android/src/main/java/com/margelo/nitro/nitromap/MarkerIconCache.kt +0 -176
  206. package/android/src/main/java/com/margelo/nitro/nitromap/MarkerIconFactory.kt +0 -252
  207. package/android/src/main/java/com/margelo/nitro/nitromap/clustering/NitroClusterEngine.kt +0 -252
  208. package/android/src/main/java/com/margelo/nitro/nitromap/clustering/QuadTree.kt +0 -195
  209. package/android/src/main/java/com/margelo/nitro/nitromap/providers/GoogleMapProvider.kt +0 -912
  210. package/android/src/main/java/com/margelo/nitro/nitromap/providers/MapProviderInterface.kt +0 -70
  211. package/cpp/QuadTree.hpp +0 -246
  212. package/ios/NitroMapConfig/HybridNitroMapConfig.swift +0 -33
  213. package/ios/Providers/GoogleMapProvider+Camera.swift +0 -164
  214. package/ios/Providers/GoogleMapProvider.swift +0 -924
  215. package/nitrogen/generated/android/c++/JClusterAnimationStyle.hpp +0 -68
  216. package/nitrogen/generated/ios/swift/ClusterAnimationStyle.swift +0 -52
  217. package/nitrogen/generated/shared/c++/ClusterAnimationStyle.hpp +0 -88
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// UserLocationChangeEvent.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.nitromap
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "UserLocationChangeEvent".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class UserLocationChangeEvent(
20
+ @DoNotStrip
21
+ @Keep
22
+ val coordinate: Coordinate,
23
+ @DoNotStrip
24
+ @Keep
25
+ val accuracy: Double,
26
+ @DoNotStrip
27
+ @Keep
28
+ val heading: Double,
29
+ @DoNotStrip
30
+ @Keep
31
+ val speed: Double
32
+ ) {
33
+ /* primary constructor */
34
+
35
+ private companion object {
36
+ /**
37
+ * Constructor called from C++
38
+ */
39
+ @DoNotStrip
40
+ @Keep
41
+ @Suppress("unused")
42
+ @JvmStatic
43
+ private fun fromCpp(coordinate: Coordinate, accuracy: Double, heading: Double, speed: Double): UserLocationChangeEvent {
44
+ return UserLocationChangeEvent(coordinate, accuracy, heading, speed)
45
+ }
46
+ }
47
+ }
@@ -1,5 +1,5 @@
1
1
  ///
2
- /// ClusterAnimationStyle.kt
2
+ /// UserTrackingMode.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
5
  /// Copyright © 2026 Marc Rousavy @ Margelo
@@ -11,14 +11,12 @@ import androidx.annotation.Keep
11
11
  import com.facebook.proguard.annotations.DoNotStrip
12
12
 
13
13
  /**
14
- * Represents the JavaScript enum/union "ClusterAnimationStyle".
14
+ * Represents the JavaScript enum/union "UserTrackingMode".
15
15
  */
16
16
  @DoNotStrip
17
17
  @Keep
18
- enum class ClusterAnimationStyle(@DoNotStrip @Keep val value: Int) {
19
- DEFAULT(0),
20
- BOUNCE(1),
21
- SCALE(2),
22
- FADE(3),
23
- SPRING(4);
18
+ enum class UserTrackingMode(@DoNotStrip @Keep val value: Int) {
19
+ NONE(0),
20
+ FOLLOW(1),
21
+ FOLLOWWITHHEADING(2);
24
22
  }
@@ -22,7 +22,10 @@
22
22
  #include "JFunc_void_MarkerPressEvent.hpp"
23
23
  #include "JFunc_void_MarkerDragEvent.hpp"
24
24
  #include "JFunc_void_ClusterPressEvent.hpp"
25
+ #include "JFunc_void_std__string.hpp"
25
26
  #include "JFunc_void_MapError.hpp"
27
+ #include "JFunc_void_UserLocationChangeEvent.hpp"
28
+ #include "JFunc_void_UserTrackingMode.hpp"
26
29
  #include "views/JHybridNitroMapStateUpdater.hpp"
27
30
  #include "JHybridNitroMapConfigSpec.hpp"
28
31
  #include <NitroModules/DefaultConstructableObject.hpp>
@@ -43,7 +46,10 @@ int initialize(JavaVM* vm) {
43
46
  margelo::nitro::nitromap::JFunc_void_MarkerPressEvent_cxx::registerNatives();
44
47
  margelo::nitro::nitromap::JFunc_void_MarkerDragEvent_cxx::registerNatives();
45
48
  margelo::nitro::nitromap::JFunc_void_ClusterPressEvent_cxx::registerNatives();
49
+ margelo::nitro::nitromap::JFunc_void_std__string_cxx::registerNatives();
46
50
  margelo::nitro::nitromap::JFunc_void_MapError_cxx::registerNatives();
51
+ margelo::nitro::nitromap::JFunc_void_UserLocationChangeEvent_cxx::registerNatives();
52
+ margelo::nitro::nitromap::JFunc_void_UserTrackingMode_cxx::registerNatives();
47
53
  margelo::nitro::nitromap::views::JHybridNitroMapStateUpdater::registerNatives();
48
54
  margelo::nitro::nitromap::JHybridNitroMapConfigSpec::registerNatives();
49
55
 
@@ -63,6 +63,14 @@ namespace margelo::nitro::nitromap::bridge::swift {
63
63
  };
64
64
  }
65
65
 
66
+ // pragma MARK: std::function<void(const std::string& /* id */)>
67
+ Func_void_std__string create_Func_void_std__string(void* NON_NULL swiftClosureWrapper) noexcept {
68
+ auto swiftClosure = NitroMap::Func_void_std__string::fromUnsafe(swiftClosureWrapper);
69
+ return [swiftClosure = std::move(swiftClosure)](const std::string& id) mutable -> void {
70
+ swiftClosure.call(id);
71
+ };
72
+ }
73
+
66
74
  // pragma MARK: std::function<void(const MapError& /* error */)>
67
75
  Func_void_MapError create_Func_void_MapError(void* NON_NULL swiftClosureWrapper) noexcept {
68
76
  auto swiftClosure = NitroMap::Func_void_MapError::fromUnsafe(swiftClosureWrapper);
@@ -71,6 +79,22 @@ namespace margelo::nitro::nitromap::bridge::swift {
71
79
  };
72
80
  }
73
81
 
82
+ // pragma MARK: std::function<void(const UserLocationChangeEvent& /* event */)>
83
+ Func_void_UserLocationChangeEvent create_Func_void_UserLocationChangeEvent(void* NON_NULL swiftClosureWrapper) noexcept {
84
+ auto swiftClosure = NitroMap::Func_void_UserLocationChangeEvent::fromUnsafe(swiftClosureWrapper);
85
+ return [swiftClosure = std::move(swiftClosure)](const UserLocationChangeEvent& event) mutable -> void {
86
+ swiftClosure.call(event);
87
+ };
88
+ }
89
+
90
+ // pragma MARK: std::function<void(UserTrackingMode /* mode */)>
91
+ Func_void_UserTrackingMode create_Func_void_UserTrackingMode(void* NON_NULL swiftClosureWrapper) noexcept {
92
+ auto swiftClosure = NitroMap::Func_void_UserTrackingMode::fromUnsafe(swiftClosureWrapper);
93
+ return [swiftClosure = std::move(swiftClosure)](UserTrackingMode mode) mutable -> void {
94
+ swiftClosure.call(static_cast<int>(mode));
95
+ };
96
+ }
97
+
74
98
  // pragma MARK: std::function<void(const Camera& /* result */)>
75
99
  Func_void_Camera create_Func_void_Camera(void* NON_NULL swiftClosureWrapper) noexcept {
76
100
  auto swiftClosure = NitroMap::Func_void_Camera::fromUnsafe(swiftClosureWrapper);
@@ -10,8 +10,6 @@
10
10
  // Forward declarations of C++ defined types
11
11
  // Forward declaration of `Camera` to properly resolve imports.
12
12
  namespace margelo::nitro::nitromap { struct Camera; }
13
- // Forward declaration of `ClusterAnimationStyle` to properly resolve imports.
14
- namespace margelo::nitro::nitromap { enum class ClusterAnimationStyle; }
15
13
  // Forward declaration of `ClusterConfig` to properly resolve imports.
16
14
  namespace margelo::nitro::nitromap { struct ClusterConfig; }
17
15
  // Forward declaration of `ClusterPressEvent` to properly resolve imports.
@@ -64,6 +62,10 @@ namespace margelo::nitro::nitromap { struct PriceMarkerStyle; }
64
62
  namespace margelo::nitro::nitromap { struct RegionChangeEvent; }
65
63
  // Forward declaration of `Region` to properly resolve imports.
66
64
  namespace margelo::nitro::nitromap { struct Region; }
65
+ // Forward declaration of `UserLocationChangeEvent` to properly resolve imports.
66
+ namespace margelo::nitro::nitromap { struct UserLocationChangeEvent; }
67
+ // Forward declaration of `UserTrackingMode` to properly resolve imports.
68
+ namespace margelo::nitro::nitromap { enum class UserTrackingMode; }
67
69
 
68
70
  // Forward declarations of Swift defined types
69
71
  // Forward declaration of `HybridNitroMapConfigSpec_cxx` to properly resolve imports.
@@ -73,7 +75,6 @@ namespace NitroMap { class HybridNitroMapSpec_cxx; }
73
75
 
74
76
  // Include C++ defined types
75
77
  #include "Camera.hpp"
76
- #include "ClusterAnimationStyle.hpp"
77
78
  #include "ClusterConfig.hpp"
78
79
  #include "ClusterPressEvent.hpp"
79
80
  #include "ClusterStrategy.hpp"
@@ -100,6 +101,8 @@ namespace NitroMap { class HybridNitroMapSpec_cxx; }
100
101
  #include "PriceMarkerStyle.hpp"
101
102
  #include "Region.hpp"
102
103
  #include "RegionChangeEvent.hpp"
104
+ #include "UserLocationChangeEvent.hpp"
105
+ #include "UserTrackingMode.hpp"
103
106
  #include <NitroModules/Promise.hpp>
104
107
  #include <NitroModules/PromiseHolder.hpp>
105
108
  #include <NitroModules/Result.hpp>
@@ -303,33 +306,48 @@ namespace margelo::nitro::nitromap::bridge::swift {
303
306
  return *optional;
304
307
  }
305
308
 
306
- // pragma MARK: std::optional<ClusterAnimationStyle>
309
+ // pragma MARK: std::optional<ClusterConfig>
307
310
  /**
308
- * Specialized version of `std::optional<ClusterAnimationStyle>`.
311
+ * Specialized version of `std::optional<ClusterConfig>`.
309
312
  */
310
- using std__optional_ClusterAnimationStyle_ = std::optional<ClusterAnimationStyle>;
311
- inline std::optional<ClusterAnimationStyle> create_std__optional_ClusterAnimationStyle_(const ClusterAnimationStyle& value) noexcept {
312
- return std::optional<ClusterAnimationStyle>(value);
313
+ using std__optional_ClusterConfig_ = std::optional<ClusterConfig>;
314
+ inline std::optional<ClusterConfig> create_std__optional_ClusterConfig_(const ClusterConfig& value) noexcept {
315
+ return std::optional<ClusterConfig>(value);
313
316
  }
314
- inline bool has_value_std__optional_ClusterAnimationStyle_(const std::optional<ClusterAnimationStyle>& optional) noexcept {
317
+ inline bool has_value_std__optional_ClusterConfig_(const std::optional<ClusterConfig>& optional) noexcept {
315
318
  return optional.has_value();
316
319
  }
317
- inline ClusterAnimationStyle get_std__optional_ClusterAnimationStyle_(const std::optional<ClusterAnimationStyle>& optional) noexcept {
320
+ inline ClusterConfig get_std__optional_ClusterConfig_(const std::optional<ClusterConfig>& optional) noexcept {
318
321
  return *optional;
319
322
  }
320
323
 
321
- // pragma MARK: std::optional<ClusterConfig>
324
+ // pragma MARK: std::optional<UserTrackingMode>
322
325
  /**
323
- * Specialized version of `std::optional<ClusterConfig>`.
326
+ * Specialized version of `std::optional<UserTrackingMode>`.
324
327
  */
325
- using std__optional_ClusterConfig_ = std::optional<ClusterConfig>;
326
- inline std::optional<ClusterConfig> create_std__optional_ClusterConfig_(const ClusterConfig& value) noexcept {
327
- return std::optional<ClusterConfig>(value);
328
+ using std__optional_UserTrackingMode_ = std::optional<UserTrackingMode>;
329
+ inline std::optional<UserTrackingMode> create_std__optional_UserTrackingMode_(const UserTrackingMode& value) noexcept {
330
+ return std::optional<UserTrackingMode>(value);
328
331
  }
329
- inline bool has_value_std__optional_ClusterConfig_(const std::optional<ClusterConfig>& optional) noexcept {
332
+ inline bool has_value_std__optional_UserTrackingMode_(const std::optional<UserTrackingMode>& optional) noexcept {
330
333
  return optional.has_value();
331
334
  }
332
- inline ClusterConfig get_std__optional_ClusterConfig_(const std::optional<ClusterConfig>& optional) noexcept {
335
+ inline UserTrackingMode get_std__optional_UserTrackingMode_(const std::optional<UserTrackingMode>& optional) noexcept {
336
+ return *optional;
337
+ }
338
+
339
+ // pragma MARK: std::optional<Point>
340
+ /**
341
+ * Specialized version of `std::optional<Point>`.
342
+ */
343
+ using std__optional_Point_ = std::optional<Point>;
344
+ inline std::optional<Point> create_std__optional_Point_(const Point& value) noexcept {
345
+ return std::optional<Point>(value);
346
+ }
347
+ inline bool has_value_std__optional_Point_(const std::optional<Point>& optional) noexcept {
348
+ return optional.has_value();
349
+ }
350
+ inline Point get_std__optional_Point_(const std::optional<Point>& optional) noexcept {
333
351
  return *optional;
334
352
  }
335
353
 
@@ -566,6 +584,43 @@ namespace margelo::nitro::nitromap::bridge::swift {
566
584
  return *optional;
567
585
  }
568
586
 
587
+ // pragma MARK: std::function<void(const std::string& /* id */)>
588
+ /**
589
+ * Specialized version of `std::function<void(const std::string&)>`.
590
+ */
591
+ using Func_void_std__string = std::function<void(const std::string& /* id */)>;
592
+ /**
593
+ * Wrapper class for a `std::function<void(const std::string& / * id * /)>`, this can be used from Swift.
594
+ */
595
+ class Func_void_std__string_Wrapper final {
596
+ public:
597
+ explicit Func_void_std__string_Wrapper(std::function<void(const std::string& /* id */)>&& func): _function(std::make_unique<std::function<void(const std::string& /* id */)>>(std::move(func))) {}
598
+ inline void call(std::string id) const noexcept {
599
+ _function->operator()(id);
600
+ }
601
+ private:
602
+ std::unique_ptr<std::function<void(const std::string& /* id */)>> _function;
603
+ } SWIFT_NONCOPYABLE;
604
+ Func_void_std__string create_Func_void_std__string(void* NON_NULL swiftClosureWrapper) noexcept;
605
+ inline Func_void_std__string_Wrapper wrap_Func_void_std__string(Func_void_std__string value) noexcept {
606
+ return Func_void_std__string_Wrapper(std::move(value));
607
+ }
608
+
609
+ // pragma MARK: std::optional<std::function<void(const std::string& /* id */)>>
610
+ /**
611
+ * Specialized version of `std::optional<std::function<void(const std::string& / * id * /)>>`.
612
+ */
613
+ using std__optional_std__function_void_const_std__string_____id______ = std::optional<std::function<void(const std::string& /* id */)>>;
614
+ inline std::optional<std::function<void(const std::string& /* id */)>> create_std__optional_std__function_void_const_std__string_____id______(const std::function<void(const std::string& /* id */)>& value) noexcept {
615
+ return std::optional<std::function<void(const std::string& /* id */)>>(value);
616
+ }
617
+ inline bool has_value_std__optional_std__function_void_const_std__string_____id______(const std::optional<std::function<void(const std::string& /* id */)>>& optional) noexcept {
618
+ return optional.has_value();
619
+ }
620
+ inline std::function<void(const std::string& /* id */)> get_std__optional_std__function_void_const_std__string_____id______(const std::optional<std::function<void(const std::string& /* id */)>>& optional) noexcept {
621
+ return *optional;
622
+ }
623
+
569
624
  // pragma MARK: std::function<void(const MapError& /* error */)>
570
625
  /**
571
626
  * Specialized version of `std::function<void(const MapError&)>`.
@@ -603,6 +658,80 @@ namespace margelo::nitro::nitromap::bridge::swift {
603
658
  return *optional;
604
659
  }
605
660
 
661
+ // pragma MARK: std::function<void(const UserLocationChangeEvent& /* event */)>
662
+ /**
663
+ * Specialized version of `std::function<void(const UserLocationChangeEvent&)>`.
664
+ */
665
+ using Func_void_UserLocationChangeEvent = std::function<void(const UserLocationChangeEvent& /* event */)>;
666
+ /**
667
+ * Wrapper class for a `std::function<void(const UserLocationChangeEvent& / * event * /)>`, this can be used from Swift.
668
+ */
669
+ class Func_void_UserLocationChangeEvent_Wrapper final {
670
+ public:
671
+ explicit Func_void_UserLocationChangeEvent_Wrapper(std::function<void(const UserLocationChangeEvent& /* event */)>&& func): _function(std::make_unique<std::function<void(const UserLocationChangeEvent& /* event */)>>(std::move(func))) {}
672
+ inline void call(UserLocationChangeEvent event) const noexcept {
673
+ _function->operator()(event);
674
+ }
675
+ private:
676
+ std::unique_ptr<std::function<void(const UserLocationChangeEvent& /* event */)>> _function;
677
+ } SWIFT_NONCOPYABLE;
678
+ Func_void_UserLocationChangeEvent create_Func_void_UserLocationChangeEvent(void* NON_NULL swiftClosureWrapper) noexcept;
679
+ inline Func_void_UserLocationChangeEvent_Wrapper wrap_Func_void_UserLocationChangeEvent(Func_void_UserLocationChangeEvent value) noexcept {
680
+ return Func_void_UserLocationChangeEvent_Wrapper(std::move(value));
681
+ }
682
+
683
+ // pragma MARK: std::optional<std::function<void(const UserLocationChangeEvent& /* event */)>>
684
+ /**
685
+ * Specialized version of `std::optional<std::function<void(const UserLocationChangeEvent& / * event * /)>>`.
686
+ */
687
+ using std__optional_std__function_void_const_UserLocationChangeEvent_____event______ = std::optional<std::function<void(const UserLocationChangeEvent& /* event */)>>;
688
+ inline std::optional<std::function<void(const UserLocationChangeEvent& /* event */)>> create_std__optional_std__function_void_const_UserLocationChangeEvent_____event______(const std::function<void(const UserLocationChangeEvent& /* event */)>& value) noexcept {
689
+ return std::optional<std::function<void(const UserLocationChangeEvent& /* event */)>>(value);
690
+ }
691
+ inline bool has_value_std__optional_std__function_void_const_UserLocationChangeEvent_____event______(const std::optional<std::function<void(const UserLocationChangeEvent& /* event */)>>& optional) noexcept {
692
+ return optional.has_value();
693
+ }
694
+ inline std::function<void(const UserLocationChangeEvent& /* event */)> get_std__optional_std__function_void_const_UserLocationChangeEvent_____event______(const std::optional<std::function<void(const UserLocationChangeEvent& /* event */)>>& optional) noexcept {
695
+ return *optional;
696
+ }
697
+
698
+ // pragma MARK: std::function<void(UserTrackingMode /* mode */)>
699
+ /**
700
+ * Specialized version of `std::function<void(UserTrackingMode)>`.
701
+ */
702
+ using Func_void_UserTrackingMode = std::function<void(UserTrackingMode /* mode */)>;
703
+ /**
704
+ * Wrapper class for a `std::function<void(UserTrackingMode / * mode * /)>`, this can be used from Swift.
705
+ */
706
+ class Func_void_UserTrackingMode_Wrapper final {
707
+ public:
708
+ explicit Func_void_UserTrackingMode_Wrapper(std::function<void(UserTrackingMode /* mode */)>&& func): _function(std::make_unique<std::function<void(UserTrackingMode /* mode */)>>(std::move(func))) {}
709
+ inline void call(int mode) const noexcept {
710
+ _function->operator()(static_cast<UserTrackingMode>(mode));
711
+ }
712
+ private:
713
+ std::unique_ptr<std::function<void(UserTrackingMode /* mode */)>> _function;
714
+ } SWIFT_NONCOPYABLE;
715
+ Func_void_UserTrackingMode create_Func_void_UserTrackingMode(void* NON_NULL swiftClosureWrapper) noexcept;
716
+ inline Func_void_UserTrackingMode_Wrapper wrap_Func_void_UserTrackingMode(Func_void_UserTrackingMode value) noexcept {
717
+ return Func_void_UserTrackingMode_Wrapper(std::move(value));
718
+ }
719
+
720
+ // pragma MARK: std::optional<std::function<void(UserTrackingMode /* mode */)>>
721
+ /**
722
+ * Specialized version of `std::optional<std::function<void(UserTrackingMode / * mode * /)>>`.
723
+ */
724
+ using std__optional_std__function_void_UserTrackingMode____mode______ = std::optional<std::function<void(UserTrackingMode /* mode */)>>;
725
+ inline std::optional<std::function<void(UserTrackingMode /* mode */)>> create_std__optional_std__function_void_UserTrackingMode____mode______(const std::function<void(UserTrackingMode /* mode */)>& value) noexcept {
726
+ return std::optional<std::function<void(UserTrackingMode /* mode */)>>(value);
727
+ }
728
+ inline bool has_value_std__optional_std__function_void_UserTrackingMode____mode______(const std::optional<std::function<void(UserTrackingMode /* mode */)>>& optional) noexcept {
729
+ return optional.has_value();
730
+ }
731
+ inline std::function<void(UserTrackingMode /* mode */)> get_std__optional_std__function_void_UserTrackingMode____mode______(const std::optional<std::function<void(UserTrackingMode /* mode */)>>& optional) noexcept {
732
+ return *optional;
733
+ }
734
+
606
735
  // pragma MARK: std::vector<Coordinate>
607
736
  /**
608
737
  * Specialized version of `std::vector<Coordinate>`.
@@ -760,6 +889,17 @@ namespace margelo::nitro::nitromap::bridge::swift {
760
889
  return vector;
761
890
  }
762
891
 
892
+ // pragma MARK: std::vector<std::vector<Coordinate>>
893
+ /**
894
+ * Specialized version of `std::vector<std::vector<Coordinate>>`.
895
+ */
896
+ using std__vector_std__vector_Coordinate__ = std::vector<std::vector<Coordinate>>;
897
+ inline std::vector<std::vector<Coordinate>> create_std__vector_std__vector_Coordinate__(size_t size) noexcept {
898
+ std::vector<std::vector<Coordinate>> vector;
899
+ vector.reserve(size);
900
+ return vector;
901
+ }
902
+
763
903
  // pragma MARK: std::shared_ptr<HybridNitroMapSpec>
764
904
  /**
765
905
  * Specialized version of `std::shared_ptr<HybridNitroMapSpec>`.
@@ -799,6 +939,24 @@ namespace margelo::nitro::nitromap::bridge::swift {
799
939
  return Result<std::shared_ptr<Promise<MapBoundaries>>>::withError(error);
800
940
  }
801
941
 
942
+ // pragma MARK: Result<Point>
943
+ using Result_Point_ = Result<Point>;
944
+ inline Result_Point_ create_Result_Point_(const Point& value) noexcept {
945
+ return Result<Point>::withValue(value);
946
+ }
947
+ inline Result_Point_ create_Result_Point_(const std::exception_ptr& error) noexcept {
948
+ return Result<Point>::withError(error);
949
+ }
950
+
951
+ // pragma MARK: Result<Coordinate>
952
+ using Result_Coordinate_ = Result<Coordinate>;
953
+ inline Result_Coordinate_ create_Result_Coordinate_(const Coordinate& value) noexcept {
954
+ return Result<Coordinate>::withValue(value);
955
+ }
956
+ inline Result_Coordinate_ create_Result_Coordinate_(const std::exception_ptr& error) noexcept {
957
+ return Result<Coordinate>::withError(error);
958
+ }
959
+
802
960
  // pragma MARK: std::shared_ptr<HybridNitroMapConfigSpec>
803
961
  /**
804
962
  * Specialized version of `std::shared_ptr<HybridNitroMapConfigSpec>`.
@@ -10,8 +10,8 @@
10
10
  // Forward declarations of C++ defined types
11
11
  // Forward declaration of `Camera` to properly resolve imports.
12
12
  namespace margelo::nitro::nitromap { struct Camera; }
13
- // Forward declaration of `ClusterAnimationStyle` to properly resolve imports.
14
- namespace margelo::nitro::nitromap { enum class ClusterAnimationStyle; }
13
+ // Forward declaration of `CircleData` to properly resolve imports.
14
+ namespace margelo::nitro::nitromap { struct CircleData; }
15
15
  // Forward declaration of `ClusterConfig` to properly resolve imports.
16
16
  namespace margelo::nitro::nitromap { struct ClusterConfig; }
17
17
  // Forward declaration of `ClusterPressEvent` to properly resolve imports.
@@ -58,16 +58,24 @@ namespace margelo::nitro::nitromap { struct MarkerPressEvent; }
58
58
  namespace margelo::nitro::nitromap { enum class MarkerStyle; }
59
59
  // Forward declaration of `Point` to properly resolve imports.
60
60
  namespace margelo::nitro::nitromap { struct Point; }
61
+ // Forward declaration of `PolygonData` to properly resolve imports.
62
+ namespace margelo::nitro::nitromap { struct PolygonData; }
63
+ // Forward declaration of `PolylineData` to properly resolve imports.
64
+ namespace margelo::nitro::nitromap { struct PolylineData; }
61
65
  // Forward declaration of `PriceMarkerStyle` to properly resolve imports.
62
66
  namespace margelo::nitro::nitromap { struct PriceMarkerStyle; }
63
67
  // Forward declaration of `RegionChangeEvent` to properly resolve imports.
64
68
  namespace margelo::nitro::nitromap { struct RegionChangeEvent; }
65
69
  // Forward declaration of `Region` to properly resolve imports.
66
70
  namespace margelo::nitro::nitromap { struct Region; }
71
+ // Forward declaration of `UserLocationChangeEvent` to properly resolve imports.
72
+ namespace margelo::nitro::nitromap { struct UserLocationChangeEvent; }
73
+ // Forward declaration of `UserTrackingMode` to properly resolve imports.
74
+ namespace margelo::nitro::nitromap { enum class UserTrackingMode; }
67
75
 
68
76
  // Include C++ defined types
69
77
  #include "Camera.hpp"
70
- #include "ClusterAnimationStyle.hpp"
78
+ #include "CircleData.hpp"
71
79
  #include "ClusterConfig.hpp"
72
80
  #include "ClusterPressEvent.hpp"
73
81
  #include "ClusterStrategy.hpp"
@@ -91,9 +99,13 @@ namespace margelo::nitro::nitromap { struct Region; }
91
99
  #include "MarkerPressEvent.hpp"
92
100
  #include "MarkerStyle.hpp"
93
101
  #include "Point.hpp"
102
+ #include "PolygonData.hpp"
103
+ #include "PolylineData.hpp"
94
104
  #include "PriceMarkerStyle.hpp"
95
105
  #include "Region.hpp"
96
106
  #include "RegionChangeEvent.hpp"
107
+ #include "UserLocationChangeEvent.hpp"
108
+ #include "UserTrackingMode.hpp"
97
109
  #include <NitroModules/Promise.hpp>
98
110
  #include <NitroModules/Result.hpp>
99
111
  #include <exception>