react-native-list 1.0.0 → 2.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/README.md +190 -32
  2. package/ReactNativeList.podspec +39 -0
  3. package/android/CMakeLists.txt +48 -0
  4. package/android/build.gradle +151 -0
  5. package/android/fix-prefab.gradle +51 -0
  6. package/android/gradle.properties +5 -0
  7. package/android/src/main/AndroidManifest.xml +2 -0
  8. package/android/src/main/cpp/JHybridUiListModule.cpp +192 -0
  9. package/android/src/main/cpp/JHybridUiListModule.h +50 -0
  10. package/android/src/main/cpp/cpp-adapter.cpp +12 -0
  11. package/android/src/main/java/com/hannojg/reactnativelist/ReactNativeListPackage.kt +27 -0
  12. package/android/src/main/java/com/margelo/nitro/reactnativelist/HybridNativeListDataSource.kt +146 -0
  13. package/android/src/main/java/com/margelo/nitro/reactnativelist/HybridNativeListLayout.kt +86 -0
  14. package/android/src/main/java/com/margelo/nitro/reactnativelist/HybridUiListModule.kt +116 -0
  15. package/android/src/main/java/com/margelo/nitro/reactnativelist/HybridUiListView.kt +410 -0
  16. package/android/src/main/java/com/margelo/nitro/reactnativelist/HybridViewHolder.kt +9 -0
  17. package/android/src/main/java/com/margelo/nitro/reactnativelist/NativeListAdapter.kt +217 -0
  18. package/ios/DataSource/HybridNativeListDataSource.swift +213 -0
  19. package/ios/HybridObjects/HybridUiListModule.swift +49 -0
  20. package/ios/HybridObjects/HybridViewHolder.swift +16 -0
  21. package/ios/Layout/HybridNativeListLayout.swift +128 -0
  22. package/ios/Utils/ErrorUtils.h +26 -0
  23. package/ios/Utils/HybridIOSWorkletsModuleProxyHolder.swift +10 -0
  24. package/ios/Utils/SurfaceHelper.h +20 -0
  25. package/ios/Utils/SurfaceHelper.mm +144 -0
  26. package/ios/Utils/SurfacePresenterRegistry.h +17 -0
  27. package/ios/Utils/SurfacePresenterRegistry.m +31 -0
  28. package/ios/Utils/TurboModuleInstaller.h +18 -0
  29. package/ios/Utils/TurboModuleInstaller.mm +267 -0
  30. package/ios/Views/HostCell.swift +216 -0
  31. package/ios/Views/HybridUiListView.swift +695 -0
  32. package/metro/RendererProxyThreadSwitch.js +66 -0
  33. package/metro-config.d.ts +1 -0
  34. package/metro-config.js +52 -0
  35. package/nitro.json +47 -0
  36. package/nitrogen/generated/.gitattributes +1 -0
  37. package/nitrogen/generated/android/ReactNativeList+autolinking.cmake +99 -0
  38. package/nitrogen/generated/android/ReactNativeList+autolinking.gradle +27 -0
  39. package/nitrogen/generated/android/ReactNativeListOnLoad.cpp +156 -0
  40. package/nitrogen/generated/android/ReactNativeListOnLoad.hpp +34 -0
  41. package/nitrogen/generated/android/c++/JFunc_bool_NativeListItem_NativeListItem.hpp +83 -0
  42. package/nitrogen/generated/android/c++/JFunc_bool_double_NativeListItem_double.hpp +83 -0
  43. package/nitrogen/generated/android/c++/JFunc_double_std__string.hpp +78 -0
  44. package/nitrogen/generated/android/c++/JHybridIOSWorkletsModuleProxyHolderSpec.cpp +49 -0
  45. package/nitrogen/generated/android/c++/JHybridIOSWorkletsModuleProxyHolderSpec.hpp +63 -0
  46. package/nitrogen/generated/android/c++/JHybridNativeLinearListLayoutSpec.cpp +63 -0
  47. package/nitrogen/generated/android/c++/JHybridNativeLinearListLayoutSpec.hpp +65 -0
  48. package/nitrogen/generated/android/c++/JHybridNativeListDataSourceSpec.cpp +101 -0
  49. package/nitrogen/generated/android/c++/JHybridNativeListDataSourceSpec.hpp +70 -0
  50. package/nitrogen/generated/android/c++/JHybridNativeListLayoutSpec.cpp +49 -0
  51. package/nitrogen/generated/android/c++/JHybridNativeListLayoutSpec.hpp +63 -0
  52. package/nitrogen/generated/android/c++/JHybridUiListModuleSpec.cpp +65 -0
  53. package/nitrogen/generated/android/c++/JHybridUiListModuleSpec.hpp +64 -0
  54. package/nitrogen/generated/android/c++/JHybridUiListViewSpec.cpp +92 -0
  55. package/nitrogen/generated/android/c++/JHybridUiListViewSpec.hpp +67 -0
  56. package/nitrogen/generated/android/c++/JHybridViewHolderSpec.cpp +49 -0
  57. package/nitrogen/generated/android/c++/JHybridViewHolderSpec.hpp +63 -0
  58. package/nitrogen/generated/android/c++/JNativeItemSizeEstimate.hpp +61 -0
  59. package/nitrogen/generated/android/c++/JNativeLinearListLayoutConfig.hpp +81 -0
  60. package/nitrogen/generated/android/c++/JNativeLinearListLayoutIOSConfig.hpp +59 -0
  61. package/nitrogen/generated/android/c++/JNativeListItem.hpp +76 -0
  62. package/nitrogen/generated/android/c++/JVariant_NullType_HybridIOSWorkletsModuleProxyHolderSpec.cpp +26 -0
  63. package/nitrogen/generated/android/c++/JVariant_NullType_HybridIOSWorkletsModuleProxyHolderSpec.hpp +72 -0
  64. package/nitrogen/generated/android/c++/views/JHybridUiListViewStateUpdater.cpp +53 -0
  65. package/nitrogen/generated/android/c++/views/JHybridUiListViewStateUpdater.hpp +49 -0
  66. package/nitrogen/generated/android/c++/views/JHybridViewHolderStateUpdater.cpp +53 -0
  67. package/nitrogen/generated/android/c++/views/JHybridViewHolderStateUpdater.hpp +49 -0
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/Func_bool_NativeListItem_NativeListItem.kt +80 -0
  69. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/Func_bool_double_NativeListItem_double.kt +80 -0
  70. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/Func_double_std__string.kt +80 -0
  71. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridIOSWorkletsModuleProxyHolderSpec.kt +52 -0
  72. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridNativeLinearListLayoutSpec.kt +54 -0
  73. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridNativeListDataSourceSpec.kt +87 -0
  74. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridNativeListLayoutSpec.kt +52 -0
  75. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridUiListModuleSpec.kt +59 -0
  76. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridUiListViewSpec.kt +76 -0
  77. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridViewHolderSpec.kt +53 -0
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/NativeItemSizeEstimate.kt +56 -0
  79. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/NativeLinearListLayoutConfig.kt +76 -0
  80. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/NativeLinearListLayoutIOSConfig.kt +51 -0
  81. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/NativeListItem.kt +71 -0
  82. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/ReactNativeListOnLoad.kt +35 -0
  83. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/Variant_NullType_HybridIOSWorkletsModuleProxyHolderSpec.kt +62 -0
  84. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/views/HybridUiListViewManager.kt +80 -0
  85. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/views/HybridUiListViewStateUpdater.kt +23 -0
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/views/HybridViewHolderManager.kt +80 -0
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/views/HybridViewHolderStateUpdater.kt +23 -0
  88. package/nitrogen/generated/ios/ReactNativeList+autolinking.rb +62 -0
  89. package/nitrogen/generated/ios/ReactNativeList-Swift-Cxx-Bridge.cpp +162 -0
  90. package/nitrogen/generated/ios/ReactNativeList-Swift-Cxx-Bridge.hpp +368 -0
  91. package/nitrogen/generated/ios/ReactNativeList-Swift-Cxx-Umbrella.hpp +92 -0
  92. package/nitrogen/generated/ios/ReactNativeListAutolinking.mm +83 -0
  93. package/nitrogen/generated/ios/ReactNativeListAutolinking.swift +86 -0
  94. package/nitrogen/generated/ios/c++/HybridIOSWorkletsModuleProxyHolderSpecSwift.cpp +11 -0
  95. package/nitrogen/generated/ios/c++/HybridIOSWorkletsModuleProxyHolderSpecSwift.hpp +75 -0
  96. package/nitrogen/generated/ios/c++/HybridNativeLinearListLayoutSpecSwift.cpp +11 -0
  97. package/nitrogen/generated/ios/c++/HybridNativeLinearListLayoutSpecSwift.hpp +92 -0
  98. package/nitrogen/generated/ios/c++/HybridNativeListDataSourceSpecSwift.cpp +11 -0
  99. package/nitrogen/generated/ios/c++/HybridNativeListDataSourceSpecSwift.hpp +132 -0
  100. package/nitrogen/generated/ios/c++/HybridNativeListLayoutSpecSwift.cpp +11 -0
  101. package/nitrogen/generated/ios/c++/HybridNativeListLayoutSpecSwift.hpp +75 -0
  102. package/nitrogen/generated/ios/c++/HybridUiListModuleSpecSwift.cpp +11 -0
  103. package/nitrogen/generated/ios/c++/HybridUiListModuleSpecSwift.hpp +93 -0
  104. package/nitrogen/generated/ios/c++/HybridUiListViewSpecSwift.cpp +11 -0
  105. package/nitrogen/generated/ios/c++/HybridUiListViewSpecSwift.hpp +121 -0
  106. package/nitrogen/generated/ios/c++/HybridViewHolderSpecSwift.cpp +11 -0
  107. package/nitrogen/generated/ios/c++/HybridViewHolderSpecSwift.hpp +75 -0
  108. package/nitrogen/generated/ios/c++/views/HybridUiListViewComponent.mm +118 -0
  109. package/nitrogen/generated/ios/c++/views/HybridViewHolderComponent.mm +118 -0
  110. package/nitrogen/generated/ios/swift/Func_bool_NativeListItem_NativeListItem.swift +47 -0
  111. package/nitrogen/generated/ios/swift/Func_bool_double_NativeListItem_double.swift +47 -0
  112. package/nitrogen/generated/ios/swift/Func_double_std__string.swift +47 -0
  113. package/nitrogen/generated/ios/swift/HybridIOSWorkletsModuleProxyHolderSpec.swift +55 -0
  114. package/nitrogen/generated/ios/swift/HybridIOSWorkletsModuleProxyHolderSpec_cxx.swift +128 -0
  115. package/nitrogen/generated/ios/swift/HybridNativeLinearListLayoutSpec.swift +55 -0
  116. package/nitrogen/generated/ios/swift/HybridNativeLinearListLayoutSpec_cxx.swift +140 -0
  117. package/nitrogen/generated/ios/swift/HybridNativeListDataSourceSpec.swift +62 -0
  118. package/nitrogen/generated/ios/swift/HybridNativeListDataSourceSpec_cxx.swift +222 -0
  119. package/nitrogen/generated/ios/swift/HybridNativeListLayoutSpec.swift +55 -0
  120. package/nitrogen/generated/ios/swift/HybridNativeListLayoutSpec_cxx.swift +128 -0
  121. package/nitrogen/generated/ios/swift/HybridUiListModuleSpec.swift +56 -0
  122. package/nitrogen/generated/ios/swift/HybridUiListModuleSpec_cxx.swift +175 -0
  123. package/nitrogen/generated/ios/swift/HybridUiListViewSpec.swift +59 -0
  124. package/nitrogen/generated/ios/swift/HybridUiListViewSpec_cxx.swift +227 -0
  125. package/nitrogen/generated/ios/swift/HybridViewHolderSpec.swift +55 -0
  126. package/nitrogen/generated/ios/swift/HybridViewHolderSpec_cxx.swift +147 -0
  127. package/nitrogen/generated/ios/swift/NativeItemSizeEstimate.swift +60 -0
  128. package/nitrogen/generated/ios/swift/NativeLinearListLayoutConfig.swift +60 -0
  129. package/nitrogen/generated/ios/swift/NativeLinearListLayoutIOSConfig.swift +35 -0
  130. package/nitrogen/generated/ios/swift/NativeListItem.swift +75 -0
  131. package/nitrogen/generated/ios/swift/Variant_NullType__any_HybridIOSWorkletsModuleProxyHolderSpec_.swift +30 -0
  132. package/nitrogen/generated/shared/c++/HybridIOSWorkletsModuleProxyHolderSpec.cpp +21 -0
  133. package/nitrogen/generated/shared/c++/HybridIOSWorkletsModuleProxyHolderSpec.hpp +62 -0
  134. package/nitrogen/generated/shared/c++/HybridNativeLinearListLayoutSpec.cpp +22 -0
  135. package/nitrogen/generated/shared/c++/HybridNativeLinearListLayoutSpec.hpp +67 -0
  136. package/nitrogen/generated/shared/c++/HybridNativeListDataSourceSpec.cpp +28 -0
  137. package/nitrogen/generated/shared/c++/HybridNativeListDataSourceSpec.hpp +72 -0
  138. package/nitrogen/generated/shared/c++/HybridNativeListLayoutSpec.cpp +21 -0
  139. package/nitrogen/generated/shared/c++/HybridNativeListLayoutSpec.hpp +62 -0
  140. package/nitrogen/generated/shared/c++/HybridUiListModuleSpec.cpp +22 -0
  141. package/nitrogen/generated/shared/c++/HybridUiListModuleSpec.hpp +68 -0
  142. package/nitrogen/generated/shared/c++/HybridUiListViewSpec.cpp +25 -0
  143. package/nitrogen/generated/shared/c++/HybridUiListViewSpec.hpp +79 -0
  144. package/nitrogen/generated/shared/c++/HybridUiManagerHelperSpec.cpp +23 -0
  145. package/nitrogen/generated/shared/c++/HybridUiManagerHelperSpec.hpp +65 -0
  146. package/nitrogen/generated/shared/c++/HybridViewHolderSpec.cpp +21 -0
  147. package/nitrogen/generated/shared/c++/HybridViewHolderSpec.hpp +62 -0
  148. package/nitrogen/generated/shared/c++/NativeItemSizeEstimate.hpp +87 -0
  149. package/nitrogen/generated/shared/c++/NativeLinearListLayoutConfig.hpp +105 -0
  150. package/nitrogen/generated/shared/c++/NativeLinearListLayoutIOSConfig.hpp +85 -0
  151. package/nitrogen/generated/shared/c++/NativeListItem.hpp +101 -0
  152. package/nitrogen/generated/shared/c++/views/HybridUiListViewComponent.cpp +72 -0
  153. package/nitrogen/generated/shared/c++/views/HybridUiListViewComponent.hpp +109 -0
  154. package/nitrogen/generated/shared/c++/views/HybridViewHolderComponent.cpp +72 -0
  155. package/nitrogen/generated/shared/c++/views/HybridViewHolderComponent.hpp +109 -0
  156. package/nitrogen/generated/shared/json/UiListViewConfig.json +9 -0
  157. package/nitrogen/generated/shared/json/ViewHolderConfig.json +9 -0
  158. package/package.json +152 -5
  159. package/react-native.config.js +16 -0
  160. package/src/ListDataSource.ts +232 -0
  161. package/src/ListLayout.ts +95 -0
  162. package/src/UiListModule.ts +5 -0
  163. package/src/hooks/useChangeEffect.ts +50 -0
  164. package/src/index.tsx +49 -0
  165. package/src/privateGlobals.ts +20 -0
  166. package/src/renderer/fabric/RenderHelper.ts +29 -0
  167. package/src/renderer/fabric/UiManagerHelper.ts +5 -0
  168. package/src/renderer/react/ReactFabricMirror.bundle.js +1984 -0
  169. package/src/renderer/react/ReactFabricMirror.ts +766 -0
  170. package/src/renderer/react/ReactFabricRenderer.ts +11 -0
  171. package/src/specs/IOSWorkletsModuleProxyHolder.nitro.ts +6 -0
  172. package/src/specs/NativeLinearListLayout.nitro.ts +23 -0
  173. package/src/specs/NativeListDataSource.nitro.ts +28 -0
  174. package/src/specs/NativeListLayout.nitro.ts +6 -0
  175. package/src/specs/UIListModule.nitro.ts +13 -0
  176. package/src/specs/UIManagerHelper.nitro.ts +34 -0
  177. package/src/specs/UiListView.nitro.ts +31 -0
  178. package/src/specs/ViewHolder.nitro.ts +11 -0
  179. package/src/views/List.tsx +525 -0
  180. package/src/views/UiListHostComponent.ts +8 -0
  181. package/FillRateHelper.js +0 -179
  182. package/FlatList.js +0 -494
  183. package/LICENSE.md +0 -31
  184. package/ListView/__mocks__/ListViewMock.js +0 -55
  185. package/MetroListView.js +0 -166
  186. package/SectionList.js +0 -291
  187. package/ViewabilityHelper.js +0 -260
  188. package/VirtualizeUtils.js +0 -163
  189. package/VirtualizedList.js +0 -861
  190. package/VirtualizedSectionList.js +0 -397
  191. package/__flowtests__/FlatList-flowtest.js +0 -90
  192. package/__flowtests__/SectionList-flowtest.js +0 -89
  193. package/__tests__/FillRateHelper-test.js +0 -106
  194. package/__tests__/FlatList-test.js +0 -64
  195. package/__tests__/SectionList-test.js +0 -67
  196. package/__tests__/ViewabilityHelper-test.js +0 -359
  197. package/__tests__/VirtualizeUtils-test.js +0 -74
  198. package/__tests__/__snapshots__/FlatList-test.js.snap +0 -251
  199. package/__tests__/__snapshots__/SectionList-test.js.snap +0 -283
  200. package/index.js +0 -5
@@ -0,0 +1,368 @@
1
+ ///
2
+ /// ReactNativeList-Swift-Cxx-Bridge.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ // Forward declarations of C++ defined types
11
+ // Forward declaration of `HybridIOSWorkletsModuleProxyHolderSpec` to properly resolve imports.
12
+ namespace margelo::nitro::reactnativelist { class HybridIOSWorkletsModuleProxyHolderSpec; }
13
+ // Forward declaration of `HybridNativeLinearListLayoutSpec` to properly resolve imports.
14
+ namespace margelo::nitro::reactnativelist { class HybridNativeLinearListLayoutSpec; }
15
+ // Forward declaration of `HybridNativeListDataSourceSpec` to properly resolve imports.
16
+ namespace margelo::nitro::reactnativelist { class HybridNativeListDataSourceSpec; }
17
+ // Forward declaration of `HybridNativeListLayoutSpec` to properly resolve imports.
18
+ namespace margelo::nitro::reactnativelist { class HybridNativeListLayoutSpec; }
19
+ // Forward declaration of `HybridUiListModuleSpec` to properly resolve imports.
20
+ namespace margelo::nitro::reactnativelist { class HybridUiListModuleSpec; }
21
+ // Forward declaration of `HybridUiListViewSpec` to properly resolve imports.
22
+ namespace margelo::nitro::reactnativelist { class HybridUiListViewSpec; }
23
+ // Forward declaration of `HybridViewHolderSpec` to properly resolve imports.
24
+ namespace margelo::nitro::reactnativelist { class HybridViewHolderSpec; }
25
+ // Forward declaration of `NativeItemSizeEstimate` to properly resolve imports.
26
+ namespace margelo::nitro::reactnativelist { struct NativeItemSizeEstimate; }
27
+ // Forward declaration of `NativeLinearListLayoutIOSConfig` to properly resolve imports.
28
+ namespace margelo::nitro::reactnativelist { struct NativeLinearListLayoutIOSConfig; }
29
+ // Forward declaration of `NativeListItem` to properly resolve imports.
30
+ namespace margelo::nitro::reactnativelist { struct NativeListItem; }
31
+
32
+ // Forward declarations of Swift defined types
33
+ // Forward declaration of `HybridIOSWorkletsModuleProxyHolderSpec_cxx` to properly resolve imports.
34
+ namespace ReactNativeList { class HybridIOSWorkletsModuleProxyHolderSpec_cxx; }
35
+ // Forward declaration of `HybridNativeLinearListLayoutSpec_cxx` to properly resolve imports.
36
+ namespace ReactNativeList { class HybridNativeLinearListLayoutSpec_cxx; }
37
+ // Forward declaration of `HybridNativeListDataSourceSpec_cxx` to properly resolve imports.
38
+ namespace ReactNativeList { class HybridNativeListDataSourceSpec_cxx; }
39
+ // Forward declaration of `HybridNativeListLayoutSpec_cxx` to properly resolve imports.
40
+ namespace ReactNativeList { class HybridNativeListLayoutSpec_cxx; }
41
+ // Forward declaration of `HybridUiListModuleSpec_cxx` to properly resolve imports.
42
+ namespace ReactNativeList { class HybridUiListModuleSpec_cxx; }
43
+ // Forward declaration of `HybridUiListViewSpec_cxx` to properly resolve imports.
44
+ namespace ReactNativeList { class HybridUiListViewSpec_cxx; }
45
+ // Forward declaration of `HybridViewHolderSpec_cxx` to properly resolve imports.
46
+ namespace ReactNativeList { class HybridViewHolderSpec_cxx; }
47
+
48
+ // Include C++ defined types
49
+ #include "HybridIOSWorkletsModuleProxyHolderSpec.hpp"
50
+ #include "HybridNativeLinearListLayoutSpec.hpp"
51
+ #include "HybridNativeListDataSourceSpec.hpp"
52
+ #include "HybridNativeListLayoutSpec.hpp"
53
+ #include "HybridUiListModuleSpec.hpp"
54
+ #include "HybridUiListViewSpec.hpp"
55
+ #include "HybridViewHolderSpec.hpp"
56
+ #include "NativeItemSizeEstimate.hpp"
57
+ #include "NativeLinearListLayoutIOSConfig.hpp"
58
+ #include "NativeListItem.hpp"
59
+ #include <NitroModules/AnyMap.hpp>
60
+ #include <NitroModules/Null.hpp>
61
+ #include <NitroModules/Result.hpp>
62
+ #include <exception>
63
+ #include <functional>
64
+ #include <memory>
65
+ #include <optional>
66
+ #include <string>
67
+ #include <variant>
68
+ #include <vector>
69
+
70
+ /**
71
+ * Contains specialized versions of C++ templated types so they can be accessed from Swift,
72
+ * as well as helper functions to interact with those C++ types from Swift.
73
+ */
74
+ namespace margelo::nitro::reactnativelist::bridge::swift {
75
+
76
+ // pragma MARK: std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>
77
+ /**
78
+ * Specialized version of `std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>`.
79
+ */
80
+ using std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec_ = std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>;
81
+ std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec> create_std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
82
+ void* NON_NULL get_std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec_(std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec_ cppType);
83
+
84
+ // pragma MARK: std::weak_ptr<HybridIOSWorkletsModuleProxyHolderSpec>
85
+ using std__weak_ptr_HybridIOSWorkletsModuleProxyHolderSpec_ = std::weak_ptr<HybridIOSWorkletsModuleProxyHolderSpec>;
86
+ inline std__weak_ptr_HybridIOSWorkletsModuleProxyHolderSpec_ weakify_std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec_(const std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>& strong) noexcept { return strong; }
87
+
88
+ // pragma MARK: std::optional<double>
89
+ /**
90
+ * Specialized version of `std::optional<double>`.
91
+ */
92
+ using std__optional_double_ = std::optional<double>;
93
+ inline std::optional<double> create_std__optional_double_(const double& value) noexcept {
94
+ return std::optional<double>(value);
95
+ }
96
+ inline bool has_value_std__optional_double_(const std::optional<double>& optional) noexcept {
97
+ return optional.has_value();
98
+ }
99
+ inline double get_std__optional_double_(const std::optional<double>& optional) noexcept {
100
+ return optional.value();
101
+ }
102
+
103
+ // pragma MARK: std::optional<NativeItemSizeEstimate>
104
+ /**
105
+ * Specialized version of `std::optional<NativeItemSizeEstimate>`.
106
+ */
107
+ using std__optional_NativeItemSizeEstimate_ = std::optional<NativeItemSizeEstimate>;
108
+ inline std::optional<NativeItemSizeEstimate> create_std__optional_NativeItemSizeEstimate_(const NativeItemSizeEstimate& value) noexcept {
109
+ return std::optional<NativeItemSizeEstimate>(value);
110
+ }
111
+ inline bool has_value_std__optional_NativeItemSizeEstimate_(const std::optional<NativeItemSizeEstimate>& optional) noexcept {
112
+ return optional.has_value();
113
+ }
114
+ inline NativeItemSizeEstimate get_std__optional_NativeItemSizeEstimate_(const std::optional<NativeItemSizeEstimate>& optional) noexcept {
115
+ return optional.value();
116
+ }
117
+
118
+ // pragma MARK: std::optional<NativeLinearListLayoutIOSConfig>
119
+ /**
120
+ * Specialized version of `std::optional<NativeLinearListLayoutIOSConfig>`.
121
+ */
122
+ using std__optional_NativeLinearListLayoutIOSConfig_ = std::optional<NativeLinearListLayoutIOSConfig>;
123
+ inline std::optional<NativeLinearListLayoutIOSConfig> create_std__optional_NativeLinearListLayoutIOSConfig_(const NativeLinearListLayoutIOSConfig& value) noexcept {
124
+ return std::optional<NativeLinearListLayoutIOSConfig>(value);
125
+ }
126
+ inline bool has_value_std__optional_NativeLinearListLayoutIOSConfig_(const std::optional<NativeLinearListLayoutIOSConfig>& optional) noexcept {
127
+ return optional.has_value();
128
+ }
129
+ inline NativeLinearListLayoutIOSConfig get_std__optional_NativeLinearListLayoutIOSConfig_(const std::optional<NativeLinearListLayoutIOSConfig>& optional) noexcept {
130
+ return optional.value();
131
+ }
132
+
133
+ // pragma MARK: std::shared_ptr<HybridNativeListLayoutSpec>
134
+ /**
135
+ * Specialized version of `std::shared_ptr<HybridNativeListLayoutSpec>`.
136
+ */
137
+ using std__shared_ptr_HybridNativeListLayoutSpec_ = std::shared_ptr<HybridNativeListLayoutSpec>;
138
+ std::shared_ptr<HybridNativeListLayoutSpec> create_std__shared_ptr_HybridNativeListLayoutSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
139
+ void* NON_NULL get_std__shared_ptr_HybridNativeListLayoutSpec_(std__shared_ptr_HybridNativeListLayoutSpec_ cppType);
140
+
141
+ // pragma MARK: std::weak_ptr<HybridNativeListLayoutSpec>
142
+ using std__weak_ptr_HybridNativeListLayoutSpec_ = std::weak_ptr<HybridNativeListLayoutSpec>;
143
+ inline std__weak_ptr_HybridNativeListLayoutSpec_ weakify_std__shared_ptr_HybridNativeListLayoutSpec_(const std::shared_ptr<HybridNativeListLayoutSpec>& strong) noexcept { return strong; }
144
+
145
+ // pragma MARK: std::shared_ptr<HybridNativeLinearListLayoutSpec>
146
+ /**
147
+ * Specialized version of `std::shared_ptr<HybridNativeLinearListLayoutSpec>`.
148
+ */
149
+ using std__shared_ptr_HybridNativeLinearListLayoutSpec_ = std::shared_ptr<HybridNativeLinearListLayoutSpec>;
150
+ std::shared_ptr<HybridNativeLinearListLayoutSpec> create_std__shared_ptr_HybridNativeLinearListLayoutSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
151
+ void* NON_NULL get_std__shared_ptr_HybridNativeLinearListLayoutSpec_(std__shared_ptr_HybridNativeLinearListLayoutSpec_ cppType);
152
+
153
+ // pragma MARK: std::shared_ptr<HybridNativeListLayoutSpec>
154
+ inline std::shared_ptr<HybridNativeListLayoutSpec> upcast_NativeLinearListLayout_to_NativeListLayout(std::shared_ptr<HybridNativeLinearListLayoutSpec> child) noexcept { return child; }
155
+
156
+ // pragma MARK: std::weak_ptr<HybridNativeLinearListLayoutSpec>
157
+ using std__weak_ptr_HybridNativeLinearListLayoutSpec_ = std::weak_ptr<HybridNativeLinearListLayoutSpec>;
158
+ inline std__weak_ptr_HybridNativeLinearListLayoutSpec_ weakify_std__shared_ptr_HybridNativeLinearListLayoutSpec_(const std::shared_ptr<HybridNativeLinearListLayoutSpec>& strong) noexcept { return strong; }
159
+
160
+ // pragma MARK: Result<void>
161
+ using Result_void_ = Result<void>;
162
+ inline Result_void_ create_Result_void_() noexcept {
163
+ return Result<void>::withValue();
164
+ }
165
+ inline Result_void_ create_Result_void_(const std::exception_ptr& error) noexcept {
166
+ return Result<void>::withError(error);
167
+ }
168
+
169
+ // pragma MARK: std::function<bool(const NativeListItem& /* oldItem */, const NativeListItem& /* newItem */)>
170
+ /**
171
+ * Specialized version of `std::function<bool(const NativeListItem&, const NativeListItem&)>`.
172
+ */
173
+ using Func_bool_NativeListItem_NativeListItem = std::function<bool(const NativeListItem& /* oldItem */, const NativeListItem& /* newItem */)>;
174
+ /**
175
+ * Wrapper class for a `std::function<bool(const NativeListItem& / * oldItem * /, const NativeListItem& / * newItem * /)>`, this can be used from Swift.
176
+ */
177
+ class Func_bool_NativeListItem_NativeListItem_Wrapper final {
178
+ public:
179
+ explicit Func_bool_NativeListItem_NativeListItem_Wrapper(std::function<bool(const NativeListItem& /* oldItem */, const NativeListItem& /* newItem */)>&& func): _function(std::make_unique<std::function<bool(const NativeListItem& /* oldItem */, const NativeListItem& /* newItem */)>>(std::move(func))) {}
180
+ inline bool call(NativeListItem oldItem, NativeListItem newItem) const noexcept {
181
+ auto __result = _function->operator()(oldItem, newItem);
182
+ return __result;
183
+ }
184
+ private:
185
+ std::unique_ptr<std::function<bool(const NativeListItem& /* oldItem */, const NativeListItem& /* newItem */)>> _function;
186
+ } SWIFT_NONCOPYABLE;
187
+ Func_bool_NativeListItem_NativeListItem create_Func_bool_NativeListItem_NativeListItem(void* NON_NULL swiftClosureWrapper) noexcept;
188
+ inline Func_bool_NativeListItem_NativeListItem_Wrapper wrap_Func_bool_NativeListItem_NativeListItem(Func_bool_NativeListItem_NativeListItem value) noexcept {
189
+ return Func_bool_NativeListItem_NativeListItem_Wrapper(std::move(value));
190
+ }
191
+
192
+ // pragma MARK: std::vector<NativeListItem>
193
+ /**
194
+ * Specialized version of `std::vector<NativeListItem>`.
195
+ */
196
+ using std__vector_NativeListItem_ = std::vector<NativeListItem>;
197
+ inline std::vector<NativeListItem> create_std__vector_NativeListItem_(size_t size) noexcept {
198
+ std::vector<NativeListItem> vector;
199
+ vector.reserve(size);
200
+ return vector;
201
+ }
202
+
203
+ // pragma MARK: std::shared_ptr<HybridNativeListDataSourceSpec>
204
+ /**
205
+ * Specialized version of `std::shared_ptr<HybridNativeListDataSourceSpec>`.
206
+ */
207
+ using std__shared_ptr_HybridNativeListDataSourceSpec_ = std::shared_ptr<HybridNativeListDataSourceSpec>;
208
+ std::shared_ptr<HybridNativeListDataSourceSpec> create_std__shared_ptr_HybridNativeListDataSourceSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
209
+ void* NON_NULL get_std__shared_ptr_HybridNativeListDataSourceSpec_(std__shared_ptr_HybridNativeListDataSourceSpec_ cppType);
210
+
211
+ // pragma MARK: std::weak_ptr<HybridNativeListDataSourceSpec>
212
+ using std__weak_ptr_HybridNativeListDataSourceSpec_ = std::weak_ptr<HybridNativeListDataSourceSpec>;
213
+ inline std__weak_ptr_HybridNativeListDataSourceSpec_ weakify_std__shared_ptr_HybridNativeListDataSourceSpec_(const std::shared_ptr<HybridNativeListDataSourceSpec>& strong) noexcept { return strong; }
214
+
215
+ // pragma MARK: Result<double>
216
+ using Result_double_ = Result<double>;
217
+ inline Result_double_ create_Result_double_(double value) noexcept {
218
+ return Result<double>::withValue(std::move(value));
219
+ }
220
+ inline Result_double_ create_Result_double_(const std::exception_ptr& error) noexcept {
221
+ return Result<double>::withError(error);
222
+ }
223
+
224
+ // pragma MARK: Result<NativeListItem>
225
+ using Result_NativeListItem_ = Result<NativeListItem>;
226
+ inline Result_NativeListItem_ create_Result_NativeListItem_(const NativeListItem& value) noexcept {
227
+ return Result<NativeListItem>::withValue(value);
228
+ }
229
+ inline Result_NativeListItem_ create_Result_NativeListItem_(const std::exception_ptr& error) noexcept {
230
+ return Result<NativeListItem>::withError(error);
231
+ }
232
+
233
+ // pragma MARK: std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>
234
+ /**
235
+ * Wrapper struct for `std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>`.
236
+ * std::variant cannot be used in Swift because of a Swift bug.
237
+ * Not even specializing it works. So we create a wrapper struct.
238
+ */
239
+ struct std__variant_nitro__NullType__std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec__ final {
240
+ std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>> variant;
241
+ std__variant_nitro__NullType__std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec__(std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>> variant): variant(variant) { }
242
+ operator std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>() const noexcept {
243
+ return variant;
244
+ }
245
+ inline size_t index() const noexcept {
246
+ return variant.index();
247
+ }
248
+ inline nitro::NullType get_0() const noexcept {
249
+ return std::get<0>(variant);
250
+ }
251
+ inline std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec> get_1() const noexcept {
252
+ return std::get<1>(variant);
253
+ }
254
+ };
255
+ inline std__variant_nitro__NullType__std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec__ create_std__variant_nitro__NullType__std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec__(nitro::NullType value) noexcept {
256
+ return std__variant_nitro__NullType__std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec__(value);
257
+ }
258
+ inline std__variant_nitro__NullType__std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec__ create_std__variant_nitro__NullType__std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec__(const std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>& value) noexcept {
259
+ return std__variant_nitro__NullType__std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec__(value);
260
+ }
261
+
262
+ // pragma MARK: std::optional<std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>>
263
+ /**
264
+ * Specialized version of `std::optional<std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>>`.
265
+ */
266
+ using std__optional_std__variant_nitro__NullType__std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec___ = std::optional<std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>>;
267
+ inline std::optional<std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>> create_std__optional_std__variant_nitro__NullType__std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec___(const std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>& value) noexcept {
268
+ return std::optional<std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>>(value);
269
+ }
270
+ inline bool has_value_std__optional_std__variant_nitro__NullType__std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec___(const std::optional<std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>>& optional) noexcept {
271
+ return optional.has_value();
272
+ }
273
+ inline std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>> get_std__optional_std__variant_nitro__NullType__std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec___(const std::optional<std::variant<nitro::NullType, std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>>& optional) noexcept {
274
+ return optional.value();
275
+ }
276
+
277
+ // pragma MARK: std::shared_ptr<HybridUiListModuleSpec>
278
+ /**
279
+ * Specialized version of `std::shared_ptr<HybridUiListModuleSpec>`.
280
+ */
281
+ using std__shared_ptr_HybridUiListModuleSpec_ = std::shared_ptr<HybridUiListModuleSpec>;
282
+ std::shared_ptr<HybridUiListModuleSpec> create_std__shared_ptr_HybridUiListModuleSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
283
+ void* NON_NULL get_std__shared_ptr_HybridUiListModuleSpec_(std__shared_ptr_HybridUiListModuleSpec_ cppType);
284
+
285
+ // pragma MARK: std::weak_ptr<HybridUiListModuleSpec>
286
+ using std__weak_ptr_HybridUiListModuleSpec_ = std::weak_ptr<HybridUiListModuleSpec>;
287
+ inline std__weak_ptr_HybridUiListModuleSpec_ weakify_std__shared_ptr_HybridUiListModuleSpec_(const std::shared_ptr<HybridUiListModuleSpec>& strong) noexcept { return strong; }
288
+
289
+ // pragma MARK: Result<std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>
290
+ using Result_std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec__ = Result<std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>;
291
+ inline Result_std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec__ create_Result_std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec__(const std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>& value) noexcept {
292
+ return Result<std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>::withValue(value);
293
+ }
294
+ inline Result_std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec__ create_Result_std__shared_ptr_HybridIOSWorkletsModuleProxyHolderSpec__(const std::exception_ptr& error) noexcept {
295
+ return Result<std::shared_ptr<HybridIOSWorkletsModuleProxyHolderSpec>>::withError(error);
296
+ }
297
+
298
+ // pragma MARK: std::function<double(const std::string& /* type */)>
299
+ /**
300
+ * Specialized version of `std::function<double(const std::string&)>`.
301
+ */
302
+ using Func_double_std__string = std::function<double(const std::string& /* type */)>;
303
+ /**
304
+ * Wrapper class for a `std::function<double(const std::string& / * type * /)>`, this can be used from Swift.
305
+ */
306
+ class Func_double_std__string_Wrapper final {
307
+ public:
308
+ explicit Func_double_std__string_Wrapper(std::function<double(const std::string& /* type */)>&& func): _function(std::make_unique<std::function<double(const std::string& /* type */)>>(std::move(func))) {}
309
+ inline double call(std::string type) const noexcept {
310
+ auto __result = _function->operator()(type);
311
+ return __result;
312
+ }
313
+ private:
314
+ std::unique_ptr<std::function<double(const std::string& /* type */)>> _function;
315
+ } SWIFT_NONCOPYABLE;
316
+ Func_double_std__string create_Func_double_std__string(void* NON_NULL swiftClosureWrapper) noexcept;
317
+ inline Func_double_std__string_Wrapper wrap_Func_double_std__string(Func_double_std__string value) noexcept {
318
+ return Func_double_std__string_Wrapper(std::move(value));
319
+ }
320
+
321
+ // pragma MARK: std::function<bool(double /* reactTag */, const NativeListItem& /* item */, double /* index */)>
322
+ /**
323
+ * Specialized version of `std::function<bool(double, const NativeListItem&, double)>`.
324
+ */
325
+ using Func_bool_double_NativeListItem_double = std::function<bool(double /* reactTag */, const NativeListItem& /* item */, double /* index */)>;
326
+ /**
327
+ * Wrapper class for a `std::function<bool(double / * reactTag * /, const NativeListItem& / * item * /, double / * index * /)>`, this can be used from Swift.
328
+ */
329
+ class Func_bool_double_NativeListItem_double_Wrapper final {
330
+ public:
331
+ explicit Func_bool_double_NativeListItem_double_Wrapper(std::function<bool(double /* reactTag */, const NativeListItem& /* item */, double /* index */)>&& func): _function(std::make_unique<std::function<bool(double /* reactTag */, const NativeListItem& /* item */, double /* index */)>>(std::move(func))) {}
332
+ inline bool call(double reactTag, NativeListItem item, double index) const noexcept {
333
+ auto __result = _function->operator()(reactTag, item, index);
334
+ return __result;
335
+ }
336
+ private:
337
+ std::unique_ptr<std::function<bool(double /* reactTag */, const NativeListItem& /* item */, double /* index */)>> _function;
338
+ } SWIFT_NONCOPYABLE;
339
+ Func_bool_double_NativeListItem_double create_Func_bool_double_NativeListItem_double(void* NON_NULL swiftClosureWrapper) noexcept;
340
+ inline Func_bool_double_NativeListItem_double_Wrapper wrap_Func_bool_double_NativeListItem_double(Func_bool_double_NativeListItem_double value) noexcept {
341
+ return Func_bool_double_NativeListItem_double_Wrapper(std::move(value));
342
+ }
343
+
344
+ // pragma MARK: std::shared_ptr<HybridUiListViewSpec>
345
+ /**
346
+ * Specialized version of `std::shared_ptr<HybridUiListViewSpec>`.
347
+ */
348
+ using std__shared_ptr_HybridUiListViewSpec_ = std::shared_ptr<HybridUiListViewSpec>;
349
+ std::shared_ptr<HybridUiListViewSpec> create_std__shared_ptr_HybridUiListViewSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
350
+ void* NON_NULL get_std__shared_ptr_HybridUiListViewSpec_(std__shared_ptr_HybridUiListViewSpec_ cppType);
351
+
352
+ // pragma MARK: std::weak_ptr<HybridUiListViewSpec>
353
+ using std__weak_ptr_HybridUiListViewSpec_ = std::weak_ptr<HybridUiListViewSpec>;
354
+ inline std__weak_ptr_HybridUiListViewSpec_ weakify_std__shared_ptr_HybridUiListViewSpec_(const std::shared_ptr<HybridUiListViewSpec>& strong) noexcept { return strong; }
355
+
356
+ // pragma MARK: std::shared_ptr<HybridViewHolderSpec>
357
+ /**
358
+ * Specialized version of `std::shared_ptr<HybridViewHolderSpec>`.
359
+ */
360
+ using std__shared_ptr_HybridViewHolderSpec_ = std::shared_ptr<HybridViewHolderSpec>;
361
+ std::shared_ptr<HybridViewHolderSpec> create_std__shared_ptr_HybridViewHolderSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
362
+ void* NON_NULL get_std__shared_ptr_HybridViewHolderSpec_(std__shared_ptr_HybridViewHolderSpec_ cppType);
363
+
364
+ // pragma MARK: std::weak_ptr<HybridViewHolderSpec>
365
+ using std__weak_ptr_HybridViewHolderSpec_ = std::weak_ptr<HybridViewHolderSpec>;
366
+ inline std__weak_ptr_HybridViewHolderSpec_ weakify_std__shared_ptr_HybridViewHolderSpec_(const std::shared_ptr<HybridViewHolderSpec>& strong) noexcept { return strong; }
367
+
368
+ } // namespace margelo::nitro::reactnativelist::bridge::swift
@@ -0,0 +1,92 @@
1
+ ///
2
+ /// ReactNativeList-Swift-Cxx-Umbrella.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ // Forward declarations of C++ defined types
11
+ // Forward declaration of `HybridIOSWorkletsModuleProxyHolderSpec` to properly resolve imports.
12
+ namespace margelo::nitro::reactnativelist { class HybridIOSWorkletsModuleProxyHolderSpec; }
13
+ // Forward declaration of `HybridNativeLinearListLayoutSpec` to properly resolve imports.
14
+ namespace margelo::nitro::reactnativelist { class HybridNativeLinearListLayoutSpec; }
15
+ // Forward declaration of `HybridNativeListDataSourceSpec` to properly resolve imports.
16
+ namespace margelo::nitro::reactnativelist { class HybridNativeListDataSourceSpec; }
17
+ // Forward declaration of `HybridNativeListLayoutSpec` to properly resolve imports.
18
+ namespace margelo::nitro::reactnativelist { class HybridNativeListLayoutSpec; }
19
+ // Forward declaration of `HybridUiListModuleSpec` to properly resolve imports.
20
+ namespace margelo::nitro::reactnativelist { class HybridUiListModuleSpec; }
21
+ // Forward declaration of `HybridUiListViewSpec` to properly resolve imports.
22
+ namespace margelo::nitro::reactnativelist { class HybridUiListViewSpec; }
23
+ // Forward declaration of `HybridViewHolderSpec` to properly resolve imports.
24
+ namespace margelo::nitro::reactnativelist { class HybridViewHolderSpec; }
25
+ // Forward declaration of `NativeItemSizeEstimate` to properly resolve imports.
26
+ namespace margelo::nitro::reactnativelist { struct NativeItemSizeEstimate; }
27
+ // Forward declaration of `NativeLinearListLayoutConfig` to properly resolve imports.
28
+ namespace margelo::nitro::reactnativelist { struct NativeLinearListLayoutConfig; }
29
+ // Forward declaration of `NativeLinearListLayoutIOSConfig` to properly resolve imports.
30
+ namespace margelo::nitro::reactnativelist { struct NativeLinearListLayoutIOSConfig; }
31
+ // Forward declaration of `NativeListItem` to properly resolve imports.
32
+ namespace margelo::nitro::reactnativelist { struct NativeListItem; }
33
+
34
+ // Include C++ defined types
35
+ #include "HybridIOSWorkletsModuleProxyHolderSpec.hpp"
36
+ #include "HybridNativeLinearListLayoutSpec.hpp"
37
+ #include "HybridNativeListDataSourceSpec.hpp"
38
+ #include "HybridNativeListLayoutSpec.hpp"
39
+ #include "HybridUiListModuleSpec.hpp"
40
+ #include "HybridUiListViewSpec.hpp"
41
+ #include "HybridViewHolderSpec.hpp"
42
+ #include "NativeItemSizeEstimate.hpp"
43
+ #include "NativeLinearListLayoutConfig.hpp"
44
+ #include "NativeLinearListLayoutIOSConfig.hpp"
45
+ #include "NativeListItem.hpp"
46
+ #include <NitroModules/AnyMap.hpp>
47
+ #include <NitroModules/Null.hpp>
48
+ #include <NitroModules/Result.hpp>
49
+ #include <exception>
50
+ #include <functional>
51
+ #include <memory>
52
+ #include <optional>
53
+ #include <string>
54
+ #include <variant>
55
+ #include <vector>
56
+
57
+ // C++ helpers for Swift
58
+ #include "ReactNativeList-Swift-Cxx-Bridge.hpp"
59
+
60
+ // Common C++ types used in Swift
61
+ #include <NitroModules/ArrayBufferHolder.hpp>
62
+ #include <NitroModules/AnyMapUtils.hpp>
63
+ #include <NitroModules/RuntimeError.hpp>
64
+ #include <NitroModules/DateToChronoDate.hpp>
65
+
66
+ // Forward declarations of Swift defined types
67
+ // Forward declaration of `HybridIOSWorkletsModuleProxyHolderSpec_cxx` to properly resolve imports.
68
+ namespace ReactNativeList { class HybridIOSWorkletsModuleProxyHolderSpec_cxx; }
69
+ // Forward declaration of `HybridNativeLinearListLayoutSpec_cxx` to properly resolve imports.
70
+ namespace ReactNativeList { class HybridNativeLinearListLayoutSpec_cxx; }
71
+ // Forward declaration of `HybridNativeListDataSourceSpec_cxx` to properly resolve imports.
72
+ namespace ReactNativeList { class HybridNativeListDataSourceSpec_cxx; }
73
+ // Forward declaration of `HybridNativeListLayoutSpec_cxx` to properly resolve imports.
74
+ namespace ReactNativeList { class HybridNativeListLayoutSpec_cxx; }
75
+ // Forward declaration of `HybridUiListModuleSpec_cxx` to properly resolve imports.
76
+ namespace ReactNativeList { class HybridUiListModuleSpec_cxx; }
77
+ // Forward declaration of `HybridUiListViewSpec_cxx` to properly resolve imports.
78
+ namespace ReactNativeList { class HybridUiListViewSpec_cxx; }
79
+ // Forward declaration of `HybridViewHolderSpec_cxx` to properly resolve imports.
80
+ namespace ReactNativeList { class HybridViewHolderSpec_cxx; }
81
+
82
+ // Include Swift defined types
83
+ #if __has_include("ReactNativeList-Swift.h")
84
+ // This header is generated by Xcode/Swift on every app build.
85
+ // If it cannot be found, make sure the Swift module's name (= podspec name) is actually "ReactNativeList".
86
+ #include "ReactNativeList-Swift.h"
87
+ // Same as above, but used when building with frameworks (`use_frameworks`)
88
+ #elif __has_include(<ReactNativeList/ReactNativeList-Swift.h>)
89
+ #include <ReactNativeList/ReactNativeList-Swift.h>
90
+ #else
91
+ #error ReactNativeList's autogenerated Swift header cannot be found! Make sure the Swift module's name (= podspec name) is actually "ReactNativeList", and try building the app first.
92
+ #endif
@@ -0,0 +1,83 @@
1
+ ///
2
+ /// ReactNativeListAutolinking.mm
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import <NitroModules/HybridObjectRegistry.hpp>
10
+ #import "ReactNativeList-Swift-Cxx-Umbrella.hpp"
11
+ #import <type_traits>
12
+
13
+ #include "HybridViewHolderSpecSwift.hpp"
14
+ #include "HybridUiListViewSpecSwift.hpp"
15
+ #include "HybridNativeListDataSourceSpecSwift.hpp"
16
+ #include "HybridNativeListLayoutSpecSwift.hpp"
17
+ #include "HybridNativeLinearListLayoutSpecSwift.hpp"
18
+ #include "HybridUiListModuleSpecSwift.hpp"
19
+ #include "HybridUiManagerHelper.hpp"
20
+
21
+ @interface ReactNativeListAutolinking : NSObject
22
+ @end
23
+
24
+ @implementation ReactNativeListAutolinking
25
+
26
+ + (void) load {
27
+ using namespace margelo::nitro;
28
+ using namespace margelo::nitro::reactnativelist;
29
+
30
+ HybridObjectRegistry::registerHybridObjectConstructor(
31
+ "ViewHolder",
32
+ []() -> std::shared_ptr<HybridObject> {
33
+ std::shared_ptr<HybridViewHolderSpec> hybridObject = ReactNativeList::ReactNativeListAutolinking::createViewHolder();
34
+ return hybridObject;
35
+ }
36
+ );
37
+ HybridObjectRegistry::registerHybridObjectConstructor(
38
+ "UiListView",
39
+ []() -> std::shared_ptr<HybridObject> {
40
+ std::shared_ptr<HybridUiListViewSpec> hybridObject = ReactNativeList::ReactNativeListAutolinking::createUiListView();
41
+ return hybridObject;
42
+ }
43
+ );
44
+ HybridObjectRegistry::registerHybridObjectConstructor(
45
+ "NativeListDataSource",
46
+ []() -> std::shared_ptr<HybridObject> {
47
+ std::shared_ptr<HybridNativeListDataSourceSpec> hybridObject = ReactNativeList::ReactNativeListAutolinking::createNativeListDataSource();
48
+ return hybridObject;
49
+ }
50
+ );
51
+ HybridObjectRegistry::registerHybridObjectConstructor(
52
+ "NativeListLayout",
53
+ []() -> std::shared_ptr<HybridObject> {
54
+ std::shared_ptr<HybridNativeListLayoutSpec> hybridObject = ReactNativeList::ReactNativeListAutolinking::createNativeListLayout();
55
+ return hybridObject;
56
+ }
57
+ );
58
+ HybridObjectRegistry::registerHybridObjectConstructor(
59
+ "NativeLinearListLayout",
60
+ []() -> std::shared_ptr<HybridObject> {
61
+ std::shared_ptr<HybridNativeLinearListLayoutSpec> hybridObject = ReactNativeList::ReactNativeListAutolinking::createNativeLinearListLayout();
62
+ return hybridObject;
63
+ }
64
+ );
65
+ HybridObjectRegistry::registerHybridObjectConstructor(
66
+ "UiListModule",
67
+ []() -> std::shared_ptr<HybridObject> {
68
+ std::shared_ptr<HybridUiListModuleSpec> hybridObject = ReactNativeList::ReactNativeListAutolinking::createUiListModule();
69
+ return hybridObject;
70
+ }
71
+ );
72
+ HybridObjectRegistry::registerHybridObjectConstructor(
73
+ "UiManagerHelper",
74
+ []() -> std::shared_ptr<HybridObject> {
75
+ static_assert(std::is_default_constructible_v<HybridUiManagerHelper>,
76
+ "The HybridObject \"HybridUiManagerHelper\" is not default-constructible! "
77
+ "Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
78
+ return std::make_shared<HybridUiManagerHelper>();
79
+ }
80
+ );
81
+ }
82
+
83
+ @end
@@ -0,0 +1,86 @@
1
+ ///
2
+ /// ReactNativeListAutolinking.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ // TODO: Use empty enums once Swift supports exporting them as namespaces
11
+ // See: https://github.com/swiftlang/swift/pull/83616
12
+ public final class ReactNativeListAutolinking {
13
+ public typealias bridge = margelo.nitro.reactnativelist.bridge.swift
14
+
15
+ public static func createViewHolder() -> bridge.std__shared_ptr_HybridViewHolderSpec_ {
16
+ let hybridObject = HybridViewHolder()
17
+ return { () -> bridge.std__shared_ptr_HybridViewHolderSpec_ in
18
+ let __cxxWrapped = hybridObject.getCxxWrapper()
19
+ return __cxxWrapped.getCxxPart()
20
+ }()
21
+ }
22
+
23
+ public static func isViewHolderRecyclable() -> Bool {
24
+ return HybridViewHolder.self is any RecyclableView.Type
25
+ }
26
+
27
+ public static func createUiListView() -> bridge.std__shared_ptr_HybridUiListViewSpec_ {
28
+ let hybridObject = HybridUiListView()
29
+ return { () -> bridge.std__shared_ptr_HybridUiListViewSpec_ in
30
+ let __cxxWrapped = hybridObject.getCxxWrapper()
31
+ return __cxxWrapped.getCxxPart()
32
+ }()
33
+ }
34
+
35
+ public static func isUiListViewRecyclable() -> Bool {
36
+ return HybridUiListView.self is any RecyclableView.Type
37
+ }
38
+
39
+ public static func createNativeListDataSource() -> bridge.std__shared_ptr_HybridNativeListDataSourceSpec_ {
40
+ let hybridObject = HybridNativeListDataSource()
41
+ return { () -> bridge.std__shared_ptr_HybridNativeListDataSourceSpec_ in
42
+ let __cxxWrapped = hybridObject.getCxxWrapper()
43
+ return __cxxWrapped.getCxxPart()
44
+ }()
45
+ }
46
+
47
+ public static func isNativeListDataSourceRecyclable() -> Bool {
48
+ return HybridNativeListDataSource.self is any RecyclableView.Type
49
+ }
50
+
51
+ public static func createNativeListLayout() -> bridge.std__shared_ptr_HybridNativeListLayoutSpec_ {
52
+ let hybridObject = HybridNativeListLayout()
53
+ return { () -> bridge.std__shared_ptr_HybridNativeListLayoutSpec_ in
54
+ let __cxxWrapped = hybridObject.getCxxWrapper()
55
+ return __cxxWrapped.getCxxPart()
56
+ }()
57
+ }
58
+
59
+ public static func isNativeListLayoutRecyclable() -> Bool {
60
+ return HybridNativeListLayout.self is any RecyclableView.Type
61
+ }
62
+
63
+ public static func createNativeLinearListLayout() -> bridge.std__shared_ptr_HybridNativeLinearListLayoutSpec_ {
64
+ let hybridObject = HybridNativeLinearListLayout()
65
+ return { () -> bridge.std__shared_ptr_HybridNativeLinearListLayoutSpec_ in
66
+ let __cxxWrapped = hybridObject.getCxxWrapper()
67
+ return __cxxWrapped.getCxxPart()
68
+ }()
69
+ }
70
+
71
+ public static func isNativeLinearListLayoutRecyclable() -> Bool {
72
+ return HybridNativeLinearListLayout.self is any RecyclableView.Type
73
+ }
74
+
75
+ public static func createUiListModule() -> bridge.std__shared_ptr_HybridUiListModuleSpec_ {
76
+ let hybridObject = HybridUiListModule()
77
+ return { () -> bridge.std__shared_ptr_HybridUiListModuleSpec_ in
78
+ let __cxxWrapped = hybridObject.getCxxWrapper()
79
+ return __cxxWrapped.getCxxPart()
80
+ }()
81
+ }
82
+
83
+ public static func isUiListModuleRecyclable() -> Bool {
84
+ return HybridUiListModule.self is any RecyclableView.Type
85
+ }
86
+ }
@@ -0,0 +1,11 @@
1
+ ///
2
+ /// HybridIOSWorkletsModuleProxyHolderSpecSwift.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "HybridIOSWorkletsModuleProxyHolderSpecSwift.hpp"
9
+
10
+ namespace margelo::nitro::reactnativelist {
11
+ } // namespace margelo::nitro::reactnativelist