/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #pragma once #if __has_include("rncoreJSI.h") // Cmake headers on Android #include "rncoreJSI.h" #elif __has_include("FBReactNativeSpecJSI.h") // CocoaPod headers on Apple #include "FBReactNativeSpecJSI.h" #else #include #endif namespace facebook::react { using CallbackHandle = jsi::Object; using NativeRequestIdleCallbackOptions = NativeIdleCallbacksRequestIdleCallbackOptions>; template <> struct Bridging : NativeIdleCallbacksRequestIdleCallbackOptionsBridging< NativeRequestIdleCallbackOptions> {}; class NativeIdleCallbacks : public NativeIdleCallbacksCxxSpec { public: NativeIdleCallbacks(std::shared_ptr jsInvoker); CallbackHandle requestIdleCallback( jsi::Runtime& runtime, SyncCallback&& callback, std::optional options); void cancelIdleCallback(jsi::Runtime& runtime, jsi::Object handle); }; } // namespace facebook::react