1 #pragma once
2 
3 // JS_RUNTIME_HERMES is only set on Android so we have to check __has_include
4 // on iOS.
5 #if __APPLE__ &&    \
6     (__has_include( \
7         <reacthermes/HermesExecutorFactory.h>) || __has_include(<hermes/hermes.h>))
8 #define JS_RUNTIME_HERMES 1
9 #endif
10 
11 #include <cxxreact/MessageQueueThread.h>
12 #include <jsi/jsi.h>
13 
14 #include <memory>
15 
16 namespace reanimated {
17 
18 using namespace facebook;
19 using namespace react;
20 
21 class ReanimatedRuntime {
22  public:
23   static std::shared_ptr<jsi::Runtime> make(
24       jsi::Runtime *rnRuntime,
25       std::shared_ptr<MessageQueueThread> jsQueue);
26 };
27 
28 } // namespace reanimated
29