1 #pragma once 2 3 #include <fbjni/fbjni.h> 4 #include <jsi/JSIDynamic.h> 5 #include <jsi/jsi.h> 6 #include <react/jni/CxxModuleWrapper.h> 7 #include <react/jni/JMessageQueueThread.h> 8 #include <react/jni/WritableNativeMap.h> 9 #include <string> 10 11 namespace reanimated { 12 13 using namespace facebook::jni; 14 using namespace facebook; 15 using namespace react; 16 17 struct JNIHelper { 18 struct PropsMap : jni::JavaClass<PropsMap, JMap<JString, JObject>> { 19 static constexpr auto kJavaDescriptor = "Ljava/util/HashMap;"; 20 21 static local_ref<PropsMap> create(); 22 void put(const std::string &key, jni::local_ref<JObject> object); 23 }; 24 25 static jni::local_ref<PropsMap> ConvertToPropsMap( 26 jsi::Runtime &rt, 27 const jsi::Object &props); 28 }; 29 30 }; // namespace reanimated 31