// Needed on Paper only to hide the files from Swift build process #if defined(__cplusplus) #include #include #define JSI_HOST_FUNCTION(NAME) \ jsi::Value NAME( \ jsi::Runtime &rt, \ const jsi::Value &thisValue, \ const jsi::Value *arguments, \ size_t count) using namespace facebook; namespace RNScreens { class RNScreensTurboModule : public jsi::HostObject { static std::function(int)> startTransition_; static std::function updateTransition_; static std::function finishTransition_; static std::function disableSwipeBackForTopScreen_; public: static const char MODULE_NAME[]; RNScreensTurboModule( std::function(int)> startTransition, std::function updateTransition, std::function finishTransition, std::function disableSwipeBackForTopScreen); ~RNScreensTurboModule() override; jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &name) override; void set(jsi::Runtime &, const jsi::PropNameID &, const jsi::Value &) override; std::vector getPropertyNames(jsi::Runtime &rt) override; static JSI_HOST_FUNCTION(startTransition); static JSI_HOST_FUNCTION(updateTransition); static JSI_HOST_FUNCTION(finishTransition); static JSI_HOST_FUNCTION(disableSwipeBackForTopScreen); }; } // namespace RNScreens #endif // __cplusplus