react-nitro-renderer 0.0.0-stage → 0.0.1-alpha.7

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 (247) hide show
  1. package/LICENSE +21 -0
  2. package/Package.swift +104 -0
  3. package/README.md +111 -2
  4. package/Sources/ReactNitroRenderer/Animations/AnimationCurve+toUIAnimationCurve.swift +31 -0
  5. package/Sources/ReactNitroRenderer/Animations/HybridAnimator.swift +36 -0
  6. package/Sources/ReactNitroRenderer/Animations/View+Animations.swift +39 -0
  7. package/Sources/ReactNitroRenderer/Components/HybridLabel.swift +89 -0
  8. package/Sources/ReactNitroRenderer/Components/HybridScrollView.swift +21 -0
  9. package/Sources/ReactNitroRenderer/Components/HybridScrollViewContent.swift +36 -0
  10. package/Sources/ReactNitroRenderer/Components/HybridView.swift +22 -0
  11. package/Sources/ReactNitroRenderer/Components/View.swift +267 -0
  12. package/Sources/ReactNitroRenderer/CustomViewController.swift +36 -0
  13. package/Sources/ReactNitroRenderer/Extensions/Corner+toCACornerMask.swift +16 -0
  14. package/Sources/ReactNitroRenderer/Extensions/CornerCurve+toUICornerCurve.swift +23 -0
  15. package/Sources/ReactNitroRenderer/Extensions/EdgeInsets+UIEdgeInsets.swift +7 -0
  16. package/Sources/ReactNitroRenderer/Extensions/ModifierKey+toUIKeyModifierFlags.swift +31 -0
  17. package/Sources/ReactNitroRenderer/Extensions/Point+CGPoint.swift +15 -0
  18. package/Sources/ReactNitroRenderer/Extensions/UIGestureRecognizerState+toUIGestureRecognizerState.swift +39 -0
  19. package/Sources/ReactNitroRenderer/Gestures/HybridGestureRecognizer.swift +40 -0
  20. package/Sources/ReactNitroRenderer/Gestures/HybridLongPressGestureRecognizer.swift +53 -0
  21. package/Sources/ReactNitroRenderer/Gestures/HybridPanGestureRecognizer.swift +52 -0
  22. package/Sources/ReactNitroRenderer/Gestures/HybridTapGestureRecognizer.swift +42 -0
  23. package/Sources/ReactNitroRenderer/HybridApplication.swift +19 -0
  24. package/Sources/ReactNitroRenderer/HybridScreen.swift +22 -0
  25. package/Sources/ReactNitroRenderer/HybridViewController.swift +66 -0
  26. package/Sources/ReactNitroRenderer/HybridWindow.swift +25 -0
  27. package/Sources/ReactNitroRenderer/HybridWindowScene.swift +16 -0
  28. package/Sources/ReactNitroRenderer/RegisterRootCallback.swift +28 -0
  29. package/Sources/ReactNitroRenderer/RuntimeReloadableAppDelegate.swift +14 -0
  30. package/Sources/ReactNitroRenderer/SafeAreaInsetsListeners.swift +22 -0
  31. package/Sources/ReactNitroRenderer/UIColor+initRGBA.swift +10 -0
  32. package/Sources/ReactNitroRenderer/UIColor+rgba.swift +20 -0
  33. package/Sources/ReactNitroRenderer/ViewController.swift +13 -0
  34. package/Sources/ReactNitroRenderer/Window.swift +12 -0
  35. package/Sources/ReactNitroRenderer/WindowScene.swift +12 -0
  36. package/Sources/ReactNitroRenderer/YGNode.swift +46 -0
  37. package/nitrogen/generated/.gitattributes +1 -0
  38. package/nitrogen/generated/apple/ReactNitroRenderer-Swift-Cxx-Bridge.cpp +376 -0
  39. package/nitrogen/generated/apple/ReactNitroRendererAppleCxx/ReactNitroRendererAppleCxx.cpp +9 -0
  40. package/nitrogen/generated/apple/ReactNitroRendererAppleCxx/include/ReactNitroRendererAppleCxx/ReactNitroRendererAppleCxx.h +245 -0
  41. package/nitrogen/generated/apple/ReactNitroRendererAutolinking.cpp +46 -0
  42. package/nitrogen/generated/apple/ReactNitroRendererAutolinking.mm +24 -0
  43. package/nitrogen/generated/apple/c++/AnimationCurve-Swift.cpp +42 -0
  44. package/nitrogen/generated/apple/c++/Corner-Swift.cpp +52 -0
  45. package/nitrogen/generated/apple/c++/CornerCurve-Swift.cpp +46 -0
  46. package/nitrogen/generated/apple/c++/EdgeInsets-Swift.cpp +35 -0
  47. package/nitrogen/generated/apple/c++/Frame-Swift.cpp +35 -0
  48. package/nitrogen/generated/apple/c++/GestureRecognizerState-Swift.cpp +44 -0
  49. package/nitrogen/generated/apple/c++/HybridAnimatorSpecSwift.cpp +53 -0
  50. package/nitrogen/generated/apple/c++/HybridAnimatorSpec_cxx-Swift.cpp +28 -0
  51. package/nitrogen/generated/apple/c++/HybridApplicationSpecSwift.cpp +58 -0
  52. package/nitrogen/generated/apple/c++/HybridApplicationSpec_cxx-Swift.cpp +28 -0
  53. package/nitrogen/generated/apple/c++/HybridGestureRecognizerSpecSwift.cpp +48 -0
  54. package/nitrogen/generated/apple/c++/HybridGestureRecognizerSpec_cxx-Swift.cpp +28 -0
  55. package/nitrogen/generated/apple/c++/HybridLabelSpecSwift.cpp +49 -0
  56. package/nitrogen/generated/apple/c++/HybridLabelSpec_cxx-Swift.cpp +28 -0
  57. package/nitrogen/generated/apple/c++/HybridLongPressGestureRecognizerSpecSwift.cpp +85 -0
  58. package/nitrogen/generated/apple/c++/HybridLongPressGestureRecognizerSpec_cxx-Swift.cpp +28 -0
  59. package/nitrogen/generated/apple/c++/HybridPanGestureRecognizerSpecSwift.cpp +89 -0
  60. package/nitrogen/generated/apple/c++/HybridPanGestureRecognizerSpec_cxx-Swift.cpp +28 -0
  61. package/nitrogen/generated/apple/c++/HybridScreenSpecSwift.cpp +44 -0
  62. package/nitrogen/generated/apple/c++/HybridScreenSpec_cxx-Swift.cpp +28 -0
  63. package/nitrogen/generated/apple/c++/HybridScrollViewContentSpecSwift.cpp +40 -0
  64. package/nitrogen/generated/apple/c++/HybridScrollViewContentSpec_cxx-Swift.cpp +28 -0
  65. package/nitrogen/generated/apple/c++/HybridScrollViewSpecSwift.cpp +40 -0
  66. package/nitrogen/generated/apple/c++/HybridScrollViewSpec_cxx-Swift.cpp +28 -0
  67. package/nitrogen/generated/apple/c++/HybridTapGestureRecognizerSpecSwift.cpp +67 -0
  68. package/nitrogen/generated/apple/c++/HybridTapGestureRecognizerSpec_cxx-Swift.cpp +28 -0
  69. package/nitrogen/generated/apple/c++/HybridViewControllerSpecSwift.cpp +91 -0
  70. package/nitrogen/generated/apple/c++/HybridViewControllerSpec_cxx-Swift.cpp +28 -0
  71. package/nitrogen/generated/apple/c++/HybridViewSpecSwift.cpp +231 -0
  72. package/nitrogen/generated/apple/c++/HybridViewSpec_cxx-Swift.cpp +28 -0
  73. package/nitrogen/generated/apple/c++/HybridWindowSceneSpecSwift.cpp +34 -0
  74. package/nitrogen/generated/apple/c++/HybridWindowSceneSpec_cxx-Swift.cpp +28 -0
  75. package/nitrogen/generated/apple/c++/HybridWindowSpecSwift.cpp +53 -0
  76. package/nitrogen/generated/apple/c++/HybridWindowSpec_cxx-Swift.cpp +28 -0
  77. package/nitrogen/generated/apple/c++/ListenerSubscription-Swift.cpp +37 -0
  78. package/nitrogen/generated/apple/c++/ModifierKey-Swift.cpp +52 -0
  79. package/nitrogen/generated/apple/c++/Point-Swift.cpp +33 -0
  80. package/nitrogen/generated/apple/c++/Point3D-Swift.cpp +34 -0
  81. package/nitrogen/generated/apple/c++/Size-Swift.cpp +33 -0
  82. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/ReactNitroRendererAutolinking.hpp +13 -0
  83. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/AnimationCurve-Swift.hpp +23 -0
  84. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/Corner-Swift.hpp +23 -0
  85. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/CornerCurve-Swift.hpp +23 -0
  86. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/EdgeInsets-Swift.hpp +23 -0
  87. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/Frame-Swift.hpp +23 -0
  88. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/GestureRecognizerState-Swift.hpp +23 -0
  89. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridAnimatorSpecSwift.hpp +73 -0
  90. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridAnimatorSpec_cxx-Swift.hpp +23 -0
  91. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridApplicationSpecSwift.hpp +74 -0
  92. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridApplicationSpec_cxx-Swift.hpp +23 -0
  93. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridGestureRecognizerSpecSwift.hpp +74 -0
  94. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridGestureRecognizerSpec_cxx-Swift.hpp +23 -0
  95. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridLabelSpecSwift.hpp +74 -0
  96. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridLabelSpec_cxx-Swift.hpp +23 -0
  97. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridLongPressGestureRecognizerSpecSwift.hpp +82 -0
  98. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridLongPressGestureRecognizerSpec_cxx-Swift.hpp +23 -0
  99. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridPanGestureRecognizerSpecSwift.hpp +80 -0
  100. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridPanGestureRecognizerSpec_cxx-Swift.hpp +23 -0
  101. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridScreenSpecSwift.hpp +73 -0
  102. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridScreenSpec_cxx-Swift.hpp +23 -0
  103. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridScrollViewContentSpecSwift.hpp +72 -0
  104. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridScrollViewContentSpec_cxx-Swift.hpp +23 -0
  105. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridScrollViewSpecSwift.hpp +72 -0
  106. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridScrollViewSpec_cxx-Swift.hpp +23 -0
  107. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridTapGestureRecognizerSpecSwift.hpp +78 -0
  108. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridTapGestureRecognizerSpec_cxx-Swift.hpp +23 -0
  109. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridViewControllerSpecSwift.hpp +77 -0
  110. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridViewControllerSpec_cxx-Swift.hpp +23 -0
  111. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridViewSpecSwift.hpp +102 -0
  112. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridViewSpec_cxx-Swift.hpp +23 -0
  113. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridWindowSceneSpecSwift.hpp +71 -0
  114. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridWindowSceneSpec_cxx-Swift.hpp +23 -0
  115. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridWindowSpecSwift.hpp +74 -0
  116. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/HybridWindowSpec_cxx-Swift.hpp +23 -0
  117. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/ListenerSubscription-Swift.hpp +23 -0
  118. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/ModifierKey-Swift.hpp +23 -0
  119. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/Point-Swift.hpp +23 -0
  120. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/Point3D-Swift.hpp +23 -0
  121. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/ReactNitroRenderer-Swift-Cxx-Umbrella.hpp +69 -0
  122. package/nitrogen/generated/apple/c++/include/ReactNitroRenderer/private/Size-Swift.hpp +23 -0
  123. package/nitrogen/generated/apple/c++/include/module.modulemap +12 -0
  124. package/nitrogen/generated/apple/swift/AnimationCurve.swift +64 -0
  125. package/nitrogen/generated/apple/swift/Callback___ReactNitroRenderer__HybridWindowSpec_cxx___ReactNitroRenderer__HybridWindowSceneSpec_cxx.swift +71 -0
  126. package/nitrogen/generated/apple/swift/Callback_void.swift +60 -0
  127. package/nitrogen/generated/apple/swift/Callback_void___ReactNitroRenderer__EdgeInsets.swift +66 -0
  128. package/nitrogen/generated/apple/swift/Callback_void___ReactNitroRenderer__HybridLongPressGestureRecognizerSpec_cxx.swift +66 -0
  129. package/nitrogen/generated/apple/swift/Callback_void___ReactNitroRenderer__HybridPanGestureRecognizerSpec_cxx.swift +66 -0
  130. package/nitrogen/generated/apple/swift/Callback_void___ReactNitroRenderer__HybridTapGestureRecognizerSpec_cxx.swift +66 -0
  131. package/nitrogen/generated/apple/swift/Corner.swift +64 -0
  132. package/nitrogen/generated/apple/swift/CornerCurve.swift +54 -0
  133. package/nitrogen/generated/apple/swift/EdgeInsets.swift +49 -0
  134. package/nitrogen/generated/apple/swift/Frame.swift +49 -0
  135. package/nitrogen/generated/apple/swift/GestureRecognizerState.swift +74 -0
  136. package/nitrogen/generated/apple/swift/HybridAnimatorSpec.swift +67 -0
  137. package/nitrogen/generated/apple/swift/HybridAnimatorSpec_cxx.swift +158 -0
  138. package/nitrogen/generated/apple/swift/HybridApplicationSpec.swift +67 -0
  139. package/nitrogen/generated/apple/swift/HybridApplicationSpec_cxx.swift +160 -0
  140. package/nitrogen/generated/apple/swift/HybridGestureRecognizerSpec.swift +67 -0
  141. package/nitrogen/generated/apple/swift/HybridGestureRecognizerSpec_cxx.swift +147 -0
  142. package/nitrogen/generated/apple/swift/HybridLabelSpec.swift +66 -0
  143. package/nitrogen/generated/apple/swift/HybridLabelSpec_cxx.swift +157 -0
  144. package/nitrogen/generated/apple/swift/HybridLongPressGestureRecognizerSpec.swift +70 -0
  145. package/nitrogen/generated/apple/swift/HybridLongPressGestureRecognizerSpec_cxx.swift +193 -0
  146. package/nitrogen/generated/apple/swift/HybridPanGestureRecognizerSpec.swift +69 -0
  147. package/nitrogen/generated/apple/swift/HybridPanGestureRecognizerSpec_cxx.swift +195 -0
  148. package/nitrogen/generated/apple/swift/HybridScreenSpec.swift +67 -0
  149. package/nitrogen/generated/apple/swift/HybridScreenSpec_cxx.swift +146 -0
  150. package/nitrogen/generated/apple/swift/HybridScrollViewContentSpec.swift +66 -0
  151. package/nitrogen/generated/apple/swift/HybridScrollViewContentSpec_cxx.swift +148 -0
  152. package/nitrogen/generated/apple/swift/HybridScrollViewSpec.swift +66 -0
  153. package/nitrogen/generated/apple/swift/HybridScrollViewSpec_cxx.swift +148 -0
  154. package/nitrogen/generated/apple/swift/HybridTapGestureRecognizerSpec.swift +68 -0
  155. package/nitrogen/generated/apple/swift/HybridTapGestureRecognizerSpec_cxx.swift +175 -0
  156. package/nitrogen/generated/apple/swift/HybridViewControllerSpec.swift +68 -0
  157. package/nitrogen/generated/apple/swift/HybridViewControllerSpec_cxx.swift +185 -0
  158. package/nitrogen/generated/apple/swift/HybridViewSpec.swift +89 -0
  159. package/nitrogen/generated/apple/swift/HybridViewSpec_cxx.swift +335 -0
  160. package/nitrogen/generated/apple/swift/HybridWindowSceneSpec.swift +65 -0
  161. package/nitrogen/generated/apple/swift/HybridWindowSceneSpec_cxx.swift +136 -0
  162. package/nitrogen/generated/apple/swift/HybridWindowSpec.swift +65 -0
  163. package/nitrogen/generated/apple/swift/HybridWindowSpec_cxx.swift +156 -0
  164. package/nitrogen/generated/apple/swift/ListenerSubscription.swift +29 -0
  165. package/nitrogen/generated/apple/swift/ModifierKey.swift +64 -0
  166. package/nitrogen/generated/apple/swift/Point.swift +35 -0
  167. package/nitrogen/generated/apple/swift/Point3D.swift +42 -0
  168. package/nitrogen/generated/apple/swift/Promise___ReactNitroRenderer__HybridWindowSpec_cxx.swift +102 -0
  169. package/nitrogen/generated/apple/swift/Promise_void.swift +100 -0
  170. package/nitrogen/generated/apple/swift/ReactNitroRenderer+ForeignTypeMetadata.swift +34 -0
  171. package/nitrogen/generated/apple/swift/Size.swift +35 -0
  172. package/nitrogen/generated/hybrid-classes.json +144 -0
  173. package/nitrogen/generated/shared/c++/ReactNitroRendererCxxModule.cpp +2 -0
  174. package/nitrogen/generated/shared/c++/include/ReactNitroRenderer/ReactNitroRendererCxxModule.hpp +2 -0
  175. package/nitrogen/generated/shared/javascript/Animator.cjs +19 -0
  176. package/nitrogen/generated/shared/javascript/Animator.d.cts +9 -0
  177. package/nitrogen/generated/shared/javascript/Application.cjs +19 -0
  178. package/nitrogen/generated/shared/javascript/Application.d.cts +9 -0
  179. package/nitrogen/generated/shared/javascript/GestureRecognizer.cjs +19 -0
  180. package/nitrogen/generated/shared/javascript/GestureRecognizer.d.cts +9 -0
  181. package/nitrogen/generated/shared/javascript/Label.cjs +19 -0
  182. package/nitrogen/generated/shared/javascript/Label.d.cts +9 -0
  183. package/nitrogen/generated/shared/javascript/LongPressGestureRecognizer.cjs +19 -0
  184. package/nitrogen/generated/shared/javascript/LongPressGestureRecognizer.d.cts +9 -0
  185. package/nitrogen/generated/shared/javascript/PanGestureRecognizer.cjs +19 -0
  186. package/nitrogen/generated/shared/javascript/PanGestureRecognizer.d.cts +9 -0
  187. package/nitrogen/generated/shared/javascript/Screen.cjs +19 -0
  188. package/nitrogen/generated/shared/javascript/Screen.d.cts +9 -0
  189. package/nitrogen/generated/shared/javascript/ScrollView.cjs +19 -0
  190. package/nitrogen/generated/shared/javascript/ScrollView.d.cts +9 -0
  191. package/nitrogen/generated/shared/javascript/ScrollViewContent.cjs +19 -0
  192. package/nitrogen/generated/shared/javascript/ScrollViewContent.d.cts +9 -0
  193. package/nitrogen/generated/shared/javascript/TapGestureRecognizer.cjs +19 -0
  194. package/nitrogen/generated/shared/javascript/TapGestureRecognizer.d.cts +9 -0
  195. package/nitrogen/generated/shared/javascript/View.cjs +19 -0
  196. package/nitrogen/generated/shared/javascript/View.d.cts +9 -0
  197. package/nitrogen/generated/shared/javascript/ViewController.cjs +19 -0
  198. package/nitrogen/generated/shared/javascript/ViewController.d.cts +9 -0
  199. package/nitrogen/generated/shared/javascript/Window.cjs +19 -0
  200. package/nitrogen/generated/shared/javascript/Window.d.cts +9 -0
  201. package/nitrogen/generated/shared/javascript/WindowScene.cjs +19 -0
  202. package/nitrogen/generated/shared/javascript/WindowScene.d.cts +9 -0
  203. package/package.json +42 -4
  204. package/src/NitroRendererHostConfig.ts +396 -0
  205. package/src/PropSetter.ts +29 -0
  206. package/src/StylePropSetters.ts +145 -0
  207. package/src/ViewPropSetters.ts +33 -0
  208. package/src/ViewRegistry.ts +47 -0
  209. package/src/YogaPropSetters.ts +347 -0
  210. package/src/components/ScrollView.tsx +30 -0
  211. package/src/components/ScrollViewContent.tsx +12 -0
  212. package/src/components/Text.tsx +34 -0
  213. package/src/components/View.ts +33 -0
  214. package/src/contexts/RootContext.ts +5 -0
  215. package/src/getViewYogaNode.ts +9 -0
  216. package/src/hooks/useRootContext.ts +11 -0
  217. package/src/hooks/useSafeAreaInsets.ts +36 -0
  218. package/src/hybrids.ts +9 -0
  219. package/src/index.ts +30 -0
  220. package/src/registerApp.ts +22 -0
  221. package/src/renderRoot.ts +44 -0
  222. package/src/specs/Animations/AnimationCurve.ts +6 -0
  223. package/src/specs/Animations/Animator.nitro.ts +16 -0
  224. package/src/specs/Application.nitro.ts +20 -0
  225. package/src/specs/Corner.ts +1 -0
  226. package/src/specs/EdgeInsets.ts +13 -0
  227. package/src/specs/Frame.ts +6 -0
  228. package/src/specs/Gestures/GestureRecognizer.nitro.ts +26 -0
  229. package/src/specs/Gestures/LongPressGestureRecognizer.nitro.ts +26 -0
  230. package/src/specs/Gestures/PanGestureRecognizer.nitro.ts +33 -0
  231. package/src/specs/Gestures/TapGestureRecognizer.nitro.ts +20 -0
  232. package/src/specs/Label.nitro.ts +16 -0
  233. package/src/specs/ListenerSubscription.ts +3 -0
  234. package/src/specs/Screen.nitro.ts +16 -0
  235. package/src/specs/ScrollView.nitro.ts +14 -0
  236. package/src/specs/ScrollViewContent.nitro.ts +14 -0
  237. package/src/specs/Size.ts +4 -0
  238. package/src/specs/View.nitro.ts +112 -0
  239. package/src/specs/ViewController.nitro.ts +29 -0
  240. package/src/specs/Window.nitro.ts +20 -0
  241. package/src/specs/WindowScene.nitro.ts +15 -0
  242. package/src/types/ReactNitroReconcilerHostConfig.ts +44 -0
  243. package/src/types/ReactRoot.ts +5 -0
  244. package/src/types/StrictMap.ts +6 -0
  245. package/src/types/ViewPropsUpdater.ts +30 -0
  246. package/src/types/YogaStyleProps.ts +47 -0
  247. package/src/utils/arePropArraysEqual.ts +18 -0
@@ -0,0 +1,66 @@
1
+ ///
2
+ /// HybridScrollViewContentSpec.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/margelo/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ public import NitroModules
9
+
10
+ /// See ``HybridScrollViewContentSpec``
11
+ public protocol HybridScrollViewContentSpec_protocol: HybridScrollViewContentSpec_base, HybridObject, HybridViewSpec_protocol {
12
+ // Constructor
13
+ init() throws
14
+
15
+ // Properties
16
+
17
+
18
+ // Methods
19
+
20
+
21
+ // Static Properties
22
+
23
+
24
+ // Static Methods
25
+
26
+ }
27
+
28
+ public extension HybridScrollViewContentSpec_protocol {
29
+ /// Default implementation of ``HybridObject.toString``
30
+ func toString() -> String {
31
+ return "[HybridObject ScrollViewContent]"
32
+ }
33
+ }
34
+
35
+ /// See ``HybridScrollViewContentSpec``
36
+ open class HybridScrollViewContentSpec_base: HybridViewSpec_base {
37
+ private weak var cxxWrapper: HybridScrollViewContentSpec_cxx? = nil
38
+ public override init() throws {
39
+ try super.init()
40
+ }
41
+ public final override func getCxxWrapper() -> HybridScrollViewContentSpec_cxx {
42
+ #if DEBUG
43
+ guard self is any HybridScrollViewContentSpec else {
44
+ fatalError("`self` is not a `HybridScrollViewContentSpec`! Did you accidentally inherit from `HybridScrollViewContentSpec_base` instead of `HybridScrollViewContentSpec`?")
45
+ }
46
+ #endif
47
+ if let cxxWrapper = self.cxxWrapper {
48
+ return cxxWrapper
49
+ } else {
50
+ let cxxWrapper = HybridScrollViewContentSpec_cxx(self as! any HybridScrollViewContentSpec)
51
+ self.cxxWrapper = cxxWrapper
52
+ return cxxWrapper
53
+ }
54
+ }
55
+ }
56
+
57
+ /**
58
+ * A Swift base-protocol representing the ScrollViewContent HybridObject.
59
+ * Implement this protocol to create Swift-based instances of ScrollViewContent.
60
+ * ```swift
61
+ * class HybridScrollViewContent : HybridScrollViewContentSpec {
62
+ * // ...
63
+ * }
64
+ * ```
65
+ */
66
+ public typealias HybridScrollViewContentSpec = HybridScrollViewContentSpec_protocol & HybridScrollViewContentSpec_base
@@ -0,0 +1,148 @@
1
+ ///
2
+ /// HybridScrollViewContentSpec_cxx.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/margelo/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+ internal import NitroModules
8
+ internal import CxxStdlib
9
+ internal import ReactNitroRendererAppleCxx
10
+
11
+ /**
12
+ * A class implementation that bridges HybridScrollViewContentSpec over to C++.
13
+ * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined.
14
+ */
15
+ @_expose(Cxx)
16
+ public final class HybridScrollViewContentSpec_cxx: HybridViewSpec_cxx {
17
+ /**
18
+ * The Swift <> C++ bridge's namespace (`margelo::nitro::renderer::swift_bridge`)
19
+ * from `ReactNitroRendererAppleCxx/ReactNitroRendererAppleCxx.h`.
20
+ * This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift.
21
+ */
22
+ public typealias bridge = margelo.nitro.renderer.swift_bridge
23
+
24
+ /**
25
+ * Holds the Swift implementation of `HybridScrollViewContentSpec`.
26
+ */
27
+ private let __implementation: HybridScrollViewContent
28
+
29
+ /**
30
+ * Holds a weak pointer to the C++ class that wraps the Swift class.
31
+ */
32
+ private var __cxxPart: bridge.std__weak_ptr_margelo__nitro__renderer__HybridScrollViewContentSpec_ = .init()
33
+
34
+ /**
35
+ * Create a new `HybridScrollViewContentSpec_cxx` that wraps the given `HybridScrollViewContentSpec`.
36
+ */
37
+ public init(_ implementation: any HybridScrollViewContentSpec) {
38
+ guard let implementation = implementation as? HybridScrollViewContent else {
39
+ preconditionFailure("ScrollViewContent selects HybridScrollViewContent as its Swift implementation. Every instance must inherit HybridScrollViewContent.")
40
+ }
41
+ self.__implementation = implementation
42
+ super.init(implementation)
43
+ }
44
+
45
+ /**
46
+ * Get the actual `HybridScrollViewContentSpec` instance this class wraps.
47
+ */
48
+ @inline(__always)
49
+ public func getHybridScrollViewContentSpec() -> any HybridScrollViewContentSpec {
50
+ return __implementation
51
+ }
52
+
53
+ /**
54
+ * Casts this instance to a retained unsafe raw pointer.
55
+ * This acquires one additional strong reference on the object!
56
+ */
57
+ public override func toUnsafe() -> UnsafeMutableRawPointer {
58
+ return Unmanaged.passRetained(self).toOpaque()
59
+ }
60
+
61
+ /**
62
+ * Casts an unsafe pointer to a `HybridScrollViewContentSpec_cxx`.
63
+ * The pointer has to be a retained opaque `Unmanaged<HybridScrollViewContentSpec_cxx>`.
64
+ * This removes one strong reference from the object!
65
+ */
66
+ public override class func fromUnsafe(pointer: UnsafeMutableRawPointer) -> HybridScrollViewContentSpec_cxx {
67
+ return Unmanaged<HybridScrollViewContentSpec_cxx>.fromOpaque(pointer).takeRetainedValue()
68
+ }
69
+
70
+ /**
71
+ * Gets (or creates) the C++ part of this Hybrid Object.
72
+ * This handle keeps the original native object alive.
73
+ */
74
+ public func getCxxPart() -> bridge.std__shared_ptr_margelo__nitro__renderer__HybridScrollViewContentSpec_ {
75
+ let cached = __cxxPart.lock()
76
+ if cached.use_count() > 0 {
77
+ return cached
78
+ }
79
+ let value = bridge.create_std__shared_ptr_margelo__nitro__renderer__HybridScrollViewContentSpec_(self.toUnsafe())
80
+ __cxxPart = bridge.weakify_std__shared_ptr_margelo__nitro__renderer__HybridScrollViewContentSpec_(value)
81
+ return value
82
+ }
83
+
84
+ // Keep the base accessor in Swift to avoid exporting the same imported pointer
85
+ // metadata from two modules when the base belongs to an external module.
86
+ @_expose(!Cxx)
87
+ public override func getCxxPart() -> bridge.std__shared_ptr_margelo__nitro__renderer__HybridViewSpec_ {
88
+ let own: bridge.std__shared_ptr_margelo__nitro__renderer__HybridScrollViewContentSpec_ = getCxxPart()
89
+ return bridge.upcast_ScrollViewContent_to_View(own)
90
+ }
91
+
92
+ // A static borrowing accessor lets C++ pass a const reference without copying it.
93
+ // TODO: Remove this adapter and call the instance method directly once
94
+ // https://github.com/swiftlang/swift/pull/92862 is merged and supported by our Swift toolchain.
95
+ @_spi(NitroCxx)
96
+ public static func getCxxPart(_ value: borrowing HybridScrollViewContentSpec_cxx) -> bridge.std__shared_ptr_margelo__nitro__renderer__HybridScrollViewContentSpec_ {
97
+ return value.getCxxPart()
98
+ }
99
+
100
+ /**
101
+ * Get the memory size of the Swift class (plus size of any other allocations)
102
+ * so the JS VM can properly track it and garbage-collect the JS object if needed.
103
+ */
104
+ @inline(__always)
105
+ public override var memorySize: Int {
106
+ return MemoryHelper.getSizeOf(__implementation) + __implementation.memorySize
107
+ }
108
+
109
+ /**
110
+ * Compares this object with the given [other] object for reference equality.
111
+ */
112
+ @inline(__always)
113
+ public func equals(other: HybridScrollViewContentSpec_cxx) -> Bool {
114
+ return __implementation === other.__implementation
115
+ }
116
+
117
+ /**
118
+ * Call dispose() on the Swift class.
119
+ * This _may_ be called manually from JS.
120
+ */
121
+ @inline(__always)
122
+ public override func dispose() {
123
+ __implementation.dispose()
124
+ }
125
+
126
+ /**
127
+ * Call toString() on the Swift class.
128
+ */
129
+ @inline(__always)
130
+ public override func toString() -> String {
131
+ return __implementation.toString()
132
+ }
133
+
134
+ // Properties
135
+
136
+ // Methods
137
+
138
+ // Constructor
139
+
140
+ public class func constructor() -> bridge.Result_void_ {
141
+ do {
142
+ let value = try HybridScrollViewContent()
143
+ return bridge.Result_void_.withValue(value.getCxxWrapper().toUnsafe())
144
+ } catch {
145
+ return bridge.Result_void_.withError(error.toCpp())
146
+ }
147
+ }
148
+ }
@@ -0,0 +1,66 @@
1
+ ///
2
+ /// HybridScrollViewSpec.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/margelo/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ public import NitroModules
9
+
10
+ /// See ``HybridScrollViewSpec``
11
+ public protocol HybridScrollViewSpec_protocol: HybridScrollViewSpec_base, HybridObject, HybridViewSpec_protocol {
12
+ // Constructor
13
+ init() throws
14
+
15
+ // Properties
16
+
17
+
18
+ // Methods
19
+
20
+
21
+ // Static Properties
22
+
23
+
24
+ // Static Methods
25
+
26
+ }
27
+
28
+ public extension HybridScrollViewSpec_protocol {
29
+ /// Default implementation of ``HybridObject.toString``
30
+ func toString() -> String {
31
+ return "[HybridObject ScrollView]"
32
+ }
33
+ }
34
+
35
+ /// See ``HybridScrollViewSpec``
36
+ open class HybridScrollViewSpec_base: HybridViewSpec_base {
37
+ private weak var cxxWrapper: HybridScrollViewSpec_cxx? = nil
38
+ public override init() throws {
39
+ try super.init()
40
+ }
41
+ public final override func getCxxWrapper() -> HybridScrollViewSpec_cxx {
42
+ #if DEBUG
43
+ guard self is any HybridScrollViewSpec else {
44
+ fatalError("`self` is not a `HybridScrollViewSpec`! Did you accidentally inherit from `HybridScrollViewSpec_base` instead of `HybridScrollViewSpec`?")
45
+ }
46
+ #endif
47
+ if let cxxWrapper = self.cxxWrapper {
48
+ return cxxWrapper
49
+ } else {
50
+ let cxxWrapper = HybridScrollViewSpec_cxx(self as! any HybridScrollViewSpec)
51
+ self.cxxWrapper = cxxWrapper
52
+ return cxxWrapper
53
+ }
54
+ }
55
+ }
56
+
57
+ /**
58
+ * A Swift base-protocol representing the ScrollView HybridObject.
59
+ * Implement this protocol to create Swift-based instances of ScrollView.
60
+ * ```swift
61
+ * class HybridScrollView : HybridScrollViewSpec {
62
+ * // ...
63
+ * }
64
+ * ```
65
+ */
66
+ public typealias HybridScrollViewSpec = HybridScrollViewSpec_protocol & HybridScrollViewSpec_base
@@ -0,0 +1,148 @@
1
+ ///
2
+ /// HybridScrollViewSpec_cxx.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/margelo/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+ internal import NitroModules
8
+ internal import CxxStdlib
9
+ internal import ReactNitroRendererAppleCxx
10
+
11
+ /**
12
+ * A class implementation that bridges HybridScrollViewSpec over to C++.
13
+ * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined.
14
+ */
15
+ @_expose(Cxx)
16
+ public final class HybridScrollViewSpec_cxx: HybridViewSpec_cxx {
17
+ /**
18
+ * The Swift <> C++ bridge's namespace (`margelo::nitro::renderer::swift_bridge`)
19
+ * from `ReactNitroRendererAppleCxx/ReactNitroRendererAppleCxx.h`.
20
+ * This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift.
21
+ */
22
+ public typealias bridge = margelo.nitro.renderer.swift_bridge
23
+
24
+ /**
25
+ * Holds the Swift implementation of `HybridScrollViewSpec`.
26
+ */
27
+ private let __implementation: HybridScrollView
28
+
29
+ /**
30
+ * Holds a weak pointer to the C++ class that wraps the Swift class.
31
+ */
32
+ private var __cxxPart: bridge.std__weak_ptr_margelo__nitro__renderer__HybridScrollViewSpec_ = .init()
33
+
34
+ /**
35
+ * Create a new `HybridScrollViewSpec_cxx` that wraps the given `HybridScrollViewSpec`.
36
+ */
37
+ public init(_ implementation: any HybridScrollViewSpec) {
38
+ guard let implementation = implementation as? HybridScrollView else {
39
+ preconditionFailure("ScrollView selects HybridScrollView as its Swift implementation. Every instance must inherit HybridScrollView.")
40
+ }
41
+ self.__implementation = implementation
42
+ super.init(implementation)
43
+ }
44
+
45
+ /**
46
+ * Get the actual `HybridScrollViewSpec` instance this class wraps.
47
+ */
48
+ @inline(__always)
49
+ public func getHybridScrollViewSpec() -> any HybridScrollViewSpec {
50
+ return __implementation
51
+ }
52
+
53
+ /**
54
+ * Casts this instance to a retained unsafe raw pointer.
55
+ * This acquires one additional strong reference on the object!
56
+ */
57
+ public override func toUnsafe() -> UnsafeMutableRawPointer {
58
+ return Unmanaged.passRetained(self).toOpaque()
59
+ }
60
+
61
+ /**
62
+ * Casts an unsafe pointer to a `HybridScrollViewSpec_cxx`.
63
+ * The pointer has to be a retained opaque `Unmanaged<HybridScrollViewSpec_cxx>`.
64
+ * This removes one strong reference from the object!
65
+ */
66
+ public override class func fromUnsafe(pointer: UnsafeMutableRawPointer) -> HybridScrollViewSpec_cxx {
67
+ return Unmanaged<HybridScrollViewSpec_cxx>.fromOpaque(pointer).takeRetainedValue()
68
+ }
69
+
70
+ /**
71
+ * Gets (or creates) the C++ part of this Hybrid Object.
72
+ * This handle keeps the original native object alive.
73
+ */
74
+ public func getCxxPart() -> bridge.std__shared_ptr_margelo__nitro__renderer__HybridScrollViewSpec_ {
75
+ let cached = __cxxPart.lock()
76
+ if cached.use_count() > 0 {
77
+ return cached
78
+ }
79
+ let value = bridge.create_std__shared_ptr_margelo__nitro__renderer__HybridScrollViewSpec_(self.toUnsafe())
80
+ __cxxPart = bridge.weakify_std__shared_ptr_margelo__nitro__renderer__HybridScrollViewSpec_(value)
81
+ return value
82
+ }
83
+
84
+ // Keep the base accessor in Swift to avoid exporting the same imported pointer
85
+ // metadata from two modules when the base belongs to an external module.
86
+ @_expose(!Cxx)
87
+ public override func getCxxPart() -> bridge.std__shared_ptr_margelo__nitro__renderer__HybridViewSpec_ {
88
+ let own: bridge.std__shared_ptr_margelo__nitro__renderer__HybridScrollViewSpec_ = getCxxPart()
89
+ return bridge.upcast_ScrollView_to_View(own)
90
+ }
91
+
92
+ // A static borrowing accessor lets C++ pass a const reference without copying it.
93
+ // TODO: Remove this adapter and call the instance method directly once
94
+ // https://github.com/swiftlang/swift/pull/92862 is merged and supported by our Swift toolchain.
95
+ @_spi(NitroCxx)
96
+ public static func getCxxPart(_ value: borrowing HybridScrollViewSpec_cxx) -> bridge.std__shared_ptr_margelo__nitro__renderer__HybridScrollViewSpec_ {
97
+ return value.getCxxPart()
98
+ }
99
+
100
+ /**
101
+ * Get the memory size of the Swift class (plus size of any other allocations)
102
+ * so the JS VM can properly track it and garbage-collect the JS object if needed.
103
+ */
104
+ @inline(__always)
105
+ public override var memorySize: Int {
106
+ return MemoryHelper.getSizeOf(__implementation) + __implementation.memorySize
107
+ }
108
+
109
+ /**
110
+ * Compares this object with the given [other] object for reference equality.
111
+ */
112
+ @inline(__always)
113
+ public func equals(other: HybridScrollViewSpec_cxx) -> Bool {
114
+ return __implementation === other.__implementation
115
+ }
116
+
117
+ /**
118
+ * Call dispose() on the Swift class.
119
+ * This _may_ be called manually from JS.
120
+ */
121
+ @inline(__always)
122
+ public override func dispose() {
123
+ __implementation.dispose()
124
+ }
125
+
126
+ /**
127
+ * Call toString() on the Swift class.
128
+ */
129
+ @inline(__always)
130
+ public override func toString() -> String {
131
+ return __implementation.toString()
132
+ }
133
+
134
+ // Properties
135
+
136
+ // Methods
137
+
138
+ // Constructor
139
+
140
+ public class func constructor() -> bridge.Result_void_ {
141
+ do {
142
+ let value = try HybridScrollView()
143
+ return bridge.Result_void_.withValue(value.getCxxWrapper().toUnsafe())
144
+ } catch {
145
+ return bridge.Result_void_.withError(error.toCpp())
146
+ }
147
+ }
148
+ }
@@ -0,0 +1,68 @@
1
+ ///
2
+ /// HybridTapGestureRecognizerSpec.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/margelo/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ public import NitroModules
9
+
10
+ /// See ``HybridTapGestureRecognizerSpec``
11
+ public protocol HybridTapGestureRecognizerSpec_protocol: HybridTapGestureRecognizerSpec_base, HybridObject, HybridGestureRecognizerSpec_protocol {
12
+ // Constructor
13
+ init() throws
14
+
15
+ // Properties
16
+ var numberOfTapsRequired: Double { get set }
17
+ var numberOfTouchesRequired: Double { get set }
18
+ var onTap: (any Callback<(/* recognizer */ (any HybridTapGestureRecognizerSpec)), Void>)? { get set }
19
+
20
+ // Methods
21
+
22
+
23
+ // Static Properties
24
+
25
+
26
+ // Static Methods
27
+
28
+ }
29
+
30
+ public extension HybridTapGestureRecognizerSpec_protocol {
31
+ /// Default implementation of ``HybridObject.toString``
32
+ func toString() -> String {
33
+ return "[HybridObject TapGestureRecognizer]"
34
+ }
35
+ }
36
+
37
+ /// See ``HybridTapGestureRecognizerSpec``
38
+ open class HybridTapGestureRecognizerSpec_base: HybridGestureRecognizerSpec_base {
39
+ private weak var cxxWrapper: HybridTapGestureRecognizerSpec_cxx? = nil
40
+ public override init() throws {
41
+ try super.init()
42
+ }
43
+ public final override func getCxxWrapper() -> HybridTapGestureRecognizerSpec_cxx {
44
+ #if DEBUG
45
+ guard self is any HybridTapGestureRecognizerSpec else {
46
+ fatalError("`self` is not a `HybridTapGestureRecognizerSpec`! Did you accidentally inherit from `HybridTapGestureRecognizerSpec_base` instead of `HybridTapGestureRecognizerSpec`?")
47
+ }
48
+ #endif
49
+ if let cxxWrapper = self.cxxWrapper {
50
+ return cxxWrapper
51
+ } else {
52
+ let cxxWrapper = HybridTapGestureRecognizerSpec_cxx(self as! any HybridTapGestureRecognizerSpec)
53
+ self.cxxWrapper = cxxWrapper
54
+ return cxxWrapper
55
+ }
56
+ }
57
+ }
58
+
59
+ /**
60
+ * A Swift base-protocol representing the TapGestureRecognizer HybridObject.
61
+ * Implement this protocol to create Swift-based instances of TapGestureRecognizer.
62
+ * ```swift
63
+ * class HybridTapGestureRecognizer : HybridTapGestureRecognizerSpec {
64
+ * // ...
65
+ * }
66
+ * ```
67
+ */
68
+ public typealias HybridTapGestureRecognizerSpec = HybridTapGestureRecognizerSpec_protocol & HybridTapGestureRecognizerSpec_base
@@ -0,0 +1,175 @@
1
+ ///
2
+ /// HybridTapGestureRecognizerSpec_cxx.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/margelo/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+ internal import NitroModules
8
+ internal import CxxStdlib
9
+ internal import ReactNitroRendererAppleCxx
10
+
11
+ /**
12
+ * A class implementation that bridges HybridTapGestureRecognizerSpec over to C++.
13
+ * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined.
14
+ */
15
+ @_expose(Cxx)
16
+ public final class HybridTapGestureRecognizerSpec_cxx: HybridGestureRecognizerSpec_cxx {
17
+ /**
18
+ * The Swift <> C++ bridge's namespace (`margelo::nitro::renderer::swift_bridge`)
19
+ * from `ReactNitroRendererAppleCxx/ReactNitroRendererAppleCxx.h`.
20
+ * This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift.
21
+ */
22
+ public typealias bridge = margelo.nitro.renderer.swift_bridge
23
+
24
+ /**
25
+ * Holds the Swift implementation of `HybridTapGestureRecognizerSpec`.
26
+ */
27
+ private let __implementation: HybridTapGestureRecognizer
28
+
29
+ /**
30
+ * Holds a weak pointer to the C++ class that wraps the Swift class.
31
+ */
32
+ private var __cxxPart: bridge.std__weak_ptr_margelo__nitro__renderer__HybridTapGestureRecognizerSpec_ = .init()
33
+
34
+ /**
35
+ * Create a new `HybridTapGestureRecognizerSpec_cxx` that wraps the given `HybridTapGestureRecognizerSpec`.
36
+ */
37
+ public init(_ implementation: any HybridTapGestureRecognizerSpec) {
38
+ guard let implementation = implementation as? HybridTapGestureRecognizer else {
39
+ preconditionFailure("TapGestureRecognizer selects HybridTapGestureRecognizer as its Swift implementation. Every instance must inherit HybridTapGestureRecognizer.")
40
+ }
41
+ self.__implementation = implementation
42
+ super.init(implementation)
43
+ }
44
+
45
+ /**
46
+ * Get the actual `HybridTapGestureRecognizerSpec` instance this class wraps.
47
+ */
48
+ @inline(__always)
49
+ public func getHybridTapGestureRecognizerSpec() -> any HybridTapGestureRecognizerSpec {
50
+ return __implementation
51
+ }
52
+
53
+ /**
54
+ * Casts this instance to a retained unsafe raw pointer.
55
+ * This acquires one additional strong reference on the object!
56
+ */
57
+ public override func toUnsafe() -> UnsafeMutableRawPointer {
58
+ return Unmanaged.passRetained(self).toOpaque()
59
+ }
60
+
61
+ /**
62
+ * Casts an unsafe pointer to a `HybridTapGestureRecognizerSpec_cxx`.
63
+ * The pointer has to be a retained opaque `Unmanaged<HybridTapGestureRecognizerSpec_cxx>`.
64
+ * This removes one strong reference from the object!
65
+ */
66
+ public override class func fromUnsafe(pointer: UnsafeMutableRawPointer) -> HybridTapGestureRecognizerSpec_cxx {
67
+ return Unmanaged<HybridTapGestureRecognizerSpec_cxx>.fromOpaque(pointer).takeRetainedValue()
68
+ }
69
+
70
+ /**
71
+ * Gets (or creates) the C++ part of this Hybrid Object.
72
+ * This handle keeps the original native object alive.
73
+ */
74
+ public func getCxxPart() -> bridge.std__shared_ptr_margelo__nitro__renderer__HybridTapGestureRecognizerSpec_ {
75
+ let cached = __cxxPart.lock()
76
+ if cached.use_count() > 0 {
77
+ return cached
78
+ }
79
+ let value = bridge.create_std__shared_ptr_margelo__nitro__renderer__HybridTapGestureRecognizerSpec_(self.toUnsafe())
80
+ __cxxPart = bridge.weakify_std__shared_ptr_margelo__nitro__renderer__HybridTapGestureRecognizerSpec_(value)
81
+ return value
82
+ }
83
+
84
+ // Keep the base accessor in Swift to avoid exporting the same imported pointer
85
+ // metadata from two modules when the base belongs to an external module.
86
+ @_expose(!Cxx)
87
+ public override func getCxxPart() -> bridge.std__shared_ptr_margelo__nitro__renderer__HybridGestureRecognizerSpec_ {
88
+ let own: bridge.std__shared_ptr_margelo__nitro__renderer__HybridTapGestureRecognizerSpec_ = getCxxPart()
89
+ return bridge.upcast_TapGestureRecognizer_to_GestureRecognizer(own)
90
+ }
91
+
92
+ // A static borrowing accessor lets C++ pass a const reference without copying it.
93
+ // TODO: Remove this adapter and call the instance method directly once
94
+ // https://github.com/swiftlang/swift/pull/92862 is merged and supported by our Swift toolchain.
95
+ @_spi(NitroCxx)
96
+ public static func getCxxPart(_ value: borrowing HybridTapGestureRecognizerSpec_cxx) -> bridge.std__shared_ptr_margelo__nitro__renderer__HybridTapGestureRecognizerSpec_ {
97
+ return value.getCxxPart()
98
+ }
99
+
100
+ /**
101
+ * Get the memory size of the Swift class (plus size of any other allocations)
102
+ * so the JS VM can properly track it and garbage-collect the JS object if needed.
103
+ */
104
+ @inline(__always)
105
+ public override var memorySize: Int {
106
+ return MemoryHelper.getSizeOf(__implementation) + __implementation.memorySize
107
+ }
108
+
109
+ /**
110
+ * Compares this object with the given [other] object for reference equality.
111
+ */
112
+ @inline(__always)
113
+ public func equals(other: HybridTapGestureRecognizerSpec_cxx) -> Bool {
114
+ return __implementation === other.__implementation
115
+ }
116
+
117
+ /**
118
+ * Call dispose() on the Swift class.
119
+ * This _may_ be called manually from JS.
120
+ */
121
+ @inline(__always)
122
+ public override func dispose() {
123
+ __implementation.dispose()
124
+ }
125
+
126
+ /**
127
+ * Call toString() on the Swift class.
128
+ */
129
+ @inline(__always)
130
+ public override func toString() -> String {
131
+ return __implementation.toString()
132
+ }
133
+
134
+ // Properties
135
+
136
+ public final func getNumberOfTapsRequired() -> Double {
137
+ let value = __implementation.numberOfTapsRequired
138
+ return value
139
+ }
140
+
141
+ public final func setNumberOfTapsRequired(numberOfTapsRequired: Double) -> Void {
142
+ __implementation.numberOfTapsRequired = numberOfTapsRequired
143
+ }
144
+
145
+ public final func getNumberOfTouchesRequired() -> Double {
146
+ let value = __implementation.numberOfTouchesRequired
147
+ return value
148
+ }
149
+
150
+ public final func setNumberOfTouchesRequired(numberOfTouchesRequired: Double) -> Void {
151
+ __implementation.numberOfTouchesRequired = numberOfTouchesRequired
152
+ }
153
+
154
+ public final func getOnTap() -> (margelo.nitro.renderer.swift_bridge.Callback_void___ReactNitroRenderer__HybridTapGestureRecognizerSpec_cxx)? {
155
+ let value = __implementation.onTap
156
+ return value.map { $0.toCpp() }
157
+ }
158
+
159
+ public final func setOnTap(onTap: (margelo.nitro.renderer.swift_bridge.Callback_void___ReactNitroRenderer__HybridTapGestureRecognizerSpec_cxx)?) -> Void {
160
+ __implementation.onTap = onTap.map { $0 }
161
+ }
162
+
163
+ // Methods
164
+
165
+ // Constructor
166
+
167
+ public class func constructor() -> bridge.Result_void_ {
168
+ do {
169
+ let value = try HybridTapGestureRecognizer()
170
+ return bridge.Result_void_.withValue(value.getCxxWrapper().toUnsafe())
171
+ } catch {
172
+ return bridge.Result_void_.withError(error.toCpp())
173
+ }
174
+ }
175
+ }