/** * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). * * Do not edit this file as changes may cause incorrect behavior and will be lost * once the code is regenerated. * * @generated by codegen project: GenerateModuleH.js */ #pragma once #include #include namespace facebook::react { class JSI_EXPORT NativeScreensModuleCxxSpecJSI : public TurboModule { protected: NativeScreensModuleCxxSpecJSI(std::shared_ptr jsInvoker); public: }; template class JSI_EXPORT NativeScreensModuleCxxSpec : public TurboModule { public: jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override { return delegate_.create(rt, propName); } std::vector getPropertyNames(jsi::Runtime& runtime) override { return delegate_.getPropertyNames(runtime); } static constexpr std::string_view kModuleName = "RNSModule"; protected: NativeScreensModuleCxxSpec(std::shared_ptr jsInvoker) : TurboModule(std::string{NativeScreensModuleCxxSpec::kModuleName}, jsInvoker), delegate_(reinterpret_cast(this), jsInvoker) {} private: class Delegate : public NativeScreensModuleCxxSpecJSI { public: Delegate(T *instance, std::shared_ptr jsInvoker) : NativeScreensModuleCxxSpecJSI(std::move(jsInvoker)), instance_(instance) { } private: friend class NativeScreensModuleCxxSpec; T *instance_; }; Delegate delegate_; }; } // namespace facebook::react