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