@maydon_tech/react-native-nitro-maps 0.1.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 (283) hide show
  1. package/LICENSE +20 -0
  2. package/NitroMap.podspec +42 -0
  3. package/README.md +172 -0
  4. package/android/CMakeLists.txt +27 -0
  5. package/android/build.gradle +141 -0
  6. package/android/gradle.properties +5 -0
  7. package/android/src/main/AndroidManifest.xml +3 -0
  8. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  9. package/android/src/main/java/com/margelo/nitro/nitromap/ClusterIconGenerator.kt +108 -0
  10. package/android/src/main/java/com/margelo/nitro/nitromap/ColorUtils.kt +63 -0
  11. package/android/src/main/java/com/margelo/nitro/nitromap/HybridNitroMap.kt +408 -0
  12. package/android/src/main/java/com/margelo/nitro/nitromap/HybridNitroMapConfig.kt +68 -0
  13. package/android/src/main/java/com/margelo/nitro/nitromap/MarkerIconCache.kt +176 -0
  14. package/android/src/main/java/com/margelo/nitro/nitromap/MarkerIconFactory.kt +252 -0
  15. package/android/src/main/java/com/margelo/nitro/nitromap/NitroMapPackage.kt +33 -0
  16. package/android/src/main/java/com/margelo/nitro/nitromap/clustering/NitroClusterEngine.kt +252 -0
  17. package/android/src/main/java/com/margelo/nitro/nitromap/clustering/QuadTree.kt +195 -0
  18. package/android/src/main/java/com/margelo/nitro/nitromap/providers/GoogleMapProvider.kt +912 -0
  19. package/android/src/main/java/com/margelo/nitro/nitromap/providers/MapProviderInterface.kt +70 -0
  20. package/cpp/ClusterEngine.hpp +411 -0
  21. package/cpp/KDBush.hpp +238 -0
  22. package/cpp/QuadTree.hpp +246 -0
  23. package/ios/Clustering/ClusterEngineWrapper.h +58 -0
  24. package/ios/Clustering/ClusterEngineWrapper.mm +142 -0
  25. package/ios/Clustering/ClusterIconRenderer.swift +80 -0
  26. package/ios/Clustering/NitroClusterEngine.swift +117 -0
  27. package/ios/Clustering/NitroClusterIconGenerator.swift +35 -0
  28. package/ios/MarkerRenderer/MarkerIconFactory.swift +322 -0
  29. package/ios/MarkerRenderer/PriceMarkerRenderer.swift +140 -0
  30. package/ios/NitroMap.swift +332 -0
  31. package/ios/NitroMapConfig/HybridNitroMapConfig.swift +33 -0
  32. package/ios/Providers/GoogleMapDelegate.swift +310 -0
  33. package/ios/Providers/GoogleMapProvider+Camera.swift +164 -0
  34. package/ios/Providers/GoogleMapProvider.swift +924 -0
  35. package/ios/Providers/MapProviderProtocol.swift +78 -0
  36. package/ios/Shared/ClusterConfig+Factory.swift +58 -0
  37. package/ios/Shared/ClusteringManager.swift +211 -0
  38. package/ios/Shared/MapStyleProvider.swift +135 -0
  39. package/ios/Shared/MarkerSelectionHandler.swift +116 -0
  40. package/ios/Utils/ColorValueExtension.swift +54 -0
  41. package/lib/module/components/ImageMarker.js +146 -0
  42. package/lib/module/components/ImageMarker.js.map +1 -0
  43. package/lib/module/components/NitroMap.js +320 -0
  44. package/lib/module/components/NitroMap.js.map +1 -0
  45. package/lib/module/components/PriceMarker.js +165 -0
  46. package/lib/module/components/PriceMarker.js.map +1 -0
  47. package/lib/module/context/NitroMapContext.js +15 -0
  48. package/lib/module/context/NitroMapContext.js.map +1 -0
  49. package/lib/module/hooks/useNitroMarker.js +104 -0
  50. package/lib/module/hooks/useNitroMarker.js.map +1 -0
  51. package/lib/module/index.js +21 -0
  52. package/lib/module/index.js.map +1 -0
  53. package/lib/module/modules/index.js +4 -0
  54. package/lib/module/modules/index.js.map +1 -0
  55. package/lib/module/modules/module.js +30 -0
  56. package/lib/module/modules/module.js.map +1 -0
  57. package/lib/module/package.json +1 -0
  58. package/lib/module/specs/NitroMap.nitro.js +4 -0
  59. package/lib/module/specs/NitroMap.nitro.js.map +1 -0
  60. package/lib/module/specs/NitroMapConfig.nitro.js +4 -0
  61. package/lib/module/specs/NitroMapConfig.nitro.js.map +1 -0
  62. package/lib/module/types/map.js +2 -0
  63. package/lib/module/types/map.js.map +1 -0
  64. package/lib/module/types/marker.js +4 -0
  65. package/lib/module/types/marker.js.map +1 -0
  66. package/lib/module/utils/colors.js +147 -0
  67. package/lib/module/utils/colors.js.map +1 -0
  68. package/lib/typescript/package.json +1 -0
  69. package/lib/typescript/src/components/ImageMarker.d.ts +70 -0
  70. package/lib/typescript/src/components/ImageMarker.d.ts.map +1 -0
  71. package/lib/typescript/src/components/NitroMap.d.ts +14 -0
  72. package/lib/typescript/src/components/NitroMap.d.ts.map +1 -0
  73. package/lib/typescript/src/components/PriceMarker.d.ts +88 -0
  74. package/lib/typescript/src/components/PriceMarker.d.ts.map +1 -0
  75. package/lib/typescript/src/context/NitroMapContext.d.ts +16 -0
  76. package/lib/typescript/src/context/NitroMapContext.d.ts.map +1 -0
  77. package/lib/typescript/src/hooks/useNitroMarker.d.ts +78 -0
  78. package/lib/typescript/src/hooks/useNitroMarker.d.ts.map +1 -0
  79. package/lib/typescript/src/index.d.ts +12 -0
  80. package/lib/typescript/src/index.d.ts.map +1 -0
  81. package/lib/typescript/src/modules/index.d.ts +2 -0
  82. package/lib/typescript/src/modules/index.d.ts.map +1 -0
  83. package/lib/typescript/src/modules/module.d.ts +22 -0
  84. package/lib/typescript/src/modules/module.d.ts.map +1 -0
  85. package/lib/typescript/src/specs/NitroMap.nitro.d.ts +227 -0
  86. package/lib/typescript/src/specs/NitroMap.nitro.d.ts.map +1 -0
  87. package/lib/typescript/src/specs/NitroMapConfig.nitro.d.ts +10 -0
  88. package/lib/typescript/src/specs/NitroMapConfig.nitro.d.ts.map +1 -0
  89. package/lib/typescript/src/types/map.d.ts +154 -0
  90. package/lib/typescript/src/types/map.d.ts.map +1 -0
  91. package/lib/typescript/src/types/marker.d.ts +248 -0
  92. package/lib/typescript/src/types/marker.d.ts.map +1 -0
  93. package/lib/typescript/src/utils/colors.d.ts +82 -0
  94. package/lib/typescript/src/utils/colors.d.ts.map +1 -0
  95. package/nitro.json +21 -0
  96. package/nitrogen/generated/android/c++/JCamera.hpp +74 -0
  97. package/nitrogen/generated/android/c++/JClusterAnimationStyle.hpp +68 -0
  98. package/nitrogen/generated/android/c++/JClusterConfig.hpp +121 -0
  99. package/nitrogen/generated/android/c++/JClusterPressEvent.hpp +86 -0
  100. package/nitrogen/generated/android/c++/JClusterStrategy.hpp +59 -0
  101. package/nitrogen/generated/android/c++/JColorValue.cpp +26 -0
  102. package/nitrogen/generated/android/c++/JColorValue.hpp +70 -0
  103. package/nitrogen/generated/android/c++/JCoordinate.hpp +61 -0
  104. package/nitrogen/generated/android/c++/JEdgePadding.hpp +69 -0
  105. package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  106. package/nitrogen/generated/android/c++/JFunc_void_ClusterPressEvent.hpp +81 -0
  107. package/nitrogen/generated/android/c++/JFunc_void_MapError.hpp +78 -0
  108. package/nitrogen/generated/android/c++/JFunc_void_MapPressEvent.hpp +81 -0
  109. package/nitrogen/generated/android/c++/JFunc_void_MarkerDragEvent.hpp +80 -0
  110. package/nitrogen/generated/android/c++/JFunc_void_MarkerPressEvent.hpp +80 -0
  111. package/nitrogen/generated/android/c++/JFunc_void_RegionChangeEvent.hpp +79 -0
  112. package/nitrogen/generated/android/c++/JHybridNitroMapConfigSpec.cpp +59 -0
  113. package/nitrogen/generated/android/c++/JHybridNitroMapConfigSpec.hpp +66 -0
  114. package/nitrogen/generated/android/c++/JHybridNitroMapSpec.cpp +593 -0
  115. package/nitrogen/generated/android/c++/JHybridNitroMapSpec.hpp +125 -0
  116. package/nitrogen/generated/android/c++/JImageMarkerConfig.hpp +86 -0
  117. package/nitrogen/generated/android/c++/JMapBoundaries.hpp +62 -0
  118. package/nitrogen/generated/android/c++/JMapError.hpp +61 -0
  119. package/nitrogen/generated/android/c++/JMapPressEvent.hpp +64 -0
  120. package/nitrogen/generated/android/c++/JMapProvider.hpp +62 -0
  121. package/nitrogen/generated/android/c++/JMapStyleElement.hpp +87 -0
  122. package/nitrogen/generated/android/c++/JMapStyler.hpp +78 -0
  123. package/nitrogen/generated/android/c++/JMapType.hpp +62 -0
  124. package/nitrogen/generated/android/c++/JMarkerAnimation.hpp +62 -0
  125. package/nitrogen/generated/android/c++/JMarkerColor.hpp +69 -0
  126. package/nitrogen/generated/android/c++/JMarkerConfig.hpp +77 -0
  127. package/nitrogen/generated/android/c++/JMarkerData.hpp +121 -0
  128. package/nitrogen/generated/android/c++/JMarkerDragEvent.hpp +63 -0
  129. package/nitrogen/generated/android/c++/JMarkerPressEvent.hpp +63 -0
  130. package/nitrogen/generated/android/c++/JMarkerStyle.hpp +62 -0
  131. package/nitrogen/generated/android/c++/JPoint.hpp +61 -0
  132. package/nitrogen/generated/android/c++/JPriceMarkerStyle.hpp +102 -0
  133. package/nitrogen/generated/android/c++/JRegion.hpp +69 -0
  134. package/nitrogen/generated/android/c++/JRegionChangeEvent.hpp +62 -0
  135. package/nitrogen/generated/android/c++/JVariant_String_MarkerColor.cpp +26 -0
  136. package/nitrogen/generated/android/c++/JVariant_String_MarkerColor.hpp +70 -0
  137. package/nitrogen/generated/android/c++/views/JHybridNitroMapStateUpdater.cpp +144 -0
  138. package/nitrogen/generated/android/c++/views/JHybridNitroMapStateUpdater.hpp +49 -0
  139. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Camera.kt +50 -0
  140. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ClusterAnimationStyle.kt +24 -0
  141. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ClusterConfig.kt +80 -0
  142. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ClusterPressEvent.kt +44 -0
  143. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ClusterStrategy.kt +21 -0
  144. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ColorValue.kt +59 -0
  145. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Coordinate.kt +41 -0
  146. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/EdgePadding.kt +47 -0
  147. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void.kt +80 -0
  148. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_ClusterPressEvent.kt +80 -0
  149. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_MapError.kt +80 -0
  150. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_MapPressEvent.kt +80 -0
  151. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_MarkerDragEvent.kt +80 -0
  152. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_MarkerPressEvent.kt +80 -0
  153. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Func_void_RegionChangeEvent.kt +80 -0
  154. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/HybridNitroMapConfigSpec.kt +61 -0
  155. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/HybridNitroMapSpec.kt +342 -0
  156. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/ImageMarkerConfig.kt +56 -0
  157. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapBoundaries.kt +41 -0
  158. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapError.kt +41 -0
  159. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapPressEvent.kt +41 -0
  160. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapProvider.kt +22 -0
  161. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapStyleElement.kt +44 -0
  162. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapStyler.kt +53 -0
  163. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MapType.kt +22 -0
  164. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerAnimation.kt +22 -0
  165. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerColor.kt +47 -0
  166. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerConfig.kt +44 -0
  167. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerData.kt +71 -0
  168. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerDragEvent.kt +41 -0
  169. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerPressEvent.kt +41 -0
  170. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/MarkerStyle.kt +22 -0
  171. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Point.kt +41 -0
  172. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/PriceMarkerStyle.kt +68 -0
  173. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Region.kt +47 -0
  174. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/RegionChangeEvent.kt +41 -0
  175. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/Variant_String_MarkerColor.kt +59 -0
  176. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/nitromapOnLoad.kt +35 -0
  177. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/views/HybridNitroMapManager.kt +50 -0
  178. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromap/views/HybridNitroMapStateUpdater.kt +23 -0
  179. package/nitrogen/generated/android/nitromap+autolinking.cmake +87 -0
  180. package/nitrogen/generated/android/nitromap+autolinking.gradle +27 -0
  181. package/nitrogen/generated/android/nitromapOnLoad.cpp +70 -0
  182. package/nitrogen/generated/android/nitromapOnLoad.hpp +25 -0
  183. package/nitrogen/generated/ios/NitroMap+autolinking.rb +60 -0
  184. package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Bridge.cpp +130 -0
  185. package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Bridge.hpp +793 -0
  186. package/nitrogen/generated/ios/NitroMap-Swift-Cxx-Umbrella.hpp +132 -0
  187. package/nitrogen/generated/ios/NitroMapAutolinking.mm +41 -0
  188. package/nitrogen/generated/ios/NitroMapAutolinking.swift +40 -0
  189. package/nitrogen/generated/ios/c++/HybridNitroMapConfigSpecSwift.cpp +11 -0
  190. package/nitrogen/generated/ios/c++/HybridNitroMapConfigSpecSwift.hpp +84 -0
  191. package/nitrogen/generated/ios/c++/HybridNitroMapSpecSwift.cpp +11 -0
  192. package/nitrogen/generated/ios/c++/HybridNitroMapSpecSwift.hpp +410 -0
  193. package/nitrogen/generated/ios/c++/views/HybridNitroMapComponent.mm +206 -0
  194. package/nitrogen/generated/ios/swift/Camera.swift +80 -0
  195. package/nitrogen/generated/ios/swift/ClusterAnimationStyle.swift +52 -0
  196. package/nitrogen/generated/ios/swift/ClusterConfig.swift +268 -0
  197. package/nitrogen/generated/ios/swift/ClusterPressEvent.swift +70 -0
  198. package/nitrogen/generated/ios/swift/ClusterStrategy.swift +40 -0
  199. package/nitrogen/generated/ios/swift/ColorValue.swift +18 -0
  200. package/nitrogen/generated/ios/swift/Coordinate.swift +47 -0
  201. package/nitrogen/generated/ios/swift/EdgePadding.swift +69 -0
  202. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  203. package/nitrogen/generated/ios/swift/Func_void_Camera.swift +47 -0
  204. package/nitrogen/generated/ios/swift/Func_void_ClusterPressEvent.swift +47 -0
  205. package/nitrogen/generated/ios/swift/Func_void_MapBoundaries.swift +47 -0
  206. package/nitrogen/generated/ios/swift/Func_void_MapError.swift +47 -0
  207. package/nitrogen/generated/ios/swift/Func_void_MapPressEvent.swift +47 -0
  208. package/nitrogen/generated/ios/swift/Func_void_MarkerDragEvent.swift +47 -0
  209. package/nitrogen/generated/ios/swift/Func_void_MarkerPressEvent.swift +47 -0
  210. package/nitrogen/generated/ios/swift/Func_void_RegionChangeEvent.swift +47 -0
  211. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  212. package/nitrogen/generated/ios/swift/HybridNitroMapConfigSpec.swift +57 -0
  213. package/nitrogen/generated/ios/swift/HybridNitroMapConfigSpec_cxx.swift +142 -0
  214. package/nitrogen/generated/ios/swift/HybridNitroMapSpec.swift +93 -0
  215. package/nitrogen/generated/ios/swift/HybridNitroMapSpec_cxx.swift +953 -0
  216. package/nitrogen/generated/ios/swift/ImageMarkerConfig.swift +166 -0
  217. package/nitrogen/generated/ios/swift/MapBoundaries.swift +47 -0
  218. package/nitrogen/generated/ios/swift/MapError.swift +47 -0
  219. package/nitrogen/generated/ios/swift/MapPressEvent.swift +47 -0
  220. package/nitrogen/generated/ios/swift/MapProvider.swift +44 -0
  221. package/nitrogen/generated/ios/swift/MapStyleElement.swift +108 -0
  222. package/nitrogen/generated/ios/swift/MapStyler.swift +177 -0
  223. package/nitrogen/generated/ios/swift/MapType.swift +44 -0
  224. package/nitrogen/generated/ios/swift/MarkerAnimation.swift +44 -0
  225. package/nitrogen/generated/ios/swift/MarkerColor.swift +69 -0
  226. package/nitrogen/generated/ios/swift/MarkerConfig.swift +82 -0
  227. package/nitrogen/generated/ios/swift/MarkerData.swift +195 -0
  228. package/nitrogen/generated/ios/swift/MarkerDragEvent.swift +47 -0
  229. package/nitrogen/generated/ios/swift/MarkerPressEvent.swift +47 -0
  230. package/nitrogen/generated/ios/swift/MarkerStyle.swift +44 -0
  231. package/nitrogen/generated/ios/swift/Point.swift +47 -0
  232. package/nitrogen/generated/ios/swift/PriceMarkerStyle.swift +374 -0
  233. package/nitrogen/generated/ios/swift/Region.swift +69 -0
  234. package/nitrogen/generated/ios/swift/RegionChangeEvent.swift +47 -0
  235. package/nitrogen/generated/ios/swift/Variant_String_MarkerColor.swift +18 -0
  236. package/nitrogen/generated/shared/c++/Camera.hpp +92 -0
  237. package/nitrogen/generated/shared/c++/ClusterAnimationStyle.hpp +88 -0
  238. package/nitrogen/generated/shared/c++/ClusterConfig.hpp +140 -0
  239. package/nitrogen/generated/shared/c++/ClusterPressEvent.hpp +86 -0
  240. package/nitrogen/generated/shared/c++/ClusterStrategy.hpp +76 -0
  241. package/nitrogen/generated/shared/c++/Coordinate.hpp +79 -0
  242. package/nitrogen/generated/shared/c++/EdgePadding.hpp +87 -0
  243. package/nitrogen/generated/shared/c++/HybridNitroMapConfigSpec.cpp +22 -0
  244. package/nitrogen/generated/shared/c++/HybridNitroMapConfigSpec.hpp +65 -0
  245. package/nitrogen/generated/shared/c++/HybridNitroMapSpec.cpp +82 -0
  246. package/nitrogen/generated/shared/c++/HybridNitroMapSpec.hpp +173 -0
  247. package/nitrogen/generated/shared/c++/ImageMarkerConfig.hpp +103 -0
  248. package/nitrogen/generated/shared/c++/MapBoundaries.hpp +80 -0
  249. package/nitrogen/generated/shared/c++/MapError.hpp +79 -0
  250. package/nitrogen/generated/shared/c++/MapPressEvent.hpp +83 -0
  251. package/nitrogen/generated/shared/c++/MapProvider.hpp +80 -0
  252. package/nitrogen/generated/shared/c++/MapStyleElement.hpp +87 -0
  253. package/nitrogen/generated/shared/c++/MapStyler.hpp +96 -0
  254. package/nitrogen/generated/shared/c++/MapType.hpp +80 -0
  255. package/nitrogen/generated/shared/c++/MarkerAnimation.hpp +80 -0
  256. package/nitrogen/generated/shared/c++/MarkerColor.hpp +87 -0
  257. package/nitrogen/generated/shared/c++/MarkerConfig.hpp +91 -0
  258. package/nitrogen/generated/shared/c++/MarkerData.hpp +131 -0
  259. package/nitrogen/generated/shared/c++/MarkerDragEvent.hpp +81 -0
  260. package/nitrogen/generated/shared/c++/MarkerPressEvent.hpp +81 -0
  261. package/nitrogen/generated/shared/c++/MarkerStyle.hpp +80 -0
  262. package/nitrogen/generated/shared/c++/Point.hpp +79 -0
  263. package/nitrogen/generated/shared/c++/PriceMarkerStyle.hpp +119 -0
  264. package/nitrogen/generated/shared/c++/Region.hpp +87 -0
  265. package/nitrogen/generated/shared/c++/RegionChangeEvent.hpp +80 -0
  266. package/nitrogen/generated/shared/c++/views/HybridNitroMapComponent.cpp +351 -0
  267. package/nitrogen/generated/shared/c++/views/HybridNitroMapComponent.hpp +141 -0
  268. package/nitrogen/generated/shared/json/NitroMapConfig.json +32 -0
  269. package/package.json +176 -0
  270. package/react-native.config.js +16 -0
  271. package/src/components/ImageMarker.tsx +254 -0
  272. package/src/components/NitroMap.tsx +433 -0
  273. package/src/components/PriceMarker.tsx +311 -0
  274. package/src/context/NitroMapContext.tsx +33 -0
  275. package/src/hooks/useNitroMarker.ts +198 -0
  276. package/src/index.tsx +62 -0
  277. package/src/modules/index.ts +6 -0
  278. package/src/modules/module.ts +45 -0
  279. package/src/specs/NitroMap.nitro.ts +292 -0
  280. package/src/specs/NitroMapConfig.nitro.ts +8 -0
  281. package/src/types/map.ts +166 -0
  282. package/src/types/marker.ts +267 -0
  283. package/src/utils/colors.ts +159 -0
@@ -0,0 +1,793 @@
1
+ ///
2
+ /// NitroMap-Swift-Cxx-Bridge.hpp
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
+ #pragma once
9
+
10
+ // Forward declarations of C++ defined types
11
+ // Forward declaration of `Camera` to properly resolve imports.
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
+ // Forward declaration of `ClusterConfig` to properly resolve imports.
16
+ namespace margelo::nitro::nitromap { struct ClusterConfig; }
17
+ // Forward declaration of `ClusterPressEvent` to properly resolve imports.
18
+ namespace margelo::nitro::nitromap { struct ClusterPressEvent; }
19
+ // Forward declaration of `ClusterStrategy` to properly resolve imports.
20
+ namespace margelo::nitro::nitromap { enum class ClusterStrategy; }
21
+ // Forward declaration of `Coordinate` to properly resolve imports.
22
+ namespace margelo::nitro::nitromap { struct Coordinate; }
23
+ // Forward declaration of `EdgePadding` to properly resolve imports.
24
+ namespace margelo::nitro::nitromap { struct EdgePadding; }
25
+ // Forward declaration of `HybridNitroMapConfigSpec` to properly resolve imports.
26
+ namespace margelo::nitro::nitromap { class HybridNitroMapConfigSpec; }
27
+ // Forward declaration of `HybridNitroMapSpec` to properly resolve imports.
28
+ namespace margelo::nitro::nitromap { class HybridNitroMapSpec; }
29
+ // Forward declaration of `ImageMarkerConfig` to properly resolve imports.
30
+ namespace margelo::nitro::nitromap { struct ImageMarkerConfig; }
31
+ // Forward declaration of `MapBoundaries` to properly resolve imports.
32
+ namespace margelo::nitro::nitromap { struct MapBoundaries; }
33
+ // Forward declaration of `MapError` to properly resolve imports.
34
+ namespace margelo::nitro::nitromap { struct MapError; }
35
+ // Forward declaration of `MapPressEvent` to properly resolve imports.
36
+ namespace margelo::nitro::nitromap { struct MapPressEvent; }
37
+ // Forward declaration of `MapProvider` to properly resolve imports.
38
+ namespace margelo::nitro::nitromap { enum class MapProvider; }
39
+ // Forward declaration of `MapStyleElement` to properly resolve imports.
40
+ namespace margelo::nitro::nitromap { struct MapStyleElement; }
41
+ // Forward declaration of `MapStyler` to properly resolve imports.
42
+ namespace margelo::nitro::nitromap { struct MapStyler; }
43
+ // Forward declaration of `MapType` to properly resolve imports.
44
+ namespace margelo::nitro::nitromap { enum class MapType; }
45
+ // Forward declaration of `MarkerAnimation` to properly resolve imports.
46
+ namespace margelo::nitro::nitromap { enum class MarkerAnimation; }
47
+ // Forward declaration of `MarkerColor` to properly resolve imports.
48
+ namespace margelo::nitro::nitromap { struct MarkerColor; }
49
+ // Forward declaration of `MarkerConfig` to properly resolve imports.
50
+ namespace margelo::nitro::nitromap { struct MarkerConfig; }
51
+ // Forward declaration of `MarkerData` to properly resolve imports.
52
+ namespace margelo::nitro::nitromap { struct MarkerData; }
53
+ // Forward declaration of `MarkerDragEvent` to properly resolve imports.
54
+ namespace margelo::nitro::nitromap { struct MarkerDragEvent; }
55
+ // Forward declaration of `MarkerPressEvent` to properly resolve imports.
56
+ namespace margelo::nitro::nitromap { struct MarkerPressEvent; }
57
+ // Forward declaration of `MarkerStyle` to properly resolve imports.
58
+ namespace margelo::nitro::nitromap { enum class MarkerStyle; }
59
+ // Forward declaration of `Point` to properly resolve imports.
60
+ namespace margelo::nitro::nitromap { struct Point; }
61
+ // Forward declaration of `PriceMarkerStyle` to properly resolve imports.
62
+ namespace margelo::nitro::nitromap { struct PriceMarkerStyle; }
63
+ // Forward declaration of `RegionChangeEvent` to properly resolve imports.
64
+ namespace margelo::nitro::nitromap { struct RegionChangeEvent; }
65
+ // Forward declaration of `Region` to properly resolve imports.
66
+ namespace margelo::nitro::nitromap { struct Region; }
67
+
68
+ // Forward declarations of Swift defined types
69
+ // Forward declaration of `HybridNitroMapConfigSpec_cxx` to properly resolve imports.
70
+ namespace NitroMap { class HybridNitroMapConfigSpec_cxx; }
71
+ // Forward declaration of `HybridNitroMapSpec_cxx` to properly resolve imports.
72
+ namespace NitroMap { class HybridNitroMapSpec_cxx; }
73
+
74
+ // Include C++ defined types
75
+ #include "Camera.hpp"
76
+ #include "ClusterAnimationStyle.hpp"
77
+ #include "ClusterConfig.hpp"
78
+ #include "ClusterPressEvent.hpp"
79
+ #include "ClusterStrategy.hpp"
80
+ #include "Coordinate.hpp"
81
+ #include "EdgePadding.hpp"
82
+ #include "HybridNitroMapConfigSpec.hpp"
83
+ #include "HybridNitroMapSpec.hpp"
84
+ #include "ImageMarkerConfig.hpp"
85
+ #include "MapBoundaries.hpp"
86
+ #include "MapError.hpp"
87
+ #include "MapPressEvent.hpp"
88
+ #include "MapProvider.hpp"
89
+ #include "MapStyleElement.hpp"
90
+ #include "MapStyler.hpp"
91
+ #include "MapType.hpp"
92
+ #include "MarkerAnimation.hpp"
93
+ #include "MarkerColor.hpp"
94
+ #include "MarkerConfig.hpp"
95
+ #include "MarkerData.hpp"
96
+ #include "MarkerDragEvent.hpp"
97
+ #include "MarkerPressEvent.hpp"
98
+ #include "MarkerStyle.hpp"
99
+ #include "Point.hpp"
100
+ #include "PriceMarkerStyle.hpp"
101
+ #include "Region.hpp"
102
+ #include "RegionChangeEvent.hpp"
103
+ #include <NitroModules/Promise.hpp>
104
+ #include <NitroModules/PromiseHolder.hpp>
105
+ #include <NitroModules/Result.hpp>
106
+ #include <exception>
107
+ #include <functional>
108
+ #include <memory>
109
+ #include <optional>
110
+ #include <string>
111
+ #include <variant>
112
+ #include <vector>
113
+
114
+ /**
115
+ * Contains specialized versions of C++ templated types so they can be accessed from Swift,
116
+ * as well as helper functions to interact with those C++ types from Swift.
117
+ */
118
+ namespace margelo::nitro::nitromap::bridge::swift {
119
+
120
+ // pragma MARK: std::optional<MapProvider>
121
+ /**
122
+ * Specialized version of `std::optional<MapProvider>`.
123
+ */
124
+ using std__optional_MapProvider_ = std::optional<MapProvider>;
125
+ inline std::optional<MapProvider> create_std__optional_MapProvider_(const MapProvider& value) noexcept {
126
+ return std::optional<MapProvider>(value);
127
+ }
128
+ inline bool has_value_std__optional_MapProvider_(const std::optional<MapProvider>& optional) noexcept {
129
+ return optional.has_value();
130
+ }
131
+ inline MapProvider get_std__optional_MapProvider_(const std::optional<MapProvider>& optional) noexcept {
132
+ return *optional;
133
+ }
134
+
135
+ // pragma MARK: std::optional<Region>
136
+ /**
137
+ * Specialized version of `std::optional<Region>`.
138
+ */
139
+ using std__optional_Region_ = std::optional<Region>;
140
+ inline std::optional<Region> create_std__optional_Region_(const Region& value) noexcept {
141
+ return std::optional<Region>(value);
142
+ }
143
+ inline bool has_value_std__optional_Region_(const std::optional<Region>& optional) noexcept {
144
+ return optional.has_value();
145
+ }
146
+ inline Region get_std__optional_Region_(const std::optional<Region>& optional) noexcept {
147
+ return *optional;
148
+ }
149
+
150
+ // pragma MARK: std::optional<bool>
151
+ /**
152
+ * Specialized version of `std::optional<bool>`.
153
+ */
154
+ using std__optional_bool_ = std::optional<bool>;
155
+ inline std::optional<bool> create_std__optional_bool_(const bool& value) noexcept {
156
+ return std::optional<bool>(value);
157
+ }
158
+ inline bool has_value_std__optional_bool_(const std::optional<bool>& optional) noexcept {
159
+ return optional.has_value();
160
+ }
161
+ inline bool get_std__optional_bool_(const std::optional<bool>& optional) noexcept {
162
+ return *optional;
163
+ }
164
+
165
+ // pragma MARK: std::optional<MapType>
166
+ /**
167
+ * Specialized version of `std::optional<MapType>`.
168
+ */
169
+ using std__optional_MapType_ = std::optional<MapType>;
170
+ inline std::optional<MapType> create_std__optional_MapType_(const MapType& value) noexcept {
171
+ return std::optional<MapType>(value);
172
+ }
173
+ inline bool has_value_std__optional_MapType_(const std::optional<MapType>& optional) noexcept {
174
+ return optional.has_value();
175
+ }
176
+ inline MapType get_std__optional_MapType_(const std::optional<MapType>& optional) noexcept {
177
+ return *optional;
178
+ }
179
+
180
+ // pragma MARK: std::optional<std::string>
181
+ /**
182
+ * Specialized version of `std::optional<std::string>`.
183
+ */
184
+ using std__optional_std__string_ = std::optional<std::string>;
185
+ inline std::optional<std::string> create_std__optional_std__string_(const std::string& value) noexcept {
186
+ return std::optional<std::string>(value);
187
+ }
188
+ inline bool has_value_std__optional_std__string_(const std::optional<std::string>& optional) noexcept {
189
+ return optional.has_value();
190
+ }
191
+ inline std::string get_std__optional_std__string_(const std::optional<std::string>& optional) noexcept {
192
+ return *optional;
193
+ }
194
+
195
+ // pragma MARK: std::optional<double>
196
+ /**
197
+ * Specialized version of `std::optional<double>`.
198
+ */
199
+ using std__optional_double_ = std::optional<double>;
200
+ inline std::optional<double> create_std__optional_double_(const double& value) noexcept {
201
+ return std::optional<double>(value);
202
+ }
203
+ inline bool has_value_std__optional_double_(const std::optional<double>& optional) noexcept {
204
+ return optional.has_value();
205
+ }
206
+ inline double get_std__optional_double_(const std::optional<double>& optional) noexcept {
207
+ return *optional;
208
+ }
209
+
210
+ // pragma MARK: std::vector<MapStyler>
211
+ /**
212
+ * Specialized version of `std::vector<MapStyler>`.
213
+ */
214
+ using std__vector_MapStyler_ = std::vector<MapStyler>;
215
+ inline std::vector<MapStyler> create_std__vector_MapStyler_(size_t size) noexcept {
216
+ std::vector<MapStyler> vector;
217
+ vector.reserve(size);
218
+ return vector;
219
+ }
220
+
221
+ // pragma MARK: std::vector<MapStyleElement>
222
+ /**
223
+ * Specialized version of `std::vector<MapStyleElement>`.
224
+ */
225
+ using std__vector_MapStyleElement_ = std::vector<MapStyleElement>;
226
+ inline std::vector<MapStyleElement> create_std__vector_MapStyleElement_(size_t size) noexcept {
227
+ std::vector<MapStyleElement> vector;
228
+ vector.reserve(size);
229
+ return vector;
230
+ }
231
+
232
+ // pragma MARK: std::optional<std::vector<MapStyleElement>>
233
+ /**
234
+ * Specialized version of `std::optional<std::vector<MapStyleElement>>`.
235
+ */
236
+ using std__optional_std__vector_MapStyleElement__ = std::optional<std::vector<MapStyleElement>>;
237
+ inline std::optional<std::vector<MapStyleElement>> create_std__optional_std__vector_MapStyleElement__(const std::vector<MapStyleElement>& value) noexcept {
238
+ return std::optional<std::vector<MapStyleElement>>(value);
239
+ }
240
+ inline bool has_value_std__optional_std__vector_MapStyleElement__(const std::optional<std::vector<MapStyleElement>>& optional) noexcept {
241
+ return optional.has_value();
242
+ }
243
+ inline std::vector<MapStyleElement> get_std__optional_std__vector_MapStyleElement__(const std::optional<std::vector<MapStyleElement>>& optional) noexcept {
244
+ return *optional;
245
+ }
246
+
247
+ // pragma MARK: std::variant<std::string, MarkerColor>
248
+ /**
249
+ * Wrapper struct for `std::variant<std::string, MarkerColor>`.
250
+ * std::variant cannot be used in Swift because of a Swift bug.
251
+ * Not even specializing it works. So we create a wrapper struct.
252
+ */
253
+ struct std__variant_std__string__MarkerColor_ {
254
+ std::variant<std::string, MarkerColor> variant;
255
+ std__variant_std__string__MarkerColor_(std::variant<std::string, MarkerColor> variant): variant(variant) { }
256
+ operator std::variant<std::string, MarkerColor>() const noexcept {
257
+ return variant;
258
+ }
259
+ inline size_t index() const noexcept {
260
+ return variant.index();
261
+ }
262
+ inline std::string get_0() const noexcept {
263
+ return std::get<0>(variant);
264
+ }
265
+ inline MarkerColor get_1() const noexcept {
266
+ return std::get<1>(variant);
267
+ }
268
+ };
269
+ inline std__variant_std__string__MarkerColor_ create_std__variant_std__string__MarkerColor_(const std::string& value) noexcept {
270
+ return std__variant_std__string__MarkerColor_(value);
271
+ }
272
+ inline std__variant_std__string__MarkerColor_ create_std__variant_std__string__MarkerColor_(const MarkerColor& value) noexcept {
273
+ return std__variant_std__string__MarkerColor_(value);
274
+ }
275
+
276
+ // pragma MARK: std::optional<ClusterConfig>
277
+ /**
278
+ * Specialized version of `std::optional<ClusterConfig>`.
279
+ */
280
+ using std__optional_ClusterConfig_ = std::optional<ClusterConfig>;
281
+ inline std::optional<ClusterConfig> create_std__optional_ClusterConfig_(const ClusterConfig& value) noexcept {
282
+ return std::optional<ClusterConfig>(value);
283
+ }
284
+ inline bool has_value_std__optional_ClusterConfig_(const std::optional<ClusterConfig>& optional) noexcept {
285
+ return optional.has_value();
286
+ }
287
+ inline ClusterConfig get_std__optional_ClusterConfig_(const std::optional<ClusterConfig>& optional) noexcept {
288
+ return *optional;
289
+ }
290
+
291
+ // pragma MARK: std::function<void(const MapPressEvent& /* event */)>
292
+ /**
293
+ * Specialized version of `std::function<void(const MapPressEvent&)>`.
294
+ */
295
+ using Func_void_MapPressEvent = std::function<void(const MapPressEvent& /* event */)>;
296
+ /**
297
+ * Wrapper class for a `std::function<void(const MapPressEvent& / * event * /)>`, this can be used from Swift.
298
+ */
299
+ class Func_void_MapPressEvent_Wrapper final {
300
+ public:
301
+ explicit Func_void_MapPressEvent_Wrapper(std::function<void(const MapPressEvent& /* event */)>&& func): _function(std::make_unique<std::function<void(const MapPressEvent& /* event */)>>(std::move(func))) {}
302
+ inline void call(MapPressEvent event) const noexcept {
303
+ _function->operator()(event);
304
+ }
305
+ private:
306
+ std::unique_ptr<std::function<void(const MapPressEvent& /* event */)>> _function;
307
+ } SWIFT_NONCOPYABLE;
308
+ Func_void_MapPressEvent create_Func_void_MapPressEvent(void* NON_NULL swiftClosureWrapper) noexcept;
309
+ inline Func_void_MapPressEvent_Wrapper wrap_Func_void_MapPressEvent(Func_void_MapPressEvent value) noexcept {
310
+ return Func_void_MapPressEvent_Wrapper(std::move(value));
311
+ }
312
+
313
+ // pragma MARK: std::optional<std::function<void(const MapPressEvent& /* event */)>>
314
+ /**
315
+ * Specialized version of `std::optional<std::function<void(const MapPressEvent& / * event * /)>>`.
316
+ */
317
+ using std__optional_std__function_void_const_MapPressEvent_____event______ = std::optional<std::function<void(const MapPressEvent& /* event */)>>;
318
+ inline std::optional<std::function<void(const MapPressEvent& /* event */)>> create_std__optional_std__function_void_const_MapPressEvent_____event______(const std::function<void(const MapPressEvent& /* event */)>& value) noexcept {
319
+ return std::optional<std::function<void(const MapPressEvent& /* event */)>>(value);
320
+ }
321
+ inline bool has_value_std__optional_std__function_void_const_MapPressEvent_____event______(const std::optional<std::function<void(const MapPressEvent& /* event */)>>& optional) noexcept {
322
+ return optional.has_value();
323
+ }
324
+ inline std::function<void(const MapPressEvent& /* event */)> get_std__optional_std__function_void_const_MapPressEvent_____event______(const std::optional<std::function<void(const MapPressEvent& /* event */)>>& optional) noexcept {
325
+ return *optional;
326
+ }
327
+
328
+ // pragma MARK: std::function<void()>
329
+ /**
330
+ * Specialized version of `std::function<void()>`.
331
+ */
332
+ using Func_void = std::function<void()>;
333
+ /**
334
+ * Wrapper class for a `std::function<void()>`, this can be used from Swift.
335
+ */
336
+ class Func_void_Wrapper final {
337
+ public:
338
+ explicit Func_void_Wrapper(std::function<void()>&& func): _function(std::make_unique<std::function<void()>>(std::move(func))) {}
339
+ inline void call() const noexcept {
340
+ _function->operator()();
341
+ }
342
+ private:
343
+ std::unique_ptr<std::function<void()>> _function;
344
+ } SWIFT_NONCOPYABLE;
345
+ Func_void create_Func_void(void* NON_NULL swiftClosureWrapper) noexcept;
346
+ inline Func_void_Wrapper wrap_Func_void(Func_void value) noexcept {
347
+ return Func_void_Wrapper(std::move(value));
348
+ }
349
+
350
+ // pragma MARK: std::optional<std::function<void()>>
351
+ /**
352
+ * Specialized version of `std::optional<std::function<void()>>`.
353
+ */
354
+ using std__optional_std__function_void____ = std::optional<std::function<void()>>;
355
+ inline std::optional<std::function<void()>> create_std__optional_std__function_void____(const std::function<void()>& value) noexcept {
356
+ return std::optional<std::function<void()>>(value);
357
+ }
358
+ inline bool has_value_std__optional_std__function_void____(const std::optional<std::function<void()>>& optional) noexcept {
359
+ return optional.has_value();
360
+ }
361
+ inline std::function<void()> get_std__optional_std__function_void____(const std::optional<std::function<void()>>& optional) noexcept {
362
+ return *optional;
363
+ }
364
+
365
+ // pragma MARK: std::function<void(const RegionChangeEvent& /* region */)>
366
+ /**
367
+ * Specialized version of `std::function<void(const RegionChangeEvent&)>`.
368
+ */
369
+ using Func_void_RegionChangeEvent = std::function<void(const RegionChangeEvent& /* region */)>;
370
+ /**
371
+ * Wrapper class for a `std::function<void(const RegionChangeEvent& / * region * /)>`, this can be used from Swift.
372
+ */
373
+ class Func_void_RegionChangeEvent_Wrapper final {
374
+ public:
375
+ explicit Func_void_RegionChangeEvent_Wrapper(std::function<void(const RegionChangeEvent& /* region */)>&& func): _function(std::make_unique<std::function<void(const RegionChangeEvent& /* region */)>>(std::move(func))) {}
376
+ inline void call(RegionChangeEvent region) const noexcept {
377
+ _function->operator()(region);
378
+ }
379
+ private:
380
+ std::unique_ptr<std::function<void(const RegionChangeEvent& /* region */)>> _function;
381
+ } SWIFT_NONCOPYABLE;
382
+ Func_void_RegionChangeEvent create_Func_void_RegionChangeEvent(void* NON_NULL swiftClosureWrapper) noexcept;
383
+ inline Func_void_RegionChangeEvent_Wrapper wrap_Func_void_RegionChangeEvent(Func_void_RegionChangeEvent value) noexcept {
384
+ return Func_void_RegionChangeEvent_Wrapper(std::move(value));
385
+ }
386
+
387
+ // pragma MARK: std::optional<std::function<void(const RegionChangeEvent& /* region */)>>
388
+ /**
389
+ * Specialized version of `std::optional<std::function<void(const RegionChangeEvent& / * region * /)>>`.
390
+ */
391
+ using std__optional_std__function_void_const_RegionChangeEvent_____region______ = std::optional<std::function<void(const RegionChangeEvent& /* region */)>>;
392
+ inline std::optional<std::function<void(const RegionChangeEvent& /* region */)>> create_std__optional_std__function_void_const_RegionChangeEvent_____region______(const std::function<void(const RegionChangeEvent& /* region */)>& value) noexcept {
393
+ return std::optional<std::function<void(const RegionChangeEvent& /* region */)>>(value);
394
+ }
395
+ inline bool has_value_std__optional_std__function_void_const_RegionChangeEvent_____region______(const std::optional<std::function<void(const RegionChangeEvent& /* region */)>>& optional) noexcept {
396
+ return optional.has_value();
397
+ }
398
+ inline std::function<void(const RegionChangeEvent& /* region */)> get_std__optional_std__function_void_const_RegionChangeEvent_____region______(const std::optional<std::function<void(const RegionChangeEvent& /* region */)>>& optional) noexcept {
399
+ return *optional;
400
+ }
401
+
402
+ // pragma MARK: std::function<void(const MarkerPressEvent& /* event */)>
403
+ /**
404
+ * Specialized version of `std::function<void(const MarkerPressEvent&)>`.
405
+ */
406
+ using Func_void_MarkerPressEvent = std::function<void(const MarkerPressEvent& /* event */)>;
407
+ /**
408
+ * Wrapper class for a `std::function<void(const MarkerPressEvent& / * event * /)>`, this can be used from Swift.
409
+ */
410
+ class Func_void_MarkerPressEvent_Wrapper final {
411
+ public:
412
+ explicit Func_void_MarkerPressEvent_Wrapper(std::function<void(const MarkerPressEvent& /* event */)>&& func): _function(std::make_unique<std::function<void(const MarkerPressEvent& /* event */)>>(std::move(func))) {}
413
+ inline void call(MarkerPressEvent event) const noexcept {
414
+ _function->operator()(event);
415
+ }
416
+ private:
417
+ std::unique_ptr<std::function<void(const MarkerPressEvent& /* event */)>> _function;
418
+ } SWIFT_NONCOPYABLE;
419
+ Func_void_MarkerPressEvent create_Func_void_MarkerPressEvent(void* NON_NULL swiftClosureWrapper) noexcept;
420
+ inline Func_void_MarkerPressEvent_Wrapper wrap_Func_void_MarkerPressEvent(Func_void_MarkerPressEvent value) noexcept {
421
+ return Func_void_MarkerPressEvent_Wrapper(std::move(value));
422
+ }
423
+
424
+ // pragma MARK: std::optional<std::function<void(const MarkerPressEvent& /* event */)>>
425
+ /**
426
+ * Specialized version of `std::optional<std::function<void(const MarkerPressEvent& / * event * /)>>`.
427
+ */
428
+ using std__optional_std__function_void_const_MarkerPressEvent_____event______ = std::optional<std::function<void(const MarkerPressEvent& /* event */)>>;
429
+ inline std::optional<std::function<void(const MarkerPressEvent& /* event */)>> create_std__optional_std__function_void_const_MarkerPressEvent_____event______(const std::function<void(const MarkerPressEvent& /* event */)>& value) noexcept {
430
+ return std::optional<std::function<void(const MarkerPressEvent& /* event */)>>(value);
431
+ }
432
+ inline bool has_value_std__optional_std__function_void_const_MarkerPressEvent_____event______(const std::optional<std::function<void(const MarkerPressEvent& /* event */)>>& optional) noexcept {
433
+ return optional.has_value();
434
+ }
435
+ inline std::function<void(const MarkerPressEvent& /* event */)> get_std__optional_std__function_void_const_MarkerPressEvent_____event______(const std::optional<std::function<void(const MarkerPressEvent& /* event */)>>& optional) noexcept {
436
+ return *optional;
437
+ }
438
+
439
+ // pragma MARK: std::function<void(const MarkerDragEvent& /* event */)>
440
+ /**
441
+ * Specialized version of `std::function<void(const MarkerDragEvent&)>`.
442
+ */
443
+ using Func_void_MarkerDragEvent = std::function<void(const MarkerDragEvent& /* event */)>;
444
+ /**
445
+ * Wrapper class for a `std::function<void(const MarkerDragEvent& / * event * /)>`, this can be used from Swift.
446
+ */
447
+ class Func_void_MarkerDragEvent_Wrapper final {
448
+ public:
449
+ explicit Func_void_MarkerDragEvent_Wrapper(std::function<void(const MarkerDragEvent& /* event */)>&& func): _function(std::make_unique<std::function<void(const MarkerDragEvent& /* event */)>>(std::move(func))) {}
450
+ inline void call(MarkerDragEvent event) const noexcept {
451
+ _function->operator()(event);
452
+ }
453
+ private:
454
+ std::unique_ptr<std::function<void(const MarkerDragEvent& /* event */)>> _function;
455
+ } SWIFT_NONCOPYABLE;
456
+ Func_void_MarkerDragEvent create_Func_void_MarkerDragEvent(void* NON_NULL swiftClosureWrapper) noexcept;
457
+ inline Func_void_MarkerDragEvent_Wrapper wrap_Func_void_MarkerDragEvent(Func_void_MarkerDragEvent value) noexcept {
458
+ return Func_void_MarkerDragEvent_Wrapper(std::move(value));
459
+ }
460
+
461
+ // pragma MARK: std::optional<std::function<void(const MarkerDragEvent& /* event */)>>
462
+ /**
463
+ * Specialized version of `std::optional<std::function<void(const MarkerDragEvent& / * event * /)>>`.
464
+ */
465
+ using std__optional_std__function_void_const_MarkerDragEvent_____event______ = std::optional<std::function<void(const MarkerDragEvent& /* event */)>>;
466
+ inline std::optional<std::function<void(const MarkerDragEvent& /* event */)>> create_std__optional_std__function_void_const_MarkerDragEvent_____event______(const std::function<void(const MarkerDragEvent& /* event */)>& value) noexcept {
467
+ return std::optional<std::function<void(const MarkerDragEvent& /* event */)>>(value);
468
+ }
469
+ inline bool has_value_std__optional_std__function_void_const_MarkerDragEvent_____event______(const std::optional<std::function<void(const MarkerDragEvent& /* event */)>>& optional) noexcept {
470
+ return optional.has_value();
471
+ }
472
+ inline std::function<void(const MarkerDragEvent& /* event */)> get_std__optional_std__function_void_const_MarkerDragEvent_____event______(const std::optional<std::function<void(const MarkerDragEvent& /* event */)>>& optional) noexcept {
473
+ return *optional;
474
+ }
475
+
476
+ // pragma MARK: std::vector<std::string>
477
+ /**
478
+ * Specialized version of `std::vector<std::string>`.
479
+ */
480
+ using std__vector_std__string_ = std::vector<std::string>;
481
+ inline std::vector<std::string> create_std__vector_std__string_(size_t size) noexcept {
482
+ std::vector<std::string> vector;
483
+ vector.reserve(size);
484
+ return vector;
485
+ }
486
+
487
+ // pragma MARK: std::function<void(const ClusterPressEvent& /* event */)>
488
+ /**
489
+ * Specialized version of `std::function<void(const ClusterPressEvent&)>`.
490
+ */
491
+ using Func_void_ClusterPressEvent = std::function<void(const ClusterPressEvent& /* event */)>;
492
+ /**
493
+ * Wrapper class for a `std::function<void(const ClusterPressEvent& / * event * /)>`, this can be used from Swift.
494
+ */
495
+ class Func_void_ClusterPressEvent_Wrapper final {
496
+ public:
497
+ explicit Func_void_ClusterPressEvent_Wrapper(std::function<void(const ClusterPressEvent& /* event */)>&& func): _function(std::make_unique<std::function<void(const ClusterPressEvent& /* event */)>>(std::move(func))) {}
498
+ inline void call(ClusterPressEvent event) const noexcept {
499
+ _function->operator()(event);
500
+ }
501
+ private:
502
+ std::unique_ptr<std::function<void(const ClusterPressEvent& /* event */)>> _function;
503
+ } SWIFT_NONCOPYABLE;
504
+ Func_void_ClusterPressEvent create_Func_void_ClusterPressEvent(void* NON_NULL swiftClosureWrapper) noexcept;
505
+ inline Func_void_ClusterPressEvent_Wrapper wrap_Func_void_ClusterPressEvent(Func_void_ClusterPressEvent value) noexcept {
506
+ return Func_void_ClusterPressEvent_Wrapper(std::move(value));
507
+ }
508
+
509
+ // pragma MARK: std::optional<std::function<void(const ClusterPressEvent& /* event */)>>
510
+ /**
511
+ * Specialized version of `std::optional<std::function<void(const ClusterPressEvent& / * event * /)>>`.
512
+ */
513
+ using std__optional_std__function_void_const_ClusterPressEvent_____event______ = std::optional<std::function<void(const ClusterPressEvent& /* event */)>>;
514
+ inline std::optional<std::function<void(const ClusterPressEvent& /* event */)>> create_std__optional_std__function_void_const_ClusterPressEvent_____event______(const std::function<void(const ClusterPressEvent& /* event */)>& value) noexcept {
515
+ return std::optional<std::function<void(const ClusterPressEvent& /* event */)>>(value);
516
+ }
517
+ inline bool has_value_std__optional_std__function_void_const_ClusterPressEvent_____event______(const std::optional<std::function<void(const ClusterPressEvent& /* event */)>>& optional) noexcept {
518
+ return optional.has_value();
519
+ }
520
+ inline std::function<void(const ClusterPressEvent& /* event */)> get_std__optional_std__function_void_const_ClusterPressEvent_____event______(const std::optional<std::function<void(const ClusterPressEvent& /* event */)>>& optional) noexcept {
521
+ return *optional;
522
+ }
523
+
524
+ // pragma MARK: std::function<void(const MapError& /* error */)>
525
+ /**
526
+ * Specialized version of `std::function<void(const MapError&)>`.
527
+ */
528
+ using Func_void_MapError = std::function<void(const MapError& /* error */)>;
529
+ /**
530
+ * Wrapper class for a `std::function<void(const MapError& / * error * /)>`, this can be used from Swift.
531
+ */
532
+ class Func_void_MapError_Wrapper final {
533
+ public:
534
+ explicit Func_void_MapError_Wrapper(std::function<void(const MapError& /* error */)>&& func): _function(std::make_unique<std::function<void(const MapError& /* error */)>>(std::move(func))) {}
535
+ inline void call(MapError error) const noexcept {
536
+ _function->operator()(error);
537
+ }
538
+ private:
539
+ std::unique_ptr<std::function<void(const MapError& /* error */)>> _function;
540
+ } SWIFT_NONCOPYABLE;
541
+ Func_void_MapError create_Func_void_MapError(void* NON_NULL swiftClosureWrapper) noexcept;
542
+ inline Func_void_MapError_Wrapper wrap_Func_void_MapError(Func_void_MapError value) noexcept {
543
+ return Func_void_MapError_Wrapper(std::move(value));
544
+ }
545
+
546
+ // pragma MARK: std::optional<std::function<void(const MapError& /* error */)>>
547
+ /**
548
+ * Specialized version of `std::optional<std::function<void(const MapError& / * error * /)>>`.
549
+ */
550
+ using std__optional_std__function_void_const_MapError_____error______ = std::optional<std::function<void(const MapError& /* error */)>>;
551
+ inline std::optional<std::function<void(const MapError& /* error */)>> create_std__optional_std__function_void_const_MapError_____error______(const std::function<void(const MapError& /* error */)>& value) noexcept {
552
+ return std::optional<std::function<void(const MapError& /* error */)>>(value);
553
+ }
554
+ inline bool has_value_std__optional_std__function_void_const_MapError_____error______(const std::optional<std::function<void(const MapError& /* error */)>>& optional) noexcept {
555
+ return optional.has_value();
556
+ }
557
+ inline std::function<void(const MapError& /* error */)> get_std__optional_std__function_void_const_MapError_____error______(const std::optional<std::function<void(const MapError& /* error */)>>& optional) noexcept {
558
+ return *optional;
559
+ }
560
+
561
+ // pragma MARK: std::vector<Coordinate>
562
+ /**
563
+ * Specialized version of `std::vector<Coordinate>`.
564
+ */
565
+ using std__vector_Coordinate_ = std::vector<Coordinate>;
566
+ inline std::vector<Coordinate> create_std__vector_Coordinate_(size_t size) noexcept {
567
+ std::vector<Coordinate> vector;
568
+ vector.reserve(size);
569
+ return vector;
570
+ }
571
+
572
+ // pragma MARK: std::optional<EdgePadding>
573
+ /**
574
+ * Specialized version of `std::optional<EdgePadding>`.
575
+ */
576
+ using std__optional_EdgePadding_ = std::optional<EdgePadding>;
577
+ inline std::optional<EdgePadding> create_std__optional_EdgePadding_(const EdgePadding& value) noexcept {
578
+ return std::optional<EdgePadding>(value);
579
+ }
580
+ inline bool has_value_std__optional_EdgePadding_(const std::optional<EdgePadding>& optional) noexcept {
581
+ return optional.has_value();
582
+ }
583
+ inline EdgePadding get_std__optional_EdgePadding_(const std::optional<EdgePadding>& optional) noexcept {
584
+ return *optional;
585
+ }
586
+
587
+ // pragma MARK: std::shared_ptr<Promise<Camera>>
588
+ /**
589
+ * Specialized version of `std::shared_ptr<Promise<Camera>>`.
590
+ */
591
+ using std__shared_ptr_Promise_Camera__ = std::shared_ptr<Promise<Camera>>;
592
+ inline std::shared_ptr<Promise<Camera>> create_std__shared_ptr_Promise_Camera__() noexcept {
593
+ return Promise<Camera>::create();
594
+ }
595
+ inline PromiseHolder<Camera> wrap_std__shared_ptr_Promise_Camera__(std::shared_ptr<Promise<Camera>> promise) noexcept {
596
+ return PromiseHolder<Camera>(std::move(promise));
597
+ }
598
+
599
+ // pragma MARK: std::function<void(const Camera& /* result */)>
600
+ /**
601
+ * Specialized version of `std::function<void(const Camera&)>`.
602
+ */
603
+ using Func_void_Camera = std::function<void(const Camera& /* result */)>;
604
+ /**
605
+ * Wrapper class for a `std::function<void(const Camera& / * result * /)>`, this can be used from Swift.
606
+ */
607
+ class Func_void_Camera_Wrapper final {
608
+ public:
609
+ explicit Func_void_Camera_Wrapper(std::function<void(const Camera& /* result */)>&& func): _function(std::make_unique<std::function<void(const Camera& /* result */)>>(std::move(func))) {}
610
+ inline void call(Camera result) const noexcept {
611
+ _function->operator()(result);
612
+ }
613
+ private:
614
+ std::unique_ptr<std::function<void(const Camera& /* result */)>> _function;
615
+ } SWIFT_NONCOPYABLE;
616
+ Func_void_Camera create_Func_void_Camera(void* NON_NULL swiftClosureWrapper) noexcept;
617
+ inline Func_void_Camera_Wrapper wrap_Func_void_Camera(Func_void_Camera value) noexcept {
618
+ return Func_void_Camera_Wrapper(std::move(value));
619
+ }
620
+
621
+ // pragma MARK: std::function<void(const std::exception_ptr& /* error */)>
622
+ /**
623
+ * Specialized version of `std::function<void(const std::exception_ptr&)>`.
624
+ */
625
+ using Func_void_std__exception_ptr = std::function<void(const std::exception_ptr& /* error */)>;
626
+ /**
627
+ * Wrapper class for a `std::function<void(const std::exception_ptr& / * error * /)>`, this can be used from Swift.
628
+ */
629
+ class Func_void_std__exception_ptr_Wrapper final {
630
+ public:
631
+ explicit Func_void_std__exception_ptr_Wrapper(std::function<void(const std::exception_ptr& /* error */)>&& func): _function(std::make_unique<std::function<void(const std::exception_ptr& /* error */)>>(std::move(func))) {}
632
+ inline void call(std::exception_ptr error) const noexcept {
633
+ _function->operator()(error);
634
+ }
635
+ private:
636
+ std::unique_ptr<std::function<void(const std::exception_ptr& /* error */)>> _function;
637
+ } SWIFT_NONCOPYABLE;
638
+ Func_void_std__exception_ptr create_Func_void_std__exception_ptr(void* NON_NULL swiftClosureWrapper) noexcept;
639
+ inline Func_void_std__exception_ptr_Wrapper wrap_Func_void_std__exception_ptr(Func_void_std__exception_ptr value) noexcept {
640
+ return Func_void_std__exception_ptr_Wrapper(std::move(value));
641
+ }
642
+
643
+ // pragma MARK: std::shared_ptr<Promise<MapBoundaries>>
644
+ /**
645
+ * Specialized version of `std::shared_ptr<Promise<MapBoundaries>>`.
646
+ */
647
+ using std__shared_ptr_Promise_MapBoundaries__ = std::shared_ptr<Promise<MapBoundaries>>;
648
+ inline std::shared_ptr<Promise<MapBoundaries>> create_std__shared_ptr_Promise_MapBoundaries__() noexcept {
649
+ return Promise<MapBoundaries>::create();
650
+ }
651
+ inline PromiseHolder<MapBoundaries> wrap_std__shared_ptr_Promise_MapBoundaries__(std::shared_ptr<Promise<MapBoundaries>> promise) noexcept {
652
+ return PromiseHolder<MapBoundaries>(std::move(promise));
653
+ }
654
+
655
+ // pragma MARK: std::function<void(const MapBoundaries& /* result */)>
656
+ /**
657
+ * Specialized version of `std::function<void(const MapBoundaries&)>`.
658
+ */
659
+ using Func_void_MapBoundaries = std::function<void(const MapBoundaries& /* result */)>;
660
+ /**
661
+ * Wrapper class for a `std::function<void(const MapBoundaries& / * result * /)>`, this can be used from Swift.
662
+ */
663
+ class Func_void_MapBoundaries_Wrapper final {
664
+ public:
665
+ explicit Func_void_MapBoundaries_Wrapper(std::function<void(const MapBoundaries& /* result */)>&& func): _function(std::make_unique<std::function<void(const MapBoundaries& /* result */)>>(std::move(func))) {}
666
+ inline void call(MapBoundaries result) const noexcept {
667
+ _function->operator()(result);
668
+ }
669
+ private:
670
+ std::unique_ptr<std::function<void(const MapBoundaries& /* result */)>> _function;
671
+ } SWIFT_NONCOPYABLE;
672
+ Func_void_MapBoundaries create_Func_void_MapBoundaries(void* NON_NULL swiftClosureWrapper) noexcept;
673
+ inline Func_void_MapBoundaries_Wrapper wrap_Func_void_MapBoundaries(Func_void_MapBoundaries value) noexcept {
674
+ return Func_void_MapBoundaries_Wrapper(std::move(value));
675
+ }
676
+
677
+ // pragma MARK: std::optional<ImageMarkerConfig>
678
+ /**
679
+ * Specialized version of `std::optional<ImageMarkerConfig>`.
680
+ */
681
+ using std__optional_ImageMarkerConfig_ = std::optional<ImageMarkerConfig>;
682
+ inline std::optional<ImageMarkerConfig> create_std__optional_ImageMarkerConfig_(const ImageMarkerConfig& value) noexcept {
683
+ return std::optional<ImageMarkerConfig>(value);
684
+ }
685
+ inline bool has_value_std__optional_ImageMarkerConfig_(const std::optional<ImageMarkerConfig>& optional) noexcept {
686
+ return optional.has_value();
687
+ }
688
+ inline ImageMarkerConfig get_std__optional_ImageMarkerConfig_(const std::optional<ImageMarkerConfig>& optional) noexcept {
689
+ return *optional;
690
+ }
691
+
692
+ // pragma MARK: std::optional<std::variant<std::string, MarkerColor>>
693
+ /**
694
+ * Specialized version of `std::optional<std::variant<std::string, MarkerColor>>`.
695
+ */
696
+ using std__optional_std__variant_std__string__MarkerColor__ = std::optional<std::variant<std::string, MarkerColor>>;
697
+ inline std::optional<std::variant<std::string, MarkerColor>> create_std__optional_std__variant_std__string__MarkerColor__(const std::variant<std::string, MarkerColor>& value) noexcept {
698
+ return std::optional<std::variant<std::string, MarkerColor>>(value);
699
+ }
700
+ inline bool has_value_std__optional_std__variant_std__string__MarkerColor__(const std::optional<std::variant<std::string, MarkerColor>>& optional) noexcept {
701
+ return optional.has_value();
702
+ }
703
+ inline std::variant<std::string, MarkerColor> get_std__optional_std__variant_std__string__MarkerColor__(const std::optional<std::variant<std::string, MarkerColor>>& optional) noexcept {
704
+ return *optional;
705
+ }
706
+
707
+ // pragma MARK: std::optional<PriceMarkerStyle>
708
+ /**
709
+ * Specialized version of `std::optional<PriceMarkerStyle>`.
710
+ */
711
+ using std__optional_PriceMarkerStyle_ = std::optional<PriceMarkerStyle>;
712
+ inline std::optional<PriceMarkerStyle> create_std__optional_PriceMarkerStyle_(const PriceMarkerStyle& value) noexcept {
713
+ return std::optional<PriceMarkerStyle>(value);
714
+ }
715
+ inline bool has_value_std__optional_PriceMarkerStyle_(const std::optional<PriceMarkerStyle>& optional) noexcept {
716
+ return optional.has_value();
717
+ }
718
+ inline PriceMarkerStyle get_std__optional_PriceMarkerStyle_(const std::optional<PriceMarkerStyle>& optional) noexcept {
719
+ return *optional;
720
+ }
721
+
722
+ // pragma MARK: std::vector<MarkerData>
723
+ /**
724
+ * Specialized version of `std::vector<MarkerData>`.
725
+ */
726
+ using std__vector_MarkerData_ = std::vector<MarkerData>;
727
+ inline std::vector<MarkerData> create_std__vector_MarkerData_(size_t size) noexcept {
728
+ std::vector<MarkerData> vector;
729
+ vector.reserve(size);
730
+ return vector;
731
+ }
732
+
733
+ // pragma MARK: std::shared_ptr<HybridNitroMapSpec>
734
+ /**
735
+ * Specialized version of `std::shared_ptr<HybridNitroMapSpec>`.
736
+ */
737
+ using std__shared_ptr_HybridNitroMapSpec_ = std::shared_ptr<HybridNitroMapSpec>;
738
+ std::shared_ptr<HybridNitroMapSpec> create_std__shared_ptr_HybridNitroMapSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
739
+ void* NON_NULL get_std__shared_ptr_HybridNitroMapSpec_(std__shared_ptr_HybridNitroMapSpec_ cppType);
740
+
741
+ // pragma MARK: std::weak_ptr<HybridNitroMapSpec>
742
+ using std__weak_ptr_HybridNitroMapSpec_ = std::weak_ptr<HybridNitroMapSpec>;
743
+ inline std__weak_ptr_HybridNitroMapSpec_ weakify_std__shared_ptr_HybridNitroMapSpec_(const std::shared_ptr<HybridNitroMapSpec>& strong) noexcept { return strong; }
744
+
745
+ // pragma MARK: Result<void>
746
+ using Result_void_ = Result<void>;
747
+ inline Result_void_ create_Result_void_() noexcept {
748
+ return Result<void>::withValue();
749
+ }
750
+ inline Result_void_ create_Result_void_(const std::exception_ptr& error) noexcept {
751
+ return Result<void>::withError(error);
752
+ }
753
+
754
+ // pragma MARK: Result<std::shared_ptr<Promise<Camera>>>
755
+ using Result_std__shared_ptr_Promise_Camera___ = Result<std::shared_ptr<Promise<Camera>>>;
756
+ inline Result_std__shared_ptr_Promise_Camera___ create_Result_std__shared_ptr_Promise_Camera___(const std::shared_ptr<Promise<Camera>>& value) noexcept {
757
+ return Result<std::shared_ptr<Promise<Camera>>>::withValue(value);
758
+ }
759
+ inline Result_std__shared_ptr_Promise_Camera___ create_Result_std__shared_ptr_Promise_Camera___(const std::exception_ptr& error) noexcept {
760
+ return Result<std::shared_ptr<Promise<Camera>>>::withError(error);
761
+ }
762
+
763
+ // pragma MARK: Result<std::shared_ptr<Promise<MapBoundaries>>>
764
+ using Result_std__shared_ptr_Promise_MapBoundaries___ = Result<std::shared_ptr<Promise<MapBoundaries>>>;
765
+ inline Result_std__shared_ptr_Promise_MapBoundaries___ create_Result_std__shared_ptr_Promise_MapBoundaries___(const std::shared_ptr<Promise<MapBoundaries>>& value) noexcept {
766
+ return Result<std::shared_ptr<Promise<MapBoundaries>>>::withValue(value);
767
+ }
768
+ inline Result_std__shared_ptr_Promise_MapBoundaries___ create_Result_std__shared_ptr_Promise_MapBoundaries___(const std::exception_ptr& error) noexcept {
769
+ return Result<std::shared_ptr<Promise<MapBoundaries>>>::withError(error);
770
+ }
771
+
772
+ // pragma MARK: std::shared_ptr<HybridNitroMapConfigSpec>
773
+ /**
774
+ * Specialized version of `std::shared_ptr<HybridNitroMapConfigSpec>`.
775
+ */
776
+ using std__shared_ptr_HybridNitroMapConfigSpec_ = std::shared_ptr<HybridNitroMapConfigSpec>;
777
+ std::shared_ptr<HybridNitroMapConfigSpec> create_std__shared_ptr_HybridNitroMapConfigSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
778
+ void* NON_NULL get_std__shared_ptr_HybridNitroMapConfigSpec_(std__shared_ptr_HybridNitroMapConfigSpec_ cppType);
779
+
780
+ // pragma MARK: std::weak_ptr<HybridNitroMapConfigSpec>
781
+ using std__weak_ptr_HybridNitroMapConfigSpec_ = std::weak_ptr<HybridNitroMapConfigSpec>;
782
+ inline std__weak_ptr_HybridNitroMapConfigSpec_ weakify_std__shared_ptr_HybridNitroMapConfigSpec_(const std::shared_ptr<HybridNitroMapConfigSpec>& strong) noexcept { return strong; }
783
+
784
+ // pragma MARK: Result<bool>
785
+ using Result_bool_ = Result<bool>;
786
+ inline Result_bool_ create_Result_bool_(bool value) noexcept {
787
+ return Result<bool>::withValue(std::move(value));
788
+ }
789
+ inline Result_bool_ create_Result_bool_(const std::exception_ptr& error) noexcept {
790
+ return Result<bool>::withError(error);
791
+ }
792
+
793
+ } // namespace margelo::nitro::nitromap::bridge::swift