/* * 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("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 {}; 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