react-native-list 1.0.1 → 2.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +186 -32
- package/ReactNativeList.podspec +39 -0
- package/android/CMakeLists.txt +48 -0
- package/android/build.gradle +151 -0
- package/android/fix-prefab.gradle +51 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/cpp/JHybridUiListModule.cpp +192 -0
- package/android/src/main/cpp/JHybridUiListModule.h +50 -0
- package/android/src/main/cpp/cpp-adapter.cpp +12 -0
- package/android/src/main/java/com/hannojg/reactnativelist/ReactNativeListPackage.kt +27 -0
- package/android/src/main/java/com/margelo/nitro/reactnativelist/HybridNativeListDataSource.kt +146 -0
- package/android/src/main/java/com/margelo/nitro/reactnativelist/HybridNativeListLayout.kt +86 -0
- package/android/src/main/java/com/margelo/nitro/reactnativelist/HybridUiListModule.kt +116 -0
- package/android/src/main/java/com/margelo/nitro/reactnativelist/HybridUiListView.kt +410 -0
- package/android/src/main/java/com/margelo/nitro/reactnativelist/HybridViewHolder.kt +9 -0
- package/android/src/main/java/com/margelo/nitro/reactnativelist/NativeListAdapter.kt +217 -0
- package/ios/DataSource/HybridNativeListDataSource.swift +213 -0
- package/ios/HybridObjects/HybridUiListModule.swift +49 -0
- package/ios/HybridObjects/HybridViewHolder.swift +16 -0
- package/ios/Layout/HybridNativeListLayout.swift +128 -0
- package/ios/Utils/ErrorUtils.h +26 -0
- package/ios/Utils/HybridIOSWorkletsModuleProxyHolder.swift +10 -0
- package/ios/Utils/SurfaceHelper.h +20 -0
- package/ios/Utils/SurfaceHelper.mm +144 -0
- package/ios/Utils/SurfacePresenterRegistry.h +17 -0
- package/ios/Utils/SurfacePresenterRegistry.m +31 -0
- package/ios/Utils/TurboModuleInstaller.h +18 -0
- package/ios/Utils/TurboModuleInstaller.mm +267 -0
- package/ios/Views/HostCell.swift +216 -0
- package/ios/Views/HybridUiListView.swift +695 -0
- package/lib/ReactFabricMirror.d.ts +4 -0
- package/lib/ReactFabricMirror.js +515 -0
- package/lib/UiListModule.d.ts +2 -0
- package/lib/UiListModule.js +2 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.js +21 -0
- package/lib/privateGlobals.d.ts +14 -0
- package/lib/privateGlobals.js +2 -0
- package/lib/renderer/RenderHelper.d.ts +2 -0
- package/lib/renderer/RenderHelper.js +11 -0
- package/lib/renderer/UiManagerHelper.d.ts +2 -0
- package/lib/renderer/UiManagerHelper.js +2 -0
- package/lib/renderer/fabric/RenderHelper.d.ts +2 -0
- package/lib/renderer/fabric/RenderHelper.js +11 -0
- package/lib/renderer/fabric/UiManagerHelper.d.ts +2 -0
- package/lib/renderer/fabric/UiManagerHelper.js +2 -0
- package/lib/renderer/react/ReactFabricMirror.d.ts +4 -0
- package/lib/renderer/react/ReactFabricMirror.js +515 -0
- package/lib/renderer/react/ReactFabricRenderer.d.ts +3 -0
- package/lib/renderer/react/ReactFabricRenderer.js +9 -0
- package/lib/specs/IOSWorkletsModuleProxyHolder.nitro.d.ts +6 -0
- package/lib/specs/IOSWorkletsModuleProxyHolder.nitro.js +1 -0
- package/lib/specs/UIListModule.nitro.d.ts +9 -0
- package/lib/specs/UIListModule.nitro.js +1 -0
- package/lib/specs/UIManagerHelper.nitro.d.ts +13 -0
- package/lib/specs/UIManagerHelper.nitro.js +1 -0
- package/lib/specs/UiListView.nitro.d.ts +20 -0
- package/lib/specs/UiListView.nitro.js +1 -0
- package/lib/specs/ViewHolder.nitro.d.ts +6 -0
- package/lib/specs/ViewHolder.nitro.js +1 -0
- package/lib/views/List.d.ts +35 -0
- package/lib/views/List.js +225 -0
- package/lib/views/UiListHostComponent.d.ts +2 -0
- package/lib/views/UiListHostComponent.js +3 -0
- package/metro/RendererProxyThreadSwitch.js +66 -0
- package/metro-config.d.ts +1 -0
- package/metro-config.js +124 -0
- package/nitro.json +47 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/ReactNativeList+autolinking.cmake +99 -0
- package/nitrogen/generated/android/ReactNativeList+autolinking.gradle +27 -0
- package/nitrogen/generated/android/ReactNativeListOnLoad.cpp +156 -0
- package/nitrogen/generated/android/ReactNativeListOnLoad.hpp +34 -0
- package/nitrogen/generated/android/c++/JFunc_bool_NativeListItem_NativeListItem.hpp +83 -0
- package/nitrogen/generated/android/c++/JFunc_bool_double_NativeListItem_double.hpp +83 -0
- package/nitrogen/generated/android/c++/JFunc_double_std__string.hpp +78 -0
- package/nitrogen/generated/android/c++/JHybridIOSWorkletsModuleProxyHolderSpec.cpp +49 -0
- package/nitrogen/generated/android/c++/JHybridIOSWorkletsModuleProxyHolderSpec.hpp +63 -0
- package/nitrogen/generated/android/c++/JHybridNativeLinearListLayoutSpec.cpp +63 -0
- package/nitrogen/generated/android/c++/JHybridNativeLinearListLayoutSpec.hpp +65 -0
- package/nitrogen/generated/android/c++/JHybridNativeListDataSourceSpec.cpp +101 -0
- package/nitrogen/generated/android/c++/JHybridNativeListDataSourceSpec.hpp +70 -0
- package/nitrogen/generated/android/c++/JHybridNativeListLayoutSpec.cpp +49 -0
- package/nitrogen/generated/android/c++/JHybridNativeListLayoutSpec.hpp +63 -0
- package/nitrogen/generated/android/c++/JHybridUiListModuleSpec.cpp +65 -0
- package/nitrogen/generated/android/c++/JHybridUiListModuleSpec.hpp +64 -0
- package/nitrogen/generated/android/c++/JHybridUiListViewSpec.cpp +92 -0
- package/nitrogen/generated/android/c++/JHybridUiListViewSpec.hpp +67 -0
- package/nitrogen/generated/android/c++/JHybridViewHolderSpec.cpp +49 -0
- package/nitrogen/generated/android/c++/JHybridViewHolderSpec.hpp +63 -0
- package/nitrogen/generated/android/c++/JNativeItemSizeEstimate.hpp +61 -0
- package/nitrogen/generated/android/c++/JNativeLinearListLayoutConfig.hpp +81 -0
- package/nitrogen/generated/android/c++/JNativeLinearListLayoutIOSConfig.hpp +59 -0
- package/nitrogen/generated/android/c++/JNativeListItem.hpp +76 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_HybridIOSWorkletsModuleProxyHolderSpec.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_HybridIOSWorkletsModuleProxyHolderSpec.hpp +72 -0
- package/nitrogen/generated/android/c++/views/JHybridUiListViewStateUpdater.cpp +53 -0
- package/nitrogen/generated/android/c++/views/JHybridUiListViewStateUpdater.hpp +49 -0
- package/nitrogen/generated/android/c++/views/JHybridViewHolderStateUpdater.cpp +53 -0
- package/nitrogen/generated/android/c++/views/JHybridViewHolderStateUpdater.hpp +49 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/Func_bool_NativeListItem_NativeListItem.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/Func_bool_double_NativeListItem_double.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/Func_double_std__string.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridIOSWorkletsModuleProxyHolderSpec.kt +52 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridNativeLinearListLayoutSpec.kt +54 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridNativeListDataSourceSpec.kt +87 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridNativeListLayoutSpec.kt +52 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridUiListModuleSpec.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridUiListViewSpec.kt +76 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/HybridViewHolderSpec.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/NativeItemSizeEstimate.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/NativeLinearListLayoutConfig.kt +76 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/NativeLinearListLayoutIOSConfig.kt +51 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/NativeListItem.kt +71 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/ReactNativeListOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/Variant_NullType_HybridIOSWorkletsModuleProxyHolderSpec.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/views/HybridUiListViewManager.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/views/HybridUiListViewStateUpdater.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/views/HybridViewHolderManager.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativelist/views/HybridViewHolderStateUpdater.kt +23 -0
- package/nitrogen/generated/ios/ReactNativeList+autolinking.rb +62 -0
- package/nitrogen/generated/ios/ReactNativeList-Swift-Cxx-Bridge.cpp +162 -0
- package/nitrogen/generated/ios/ReactNativeList-Swift-Cxx-Bridge.hpp +368 -0
- package/nitrogen/generated/ios/ReactNativeList-Swift-Cxx-Umbrella.hpp +92 -0
- package/nitrogen/generated/ios/ReactNativeListAutolinking.mm +83 -0
- package/nitrogen/generated/ios/ReactNativeListAutolinking.swift +86 -0
- package/nitrogen/generated/ios/c++/HybridIOSWorkletsModuleProxyHolderSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridIOSWorkletsModuleProxyHolderSpecSwift.hpp +75 -0
- package/nitrogen/generated/ios/c++/HybridNativeLinearListLayoutSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridNativeLinearListLayoutSpecSwift.hpp +92 -0
- package/nitrogen/generated/ios/c++/HybridNativeListDataSourceSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridNativeListDataSourceSpecSwift.hpp +132 -0
- package/nitrogen/generated/ios/c++/HybridNativeListLayoutSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridNativeListLayoutSpecSwift.hpp +75 -0
- package/nitrogen/generated/ios/c++/HybridUiListModuleSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridUiListModuleSpecSwift.hpp +93 -0
- package/nitrogen/generated/ios/c++/HybridUiListViewSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridUiListViewSpecSwift.hpp +121 -0
- package/nitrogen/generated/ios/c++/HybridViewHolderSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridViewHolderSpecSwift.hpp +75 -0
- package/nitrogen/generated/ios/c++/views/HybridUiListViewComponent.mm +118 -0
- package/nitrogen/generated/ios/c++/views/HybridViewHolderComponent.mm +118 -0
- package/nitrogen/generated/ios/swift/Func_bool_NativeListItem_NativeListItem.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_bool_double_NativeListItem_double.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_double_std__string.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridIOSWorkletsModuleProxyHolderSpec.swift +55 -0
- package/nitrogen/generated/ios/swift/HybridIOSWorkletsModuleProxyHolderSpec_cxx.swift +128 -0
- package/nitrogen/generated/ios/swift/HybridNativeLinearListLayoutSpec.swift +55 -0
- package/nitrogen/generated/ios/swift/HybridNativeLinearListLayoutSpec_cxx.swift +140 -0
- package/nitrogen/generated/ios/swift/HybridNativeListDataSourceSpec.swift +62 -0
- package/nitrogen/generated/ios/swift/HybridNativeListDataSourceSpec_cxx.swift +222 -0
- package/nitrogen/generated/ios/swift/HybridNativeListLayoutSpec.swift +55 -0
- package/nitrogen/generated/ios/swift/HybridNativeListLayoutSpec_cxx.swift +128 -0
- package/nitrogen/generated/ios/swift/HybridUiListModuleSpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridUiListModuleSpec_cxx.swift +175 -0
- package/nitrogen/generated/ios/swift/HybridUiListViewSpec.swift +59 -0
- package/nitrogen/generated/ios/swift/HybridUiListViewSpec_cxx.swift +227 -0
- package/nitrogen/generated/ios/swift/HybridViewHolderSpec.swift +55 -0
- package/nitrogen/generated/ios/swift/HybridViewHolderSpec_cxx.swift +147 -0
- package/nitrogen/generated/ios/swift/NativeItemSizeEstimate.swift +60 -0
- package/nitrogen/generated/ios/swift/NativeLinearListLayoutConfig.swift +60 -0
- package/nitrogen/generated/ios/swift/NativeLinearListLayoutIOSConfig.swift +35 -0
- package/nitrogen/generated/ios/swift/NativeListItem.swift +75 -0
- package/nitrogen/generated/ios/swift/Variant_NullType__any_HybridIOSWorkletsModuleProxyHolderSpec_.swift +30 -0
- package/nitrogen/generated/shared/c++/HybridIOSWorkletsModuleProxyHolderSpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridIOSWorkletsModuleProxyHolderSpec.hpp +62 -0
- package/nitrogen/generated/shared/c++/HybridNativeLinearListLayoutSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridNativeLinearListLayoutSpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridNativeListDataSourceSpec.cpp +28 -0
- package/nitrogen/generated/shared/c++/HybridNativeListDataSourceSpec.hpp +72 -0
- package/nitrogen/generated/shared/c++/HybridNativeListLayoutSpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridNativeListLayoutSpec.hpp +62 -0
- package/nitrogen/generated/shared/c++/HybridUiListModuleSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridUiListModuleSpec.hpp +68 -0
- package/nitrogen/generated/shared/c++/HybridUiListViewSpec.cpp +25 -0
- package/nitrogen/generated/shared/c++/HybridUiListViewSpec.hpp +79 -0
- package/nitrogen/generated/shared/c++/HybridUiManagerHelperSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridUiManagerHelperSpec.hpp +65 -0
- package/nitrogen/generated/shared/c++/HybridViewHolderSpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridViewHolderSpec.hpp +62 -0
- package/nitrogen/generated/shared/c++/NativeItemSizeEstimate.hpp +87 -0
- package/nitrogen/generated/shared/c++/NativeLinearListLayoutConfig.hpp +105 -0
- package/nitrogen/generated/shared/c++/NativeLinearListLayoutIOSConfig.hpp +85 -0
- package/nitrogen/generated/shared/c++/NativeListItem.hpp +101 -0
- package/nitrogen/generated/shared/c++/views/HybridUiListViewComponent.cpp +72 -0
- package/nitrogen/generated/shared/c++/views/HybridUiListViewComponent.hpp +109 -0
- package/nitrogen/generated/shared/c++/views/HybridViewHolderComponent.cpp +72 -0
- package/nitrogen/generated/shared/c++/views/HybridViewHolderComponent.hpp +109 -0
- package/nitrogen/generated/shared/json/UiListViewConfig.json +9 -0
- package/nitrogen/generated/shared/json/ViewHolderConfig.json +9 -0
- package/package.json +152 -5
- package/react-native.config.js +16 -0
- package/src/ListDataSource.ts +232 -0
- package/src/ListLayout.ts +95 -0
- package/src/UiListModule.ts +5 -0
- package/src/hooks/useChangeEffect.ts +50 -0
- package/src/index.tsx +49 -0
- package/src/privateGlobals.ts +20 -0
- package/src/renderer/fabric/RenderHelper.ts +29 -0
- package/src/renderer/fabric/UiManagerHelper.ts +5 -0
- package/src/renderer/react/ReactFabricMirror.bundle.js +1984 -0
- package/src/renderer/react/ReactFabricMirror.ts +766 -0
- package/src/renderer/react/ReactFabricRenderer.ts +11 -0
- package/src/specs/IOSWorkletsModuleProxyHolder.nitro.ts +6 -0
- package/src/specs/NativeLinearListLayout.nitro.ts +23 -0
- package/src/specs/NativeListDataSource.nitro.ts +28 -0
- package/src/specs/NativeListLayout.nitro.ts +6 -0
- package/src/specs/UIListModule.nitro.ts +13 -0
- package/src/specs/UIManagerHelper.nitro.ts +34 -0
- package/src/specs/UiListView.nitro.ts +31 -0
- package/src/specs/ViewHolder.nitro.ts +11 -0
- package/src/views/List.tsx +525 -0
- package/src/views/UiListHostComponent.ts +8 -0
- package/FillRateHelper.js +0 -179
- package/FlatList.js +0 -494
- package/LICENSE.md +0 -31
- package/MetroListView.js +0 -166
- package/SectionList.js +0 -291
- package/ViewabilityHelper.js +0 -260
- package/VirtualizeUtils.js +0 -163
- package/VirtualizedList.js +0 -861
- package/VirtualizedSectionList.js +0 -397
- package/index.js +0 -5
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// ReactNativeListOnLoad.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
|
+
#ifndef BUILDING_REACTNATIVELIST_WITH_GENERATED_CMAKE_PROJECT
|
|
9
|
+
#error ReactNativeListOnLoad.cpp is not being built with the autogenerated CMakeLists.txt project. Is a different CMakeLists.txt building this?
|
|
10
|
+
#endif
|
|
11
|
+
|
|
12
|
+
#include "ReactNativeListOnLoad.hpp"
|
|
13
|
+
|
|
14
|
+
#include <jni.h>
|
|
15
|
+
#include <fbjni/fbjni.h>
|
|
16
|
+
#include <NitroModules/HybridObjectRegistry.hpp>
|
|
17
|
+
|
|
18
|
+
#include "JHybridIOSWorkletsModuleProxyHolderSpec.hpp"
|
|
19
|
+
#include "JHybridNativeLinearListLayoutSpec.hpp"
|
|
20
|
+
#include "JHybridNativeListDataSourceSpec.hpp"
|
|
21
|
+
#include "JFunc_bool_NativeListItem_NativeListItem.hpp"
|
|
22
|
+
#include "JHybridNativeListLayoutSpec.hpp"
|
|
23
|
+
#include "JHybridUiListModuleSpec.hpp"
|
|
24
|
+
#include "JHybridUiListViewSpec.hpp"
|
|
25
|
+
#include "JFunc_double_std__string.hpp"
|
|
26
|
+
#include "JFunc_bool_double_NativeListItem_double.hpp"
|
|
27
|
+
#include "views/JHybridUiListViewStateUpdater.hpp"
|
|
28
|
+
#include "JHybridViewHolderSpec.hpp"
|
|
29
|
+
#include "views/JHybridViewHolderStateUpdater.hpp"
|
|
30
|
+
#include <NitroModules/DefaultConstructableObject.hpp>
|
|
31
|
+
#include "HybridUiManagerHelper.hpp"
|
|
32
|
+
|
|
33
|
+
namespace margelo::nitro::reactnativelist {
|
|
34
|
+
|
|
35
|
+
int initialize(JavaVM* vm) {
|
|
36
|
+
return facebook::jni::initialize(vm, []() {
|
|
37
|
+
::margelo::nitro::reactnativelist::registerAllNatives();
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
struct JHybridViewHolderSpecImpl: public jni::JavaClass<JHybridViewHolderSpecImpl, JHybridViewHolderSpec::JavaPart> {
|
|
42
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/HybridViewHolder;";
|
|
43
|
+
static std::shared_ptr<JHybridViewHolderSpec> create() {
|
|
44
|
+
static const auto constructorFn = javaClassStatic()->getConstructor<JHybridViewHolderSpecImpl::javaobject()>();
|
|
45
|
+
jni::local_ref<JHybridViewHolderSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
|
|
46
|
+
return javaPart->getJHybridViewHolderSpec();
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
struct JHybridUiListViewSpecImpl: public jni::JavaClass<JHybridUiListViewSpecImpl, JHybridUiListViewSpec::JavaPart> {
|
|
50
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/HybridUiListView;";
|
|
51
|
+
static std::shared_ptr<JHybridUiListViewSpec> create() {
|
|
52
|
+
static const auto constructorFn = javaClassStatic()->getConstructor<JHybridUiListViewSpecImpl::javaobject()>();
|
|
53
|
+
jni::local_ref<JHybridUiListViewSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
|
|
54
|
+
return javaPart->getJHybridUiListViewSpec();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
struct JHybridNativeListDataSourceSpecImpl: public jni::JavaClass<JHybridNativeListDataSourceSpecImpl, JHybridNativeListDataSourceSpec::JavaPart> {
|
|
58
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/HybridNativeListDataSource;";
|
|
59
|
+
static std::shared_ptr<JHybridNativeListDataSourceSpec> create() {
|
|
60
|
+
static const auto constructorFn = javaClassStatic()->getConstructor<JHybridNativeListDataSourceSpecImpl::javaobject()>();
|
|
61
|
+
jni::local_ref<JHybridNativeListDataSourceSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
|
|
62
|
+
return javaPart->getJHybridNativeListDataSourceSpec();
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
struct JHybridNativeListLayoutSpecImpl: public jni::JavaClass<JHybridNativeListLayoutSpecImpl, JHybridNativeListLayoutSpec::JavaPart> {
|
|
66
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/HybridNativeListLayout;";
|
|
67
|
+
static std::shared_ptr<JHybridNativeListLayoutSpec> create() {
|
|
68
|
+
static const auto constructorFn = javaClassStatic()->getConstructor<JHybridNativeListLayoutSpecImpl::javaobject()>();
|
|
69
|
+
jni::local_ref<JHybridNativeListLayoutSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
|
|
70
|
+
return javaPart->getJHybridNativeListLayoutSpec();
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
struct JHybridNativeLinearListLayoutSpecImpl: public jni::JavaClass<JHybridNativeLinearListLayoutSpecImpl, JHybridNativeLinearListLayoutSpec::JavaPart> {
|
|
74
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/HybridNativeLinearListLayout;";
|
|
75
|
+
static std::shared_ptr<JHybridNativeLinearListLayoutSpec> create() {
|
|
76
|
+
static const auto constructorFn = javaClassStatic()->getConstructor<JHybridNativeLinearListLayoutSpecImpl::javaobject()>();
|
|
77
|
+
jni::local_ref<JHybridNativeLinearListLayoutSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
|
|
78
|
+
return javaPart->getJHybridNativeLinearListLayoutSpec();
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
struct JHybridUiListModuleSpecImpl: public jni::JavaClass<JHybridUiListModuleSpecImpl, JHybridUiListModuleSpec::JavaPart> {
|
|
82
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/HybridUiListModule;";
|
|
83
|
+
static std::shared_ptr<JHybridUiListModuleSpec> create() {
|
|
84
|
+
static const auto constructorFn = javaClassStatic()->getConstructor<JHybridUiListModuleSpecImpl::javaobject()>();
|
|
85
|
+
jni::local_ref<JHybridUiListModuleSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
|
|
86
|
+
return javaPart->getJHybridUiListModuleSpec();
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
void registerAllNatives() {
|
|
91
|
+
using namespace margelo::nitro;
|
|
92
|
+
using namespace margelo::nitro::reactnativelist;
|
|
93
|
+
|
|
94
|
+
// Register native JNI methods
|
|
95
|
+
margelo::nitro::reactnativelist::JHybridIOSWorkletsModuleProxyHolderSpec::CxxPart::registerNatives();
|
|
96
|
+
margelo::nitro::reactnativelist::JHybridNativeLinearListLayoutSpec::CxxPart::registerNatives();
|
|
97
|
+
margelo::nitro::reactnativelist::JHybridNativeListDataSourceSpec::CxxPart::registerNatives();
|
|
98
|
+
margelo::nitro::reactnativelist::JFunc_bool_NativeListItem_NativeListItem_cxx::registerNatives();
|
|
99
|
+
margelo::nitro::reactnativelist::JHybridNativeListLayoutSpec::CxxPart::registerNatives();
|
|
100
|
+
margelo::nitro::reactnativelist::JHybridUiListModuleSpec::CxxPart::registerNatives();
|
|
101
|
+
margelo::nitro::reactnativelist::JHybridUiListViewSpec::CxxPart::registerNatives();
|
|
102
|
+
margelo::nitro::reactnativelist::JFunc_double_std__string_cxx::registerNatives();
|
|
103
|
+
margelo::nitro::reactnativelist::JFunc_bool_double_NativeListItem_double_cxx::registerNatives();
|
|
104
|
+
margelo::nitro::reactnativelist::views::JHybridUiListViewStateUpdater::registerNatives();
|
|
105
|
+
margelo::nitro::reactnativelist::JHybridViewHolderSpec::CxxPart::registerNatives();
|
|
106
|
+
margelo::nitro::reactnativelist::views::JHybridViewHolderStateUpdater::registerNatives();
|
|
107
|
+
|
|
108
|
+
// Register Nitro Hybrid Objects
|
|
109
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
110
|
+
"ViewHolder",
|
|
111
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
112
|
+
return JHybridViewHolderSpecImpl::create();
|
|
113
|
+
}
|
|
114
|
+
);
|
|
115
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
116
|
+
"UiListView",
|
|
117
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
118
|
+
return JHybridUiListViewSpecImpl::create();
|
|
119
|
+
}
|
|
120
|
+
);
|
|
121
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
122
|
+
"NativeListDataSource",
|
|
123
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
124
|
+
return JHybridNativeListDataSourceSpecImpl::create();
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
128
|
+
"NativeListLayout",
|
|
129
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
130
|
+
return JHybridNativeListLayoutSpecImpl::create();
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
134
|
+
"NativeLinearListLayout",
|
|
135
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
136
|
+
return JHybridNativeLinearListLayoutSpecImpl::create();
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
140
|
+
"UiListModule",
|
|
141
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
142
|
+
return JHybridUiListModuleSpecImpl::create();
|
|
143
|
+
}
|
|
144
|
+
);
|
|
145
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
146
|
+
"UiManagerHelper",
|
|
147
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
148
|
+
static_assert(std::is_default_constructible_v<HybridUiManagerHelper>,
|
|
149
|
+
"The HybridObject \"HybridUiManagerHelper\" is not default-constructible! "
|
|
150
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
151
|
+
return std::make_shared<HybridUiManagerHelper>();
|
|
152
|
+
}
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
} // namespace margelo::nitro::reactnativelist
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// ReactNativeListOnLoad.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
|
+
#include <jni.h>
|
|
9
|
+
#include <functional>
|
|
10
|
+
#include <NitroModules/NitroDefines.hpp>
|
|
11
|
+
|
|
12
|
+
namespace margelo::nitro::reactnativelist {
|
|
13
|
+
|
|
14
|
+
[[deprecated("Use registerNatives() instead.")]]
|
|
15
|
+
int initialize(JavaVM* vm);
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Register the native (C++) part of ReactNativeList, and autolinks all Hybrid Objects.
|
|
19
|
+
* Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`),
|
|
20
|
+
* inside a `facebook::jni::initialize(vm, ...)` call.
|
|
21
|
+
* Example:
|
|
22
|
+
* ```cpp (cpp-adapter.cpp)
|
|
23
|
+
* JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
|
|
24
|
+
* return facebook::jni::initialize(vm, []() {
|
|
25
|
+
* // register all ReactNativeList HybridObjects
|
|
26
|
+
* margelo::nitro::reactnativelist::registerNatives();
|
|
27
|
+
* // any other custom registrations go here.
|
|
28
|
+
* });
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
void registerAllNatives();
|
|
33
|
+
|
|
34
|
+
} // namespace margelo::nitro::reactnativelist
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JFunc_bool_NativeListItem_NativeListItem.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
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include <functional>
|
|
12
|
+
|
|
13
|
+
#include "NativeListItem.hpp"
|
|
14
|
+
#include <functional>
|
|
15
|
+
#include <NitroModules/JNICallable.hpp>
|
|
16
|
+
#include "JNativeListItem.hpp"
|
|
17
|
+
#include <string>
|
|
18
|
+
#include <optional>
|
|
19
|
+
#include <NitroModules/AnyMap.hpp>
|
|
20
|
+
#include <NitroModules/JAnyMap.hpp>
|
|
21
|
+
|
|
22
|
+
namespace margelo::nitro::reactnativelist {
|
|
23
|
+
|
|
24
|
+
using namespace facebook;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Represents the Java/Kotlin callback `(oldItem: NativeListItem, newItem: NativeListItem) -> Boolean`.
|
|
28
|
+
* This can be passed around between C++ and Java/Kotlin.
|
|
29
|
+
*/
|
|
30
|
+
struct JFunc_bool_NativeListItem_NativeListItem: public jni::JavaClass<JFunc_bool_NativeListItem_NativeListItem> {
|
|
31
|
+
public:
|
|
32
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/Func_bool_NativeListItem_NativeListItem;";
|
|
33
|
+
|
|
34
|
+
public:
|
|
35
|
+
/**
|
|
36
|
+
* Invokes the function this `JFunc_bool_NativeListItem_NativeListItem` instance holds through JNI.
|
|
37
|
+
*/
|
|
38
|
+
bool invoke(const NativeListItem& oldItem, const NativeListItem& newItem) const {
|
|
39
|
+
static const auto method = javaClassStatic()->getMethod<jboolean(jni::alias_ref<JNativeListItem> /* oldItem */, jni::alias_ref<JNativeListItem> /* newItem */)>("invoke");
|
|
40
|
+
auto __result = method(self(), JNativeListItem::fromCpp(oldItem), JNativeListItem::fromCpp(newItem));
|
|
41
|
+
return static_cast<bool>(__result);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* An implementation of Func_bool_NativeListItem_NativeListItem that is backed by a C++ implementation (using `std::function<...>`)
|
|
47
|
+
*/
|
|
48
|
+
class JFunc_bool_NativeListItem_NativeListItem_cxx final: public jni::HybridClass<JFunc_bool_NativeListItem_NativeListItem_cxx, JFunc_bool_NativeListItem_NativeListItem> {
|
|
49
|
+
public:
|
|
50
|
+
static jni::local_ref<JFunc_bool_NativeListItem_NativeListItem::javaobject> fromCpp(const std::function<bool(const NativeListItem& /* oldItem */, const NativeListItem& /* newItem */)>& func) {
|
|
51
|
+
return JFunc_bool_NativeListItem_NativeListItem_cxx::newObjectCxxArgs(func);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
/**
|
|
56
|
+
* Invokes the C++ `std::function<...>` this `JFunc_bool_NativeListItem_NativeListItem_cxx` instance holds.
|
|
57
|
+
*/
|
|
58
|
+
jboolean invoke_cxx(jni::alias_ref<JNativeListItem> oldItem, jni::alias_ref<JNativeListItem> newItem) {
|
|
59
|
+
bool __result = _func(oldItem->toCpp(), newItem->toCpp());
|
|
60
|
+
return __result;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
public:
|
|
64
|
+
[[nodiscard]]
|
|
65
|
+
inline const std::function<bool(const NativeListItem& /* oldItem */, const NativeListItem& /* newItem */)>& getFunction() const {
|
|
66
|
+
return _func;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public:
|
|
70
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/Func_bool_NativeListItem_NativeListItem_cxx;";
|
|
71
|
+
static void registerNatives() {
|
|
72
|
+
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_bool_NativeListItem_NativeListItem_cxx::invoke_cxx)});
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
private:
|
|
76
|
+
explicit JFunc_bool_NativeListItem_NativeListItem_cxx(const std::function<bool(const NativeListItem& /* oldItem */, const NativeListItem& /* newItem */)>& func): _func(func) { }
|
|
77
|
+
|
|
78
|
+
private:
|
|
79
|
+
friend HybridBase;
|
|
80
|
+
std::function<bool(const NativeListItem& /* oldItem */, const NativeListItem& /* newItem */)> _func;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
} // namespace margelo::nitro::reactnativelist
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JFunc_bool_double_NativeListItem_double.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
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include <functional>
|
|
12
|
+
|
|
13
|
+
#include "NativeListItem.hpp"
|
|
14
|
+
#include <functional>
|
|
15
|
+
#include <NitroModules/JNICallable.hpp>
|
|
16
|
+
#include "JNativeListItem.hpp"
|
|
17
|
+
#include <string>
|
|
18
|
+
#include <optional>
|
|
19
|
+
#include <NitroModules/AnyMap.hpp>
|
|
20
|
+
#include <NitroModules/JAnyMap.hpp>
|
|
21
|
+
|
|
22
|
+
namespace margelo::nitro::reactnativelist {
|
|
23
|
+
|
|
24
|
+
using namespace facebook;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Represents the Java/Kotlin callback `(reactTag: Double, item: NativeListItem, index: Double) -> Boolean`.
|
|
28
|
+
* This can be passed around between C++ and Java/Kotlin.
|
|
29
|
+
*/
|
|
30
|
+
struct JFunc_bool_double_NativeListItem_double: public jni::JavaClass<JFunc_bool_double_NativeListItem_double> {
|
|
31
|
+
public:
|
|
32
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/Func_bool_double_NativeListItem_double;";
|
|
33
|
+
|
|
34
|
+
public:
|
|
35
|
+
/**
|
|
36
|
+
* Invokes the function this `JFunc_bool_double_NativeListItem_double` instance holds through JNI.
|
|
37
|
+
*/
|
|
38
|
+
bool invoke(double reactTag, const NativeListItem& item, double index) const {
|
|
39
|
+
static const auto method = javaClassStatic()->getMethod<jboolean(double /* reactTag */, jni::alias_ref<JNativeListItem> /* item */, double /* index */)>("invoke");
|
|
40
|
+
auto __result = method(self(), reactTag, JNativeListItem::fromCpp(item), index);
|
|
41
|
+
return static_cast<bool>(__result);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* An implementation of Func_bool_double_NativeListItem_double that is backed by a C++ implementation (using `std::function<...>`)
|
|
47
|
+
*/
|
|
48
|
+
class JFunc_bool_double_NativeListItem_double_cxx final: public jni::HybridClass<JFunc_bool_double_NativeListItem_double_cxx, JFunc_bool_double_NativeListItem_double> {
|
|
49
|
+
public:
|
|
50
|
+
static jni::local_ref<JFunc_bool_double_NativeListItem_double::javaobject> fromCpp(const std::function<bool(double /* reactTag */, const NativeListItem& /* item */, double /* index */)>& func) {
|
|
51
|
+
return JFunc_bool_double_NativeListItem_double_cxx::newObjectCxxArgs(func);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
/**
|
|
56
|
+
* Invokes the C++ `std::function<...>` this `JFunc_bool_double_NativeListItem_double_cxx` instance holds.
|
|
57
|
+
*/
|
|
58
|
+
jboolean invoke_cxx(double reactTag, jni::alias_ref<JNativeListItem> item, double index) {
|
|
59
|
+
bool __result = _func(reactTag, item->toCpp(), index);
|
|
60
|
+
return __result;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
public:
|
|
64
|
+
[[nodiscard]]
|
|
65
|
+
inline const std::function<bool(double /* reactTag */, const NativeListItem& /* item */, double /* index */)>& getFunction() const {
|
|
66
|
+
return _func;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public:
|
|
70
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/Func_bool_double_NativeListItem_double_cxx;";
|
|
71
|
+
static void registerNatives() {
|
|
72
|
+
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_bool_double_NativeListItem_double_cxx::invoke_cxx)});
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
private:
|
|
76
|
+
explicit JFunc_bool_double_NativeListItem_double_cxx(const std::function<bool(double /* reactTag */, const NativeListItem& /* item */, double /* index */)>& func): _func(func) { }
|
|
77
|
+
|
|
78
|
+
private:
|
|
79
|
+
friend HybridBase;
|
|
80
|
+
std::function<bool(double /* reactTag */, const NativeListItem& /* item */, double /* index */)> _func;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
} // namespace margelo::nitro::reactnativelist
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JFunc_double_std__string.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
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include <functional>
|
|
12
|
+
|
|
13
|
+
#include <string>
|
|
14
|
+
#include <functional>
|
|
15
|
+
#include <NitroModules/JNICallable.hpp>
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::reactnativelist {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Represents the Java/Kotlin callback `(type: String) -> Double`.
|
|
23
|
+
* This can be passed around between C++ and Java/Kotlin.
|
|
24
|
+
*/
|
|
25
|
+
struct JFunc_double_std__string: public jni::JavaClass<JFunc_double_std__string> {
|
|
26
|
+
public:
|
|
27
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/Func_double_std__string;";
|
|
28
|
+
|
|
29
|
+
public:
|
|
30
|
+
/**
|
|
31
|
+
* Invokes the function this `JFunc_double_std__string` instance holds through JNI.
|
|
32
|
+
*/
|
|
33
|
+
double invoke(const std::string& type) const {
|
|
34
|
+
static const auto method = javaClassStatic()->getMethod<double(jni::alias_ref<jni::JString> /* type */)>("invoke");
|
|
35
|
+
auto __result = method(self(), jni::make_jstring(type));
|
|
36
|
+
return __result;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* An implementation of Func_double_std__string that is backed by a C++ implementation (using `std::function<...>`)
|
|
42
|
+
*/
|
|
43
|
+
class JFunc_double_std__string_cxx final: public jni::HybridClass<JFunc_double_std__string_cxx, JFunc_double_std__string> {
|
|
44
|
+
public:
|
|
45
|
+
static jni::local_ref<JFunc_double_std__string::javaobject> fromCpp(const std::function<double(const std::string& /* type */)>& func) {
|
|
46
|
+
return JFunc_double_std__string_cxx::newObjectCxxArgs(func);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
public:
|
|
50
|
+
/**
|
|
51
|
+
* Invokes the C++ `std::function<...>` this `JFunc_double_std__string_cxx` instance holds.
|
|
52
|
+
*/
|
|
53
|
+
double invoke_cxx(jni::alias_ref<jni::JString> type) {
|
|
54
|
+
double __result = _func(type->toStdString());
|
|
55
|
+
return __result;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
public:
|
|
59
|
+
[[nodiscard]]
|
|
60
|
+
inline const std::function<double(const std::string& /* type */)>& getFunction() const {
|
|
61
|
+
return _func;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
public:
|
|
65
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/Func_double_std__string_cxx;";
|
|
66
|
+
static void registerNatives() {
|
|
67
|
+
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_double_std__string_cxx::invoke_cxx)});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
private:
|
|
71
|
+
explicit JFunc_double_std__string_cxx(const std::function<double(const std::string& /* type */)>& func): _func(func) { }
|
|
72
|
+
|
|
73
|
+
private:
|
|
74
|
+
friend HybridBase;
|
|
75
|
+
std::function<double(const std::string& /* type */)> _func;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
} // namespace margelo::nitro::reactnativelist
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JHybridIOSWorkletsModuleProxyHolderSpec.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 "JHybridIOSWorkletsModuleProxyHolderSpec.hpp"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
namespace margelo::nitro::reactnativelist {
|
|
15
|
+
|
|
16
|
+
std::shared_ptr<JHybridIOSWorkletsModuleProxyHolderSpec> JHybridIOSWorkletsModuleProxyHolderSpec::JavaPart::getJHybridIOSWorkletsModuleProxyHolderSpec() {
|
|
17
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
18
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridIOSWorkletsModuleProxyHolderSpec>(hybridObject);
|
|
19
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
20
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridIOSWorkletsModuleProxyHolderSpec!");
|
|
21
|
+
}
|
|
22
|
+
return castHybridObject;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
jni::local_ref<JHybridIOSWorkletsModuleProxyHolderSpec::CxxPart::jhybriddata> JHybridIOSWorkletsModuleProxyHolderSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
26
|
+
return makeCxxInstance(jThis);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
std::shared_ptr<JHybridObject> JHybridIOSWorkletsModuleProxyHolderSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
30
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridIOSWorkletsModuleProxyHolderSpec::JavaPart>(javaPart);
|
|
31
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
32
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridIOSWorkletsModuleProxyHolderSpec::JavaPart!");
|
|
33
|
+
}
|
|
34
|
+
return std::make_shared<JHybridIOSWorkletsModuleProxyHolderSpec>(castJavaPart);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
void JHybridIOSWorkletsModuleProxyHolderSpec::CxxPart::registerNatives() {
|
|
38
|
+
registerHybrid({
|
|
39
|
+
makeNativeMethod("initHybrid", JHybridIOSWorkletsModuleProxyHolderSpec::CxxPart::initHybrid),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Properties
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
// Methods
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
} // namespace margelo::nitro::reactnativelist
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridIOSWorkletsModuleProxyHolderSpec.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
|
+
#include <NitroModules/JHybridObject.hpp>
|
|
11
|
+
#include <fbjni/fbjni.h>
|
|
12
|
+
#include "HybridIOSWorkletsModuleProxyHolderSpec.hpp"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::reactnativelist {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
class JHybridIOSWorkletsModuleProxyHolderSpec: public virtual HybridIOSWorkletsModuleProxyHolderSpec, public virtual JHybridObject {
|
|
22
|
+
public:
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/HybridIOSWorkletsModuleProxyHolderSpec;";
|
|
25
|
+
std::shared_ptr<JHybridIOSWorkletsModuleProxyHolderSpec> getJHybridIOSWorkletsModuleProxyHolderSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/reactnativelist/HybridIOSWorkletsModuleProxyHolderSpec$CxxPart;";
|
|
29
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
30
|
+
static void registerNatives();
|
|
31
|
+
using HybridBase::HybridBase;
|
|
32
|
+
protected:
|
|
33
|
+
std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
public:
|
|
37
|
+
explicit JHybridIOSWorkletsModuleProxyHolderSpec(const jni::local_ref<JHybridIOSWorkletsModuleProxyHolderSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridIOSWorkletsModuleProxyHolderSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
41
|
+
~JHybridIOSWorkletsModuleProxyHolderSpec() override {
|
|
42
|
+
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
43
|
+
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public:
|
|
47
|
+
inline const jni::global_ref<JHybridIOSWorkletsModuleProxyHolderSpec::JavaPart>& getJavaPart() const noexcept {
|
|
48
|
+
return _javaPart;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public:
|
|
52
|
+
// Properties
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
public:
|
|
56
|
+
// Methods
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
private:
|
|
60
|
+
jni::global_ref<JHybridIOSWorkletsModuleProxyHolderSpec::JavaPart> _javaPart;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
} // namespace margelo::nitro::reactnativelist
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JHybridNativeLinearListLayoutSpec.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 "JHybridNativeLinearListLayoutSpec.hpp"
|
|
9
|
+
|
|
10
|
+
// Forward declaration of `NativeLinearListLayoutConfig` to properly resolve imports.
|
|
11
|
+
namespace margelo::nitro::reactnativelist { struct NativeLinearListLayoutConfig; }
|
|
12
|
+
// Forward declaration of `NativeLinearListLayoutIOSConfig` to properly resolve imports.
|
|
13
|
+
namespace margelo::nitro::reactnativelist { struct NativeLinearListLayoutIOSConfig; }
|
|
14
|
+
// Forward declaration of `NativeItemSizeEstimate` to properly resolve imports.
|
|
15
|
+
namespace margelo::nitro::reactnativelist { struct NativeItemSizeEstimate; }
|
|
16
|
+
|
|
17
|
+
#include "NativeLinearListLayoutConfig.hpp"
|
|
18
|
+
#include "JNativeLinearListLayoutConfig.hpp"
|
|
19
|
+
#include "NativeLinearListLayoutIOSConfig.hpp"
|
|
20
|
+
#include <optional>
|
|
21
|
+
#include "JNativeLinearListLayoutIOSConfig.hpp"
|
|
22
|
+
#include "NativeItemSizeEstimate.hpp"
|
|
23
|
+
#include "JNativeItemSizeEstimate.hpp"
|
|
24
|
+
|
|
25
|
+
namespace margelo::nitro::reactnativelist {
|
|
26
|
+
|
|
27
|
+
std::shared_ptr<JHybridNativeLinearListLayoutSpec> JHybridNativeLinearListLayoutSpec::JavaPart::getJHybridNativeLinearListLayoutSpec() {
|
|
28
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
29
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridNativeLinearListLayoutSpec>(hybridObject);
|
|
30
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
31
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridNativeLinearListLayoutSpec!");
|
|
32
|
+
}
|
|
33
|
+
return castHybridObject;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
jni::local_ref<JHybridNativeLinearListLayoutSpec::CxxPart::jhybriddata> JHybridNativeLinearListLayoutSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
37
|
+
return makeCxxInstance(jThis);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
std::shared_ptr<JHybridObject> JHybridNativeLinearListLayoutSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
41
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridNativeLinearListLayoutSpec::JavaPart>(javaPart);
|
|
42
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
43
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridNativeLinearListLayoutSpec::JavaPart!");
|
|
44
|
+
}
|
|
45
|
+
return std::make_shared<JHybridNativeLinearListLayoutSpec>(castJavaPart);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
void JHybridNativeLinearListLayoutSpec::CxxPart::registerNatives() {
|
|
49
|
+
registerHybrid({
|
|
50
|
+
makeNativeMethod("initHybrid", JHybridNativeLinearListLayoutSpec::CxxPart::initHybrid),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Properties
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
// Methods
|
|
58
|
+
void JHybridNativeLinearListLayoutSpec::setConfig(const NativeLinearListLayoutConfig& config) {
|
|
59
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JNativeLinearListLayoutConfig> /* config */)>("setConfig");
|
|
60
|
+
method(_javaPart, JNativeLinearListLayoutConfig::fromCpp(config));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
} // namespace margelo::nitro::reactnativelist
|