/// /// onLoadStartData.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © 2025 Marc Rousavy @ Margelo /// #pragma once #if __has_include() #include #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif #if __has_include() #include #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif #if __has_include() #include #else #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif // Forward declaration of `SourceType` to properly resolve imports. namespace margelo::nitro::video { enum class SourceType; } // Forward declaration of `HybridVideoPlayerSourceSpec` to properly resolve imports. namespace margelo::nitro::video { class HybridVideoPlayerSourceSpec; } #include "SourceType.hpp" #include #include "HybridVideoPlayerSourceSpec.hpp" namespace margelo::nitro::video { /** * A struct which can be represented as a JavaScript object (onLoadStartData). */ struct onLoadStartData { public: SourceType sourceType SWIFT_PRIVATE; std::shared_ptr source SWIFT_PRIVATE; public: onLoadStartData() = default; explicit onLoadStartData(SourceType sourceType, std::shared_ptr source): sourceType(sourceType), source(source) {} }; } // namespace margelo::nitro::video namespace margelo::nitro { // C++ onLoadStartData <> JS onLoadStartData (object) template <> struct JSIConverter final { static inline margelo::nitro::video::onLoadStartData fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { jsi::Object obj = arg.asObject(runtime); return margelo::nitro::video::onLoadStartData( JSIConverter::fromJSI(runtime, obj.getProperty(runtime, "sourceType")), JSIConverter>::fromJSI(runtime, obj.getProperty(runtime, "source")) ); } static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::video::onLoadStartData& arg) { jsi::Object obj(runtime); obj.setProperty(runtime, "sourceType", JSIConverter::toJSI(runtime, arg.sourceType)); obj.setProperty(runtime, "source", JSIConverter>::toJSI(runtime, arg.source)); return obj; } static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { if (!value.isObject()) { return false; } jsi::Object obj = value.getObject(runtime); if (!nitro::isPlainObject(runtime, obj)) { return false; } if (!JSIConverter::canConvert(runtime, obj.getProperty(runtime, "sourceType"))) return false; if (!JSIConverter>::canConvert(runtime, obj.getProperty(runtime, "source"))) return false; return true; } }; } // namespace margelo::nitro